|
Groovy 2.2.2 | |||||||
FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.groovy.transform.stc.StaticTypeCheckingSupport
public abstract class StaticTypeCheckingSupport extends Object
Static support methods for StaticTypeCheckingVisitor.
Field Summary | |
---|---|
protected static ClassNode |
ArrayList_TYPE
|
protected static ClassNode |
Collection_TYPE
|
protected static Comparator |
DGM_METHOD_NODE_COMPARATOR
This comparator is used when we return the list of methods from DGM which name correspond to a given name. |
protected static ClassNode |
Deprecated_TYPE
|
protected static StaticTypeCheckingSupport.ExtensionMethodCache |
EXTENSION_METHOD_CACHE
|
protected static ClassNode |
GSTRING_STRING_CLASSNODE
|
protected static ClassNode |
Matcher_TYPE
|
protected static Map |
NUMBER_TYPES
|
protected static ClassNode |
UNKNOWN_PARAMETER_TYPE
This is for internal use only. |
Method Summary | |
---|---|
static int
|
allParametersAndArgumentsMatch(Parameter[] params, ClassNode[] args)
Checks that arguments and parameter types match. |
static boolean
|
checkCompatibleAssignmentTypes(ClassNode left, ClassNode right)
Returns true or false depending on whether the right classnode can be assigned to the left classnode. |
static boolean
|
checkCompatibleAssignmentTypes(ClassNode left, ClassNode right, Expression rightExpression)
|
static boolean
|
checkCompatibleAssignmentTypes(ClassNode left, ClassNode right, Expression rightExpression, boolean allowConstructorCoercion)
|
static List
|
chooseBestMethod(ClassNode receiver, Collection methods, ClassNode... args)
|
static Set
|
collectAllInterfaces(ClassNode node)
|
static Object
|
evaluateExpression(Expression expr, CompilerConfiguration config)
|
static List
|
findDGMMethodsByNameAndArguments(ClassNode receiver, String name, ClassNode[] args)
Returns true if the provided class node, when considered as a receiver of a message or as a parameter, is using a placeholder in its generics type. |
static List
|
findDGMMethodsByNameAndArguments(ClassLoader loader, ClassNode receiver, String name, ClassNode[] args)
|
static List
|
findDGMMethodsByNameAndArguments(ClassNode receiver, String name, ClassNode[] args, List methods)
|
static List
|
findDGMMethodsByNameAndArguments(ClassLoader loader, ClassNode receiver, String name, ClassNode[] args, List methods)
|
protected static Set
|
findDGMMethodsForClassNode(ClassNode clazz, String name)
@deprecated Use findDGMMethodsForClassNode(ClassLoader,ClassNode,String) instead |
protected static Set
|
findDGMMethodsForClassNode(ClassLoader loader, ClassNode clazz, String name)
|
protected static void
|
findDGMMethodsForClassNode(ClassNode clazz, String name, TreeSet accumulator)
@deprecated Use findDGMMethodsForClassNode(ClassLoader, ClassNode, String, TreeSet) instead |
protected static void
|
findDGMMethodsForClassNode(ClassLoader loader, ClassNode clazz, String name, TreeSet accumulator)
|
protected static Variable
|
findTargetVariable(VariableExpression ve)
Given a variable expression, returns the ultimately accessed variable. |
protected static GenericsType
|
fullyResolve(GenericsType gt, Map placeholders)
|
protected static ClassNode
|
fullyResolveType(ClassNode type, Map placeholders)
|
static boolean
|
implementsInterfaceOrIsSubclassOf(ClassNode type, ClassNode superOrInterface)
|
protected static boolean
|
isArrayAccessExpression(Expression expression)
Returns true for expressions of the form x[...] |
static boolean
|
isAssignment(int op)
|
static boolean
|
isBeingCompiled(ClassNode node)
|
static boolean
|
isClassClassNodeWrappingConcreteType(ClassNode classNode)
|
static boolean
|
isGStringOrGStringStringLUB(ClassNode node)
A helper method that can be used to evaluate expressions as found in annotation parameters. |
static boolean
|
isParameterizedWithGStringOrGStringString(ClassNode node)
|
static boolean
|
isParameterizedWithString(ClassNode node)
|
static boolean
|
isUsingGenericsOrIsArrayUsingGenerics(ClassNode cn)
|
static boolean
|
isUsingUncheckedGenerics(ClassNode node)
|
static boolean
|
isWildcardLeftHandSide(ClassNode node)
Tells if a class is one of the "accept all" classes as the left hand side of an assignment. |
static boolean
|
isWithCall(String name, Expression callArguments)
Called on method call checks in order to determine if a method call corresponds to the idiomatic o.with { ... } structure |
static boolean
|
missesGenericsTypes(ClassNode cn)
|
static Parameter[]
|
parameterizeArguments(ClassNode receiver, MethodNode m)
Given a parameter, builds a new parameter for which the known generics placeholders are resolved. |
static ClassNode
|
resolveClassNodeGenerics(Map resolvedPlaceholders, Map placeholdersFromContext, ClassNode currentType)
|
protected static boolean
|
typeCheckMethodArgumentWithGenerics(ClassNode parameterType, ClassNode argumentType, boolean lastArg)
|
protected static boolean
|
typeCheckMethodsWithGenerics(ClassNode receiver, ClassNode[] arguments, MethodNode candidateMethod)
|
Methods inherited from class Object | |
---|---|
wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Field Detail |
---|
protected static final ClassNode ArrayList_TYPE
protected static final ClassNode Collection_TYPE
protected static final Comparator DGM_METHOD_NODE_COMPARATOR
protected static final ClassNode Deprecated_TYPE
protected static final StaticTypeCheckingSupport.ExtensionMethodCache EXTENSION_METHOD_CACHE
protected static final ClassNode GSTRING_STRING_CLASSNODE
protected static final ClassNode Matcher_TYPE
protected static final Map NUMBER_TYPES
protected static final ClassNode UNKNOWN_PARAMETER_TYPE
Method Detail |
---|
public static int allParametersAndArgumentsMatch(Parameter[] params, ClassNode[] args)
params
- method parametersargs
- type arguments
public static boolean checkCompatibleAssignmentTypes(ClassNode left, ClassNode right)
left
- the class to be assigned toright
- the assignee class
public static boolean checkCompatibleAssignmentTypes(ClassNode left, ClassNode right, Expression rightExpression)
public static boolean checkCompatibleAssignmentTypes(ClassNode left, ClassNode right, Expression rightExpression, boolean allowConstructorCoercion)
public static List chooseBestMethod(ClassNode receiver, Collection methods, ClassNode... args)
public static Set collectAllInterfaces(ClassNode node)
public static Object evaluateExpression(Expression expr, CompilerConfiguration config)
@Deprecatedreturn false; public static List findDGMMethodsByNameAndArguments(ClassNode receiver, String name, ClassNode[] args)
node
- the node to test
public static List findDGMMethodsByNameAndArguments(ClassLoader loader, ClassNode receiver, String name, ClassNode[] args)
@Deprecatedpublic static ListchooseBestMethod(final ClassNode receiver, Collection methods, ClassNode... args) { public static List findDGMMethodsByNameAndArguments(ClassNode receiver, String name, ClassNode[] args, List methods)
public static List findDGMMethodsByNameAndArguments(ClassLoader loader, ClassNode receiver, String name, ClassNode[] args, List methods)
@Deprecated protected static Set findDGMMethodsForClassNode(ClassNode clazz, String name)
protected static Set findDGMMethodsForClassNode(ClassLoader loader, ClassNode clazz, String name)
@Deprecated protected static void findDGMMethodsForClassNode(ClassNode clazz, String name, TreeSet accumulator)
protected static void findDGMMethodsForClassNode(ClassLoader loader, ClassNode clazz, String name, TreeSet accumulator)
protected static Variable findTargetVariable(VariableExpression ve)
ve
- a variable expression
protected static GenericsType fullyResolve(GenericsType gt, Map placeholders)
protected static ClassNode fullyResolveType(ClassNode type, Map placeholders)
public static boolean implementsInterfaceOrIsSubclassOf(ClassNode type, ClassNode superOrInterface)
protected static boolean isArrayAccessExpression(Expression expression)
expression
- an expression
public static boolean isAssignment(int op)
public static boolean isBeingCompiled(ClassNode node)
public static boolean isClassClassNodeWrappingConcreteType(ClassNode classNode)
public static boolean isGStringOrGStringStringLUB(ClassNode node)
expr
- the expression to be evaluatedconfig
- the compiler configuration
public static boolean isParameterizedWithGStringOrGStringString(ClassNode node)
public static boolean isParameterizedWithString(ClassNode node)
public static boolean isUsingGenericsOrIsArrayUsingGenerics(ClassNode cn)
public static boolean isUsingUncheckedGenerics(ClassNode node)
public static boolean isWildcardLeftHandSide(ClassNode node)
node
- the classnode to test
public static boolean isWithCall(String name, Expression callArguments)
name
- name of the method calledcallArguments
- arguments of the method
public static boolean missesGenericsTypes(ClassNode cn)
public static Parameter[] parameterizeArguments(ClassNode receiver, MethodNode m)
genericFromReceiver
- resolved generics from the receiver of the messageplaceholdersFromContext,
- resolved generics from the method contextmethodParameter
- the method parameter for which we want to resolve generic typesparamType
- the (unresolved) type of the method parameter
public static ClassNode resolveClassNodeGenerics(Map resolvedPlaceholders, Map placeholdersFromContext, ClassNode currentType)
protected static boolean typeCheckMethodArgumentWithGenerics(ClassNode parameterType, ClassNode argumentType, boolean lastArg)
protected static boolean typeCheckMethodsWithGenerics(ClassNode receiver, ClassNode[] arguments, MethodNode candidateMethod)
Copyright © 2003-2013 The Codehaus. All rights reserved.