| Modifier and Type | Field | Description |
|---|---|---|
protected JavaTypeDefinition |
AbstractJavaAccessTypeNode.typeDefinition |
Type definition, used to get the type of the node.
|
| Modifier and Type | Method | Description |
|---|---|---|
JavaTypeDefinition |
AbstractJavaAccessTypeNode.getTypeDefinition() |
|
JavaTypeDefinition |
AbstractJavaTypeNode.getTypeDefinition() |
|
JavaTypeDefinition |
ASTFormalParameter.getTypeDefinition() |
|
JavaTypeDefinition |
TypeNode.getTypeDefinition() |
Get the TypeDefinition associated with this node.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
AbstractJavaAccessTypeNode.setTypeDefinition(JavaTypeDefinition typeDefinition) |
|
void |
AbstractJavaTypeNode.setTypeDefinition(JavaTypeDefinition typeDefinition) |
|
void |
ASTFormalParameter.setTypeDefinition(JavaTypeDefinition type) |
Noop, the type of this node is defined by the type
of the declarator id.
|
void |
TypeNode.setTypeDefinition(JavaTypeDefinition type) |
Set the TypeDefinition associated with this node.
|
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
MethodTypeResolution.boxPrimitive(JavaTypeDefinition def) |
|
JavaTypeDefinition |
MethodType.getArgTypeIncludingVararg(int index) |
|
static JavaTypeDefinition |
MethodTypeResolution.getBestMethodReturnType(JavaTypeDefinition context,
java.util.List<MethodType> methods,
ASTArgumentList arguments) |
Searches a list of methods by trying the three phases of method overload resolution.
|
JavaTypeDefinition |
MethodType.getReturnType() |
|
JavaTypeDefinition |
MethodType.getVarargComponentType() |
| Modifier and Type | Method | Description |
|---|---|---|
static java.util.List<JavaTypeDefinition> |
MethodTypeResolution.getMethodExplicitTypeArugments(net.sourceforge.pmd.lang.ast.Node node) |
|
java.util.List<JavaTypeDefinition> |
MethodType.getParameterTypes() |
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
MethodTypeResolution.boxPrimitive(JavaTypeDefinition def) |
|
static MethodType |
MethodType.build(JavaTypeDefinition returnType,
java.util.List<JavaTypeDefinition> argTypes,
java.lang.reflect.Method method) |
|
static java.util.List<MethodType> |
MethodTypeResolution.getApplicableMethods(JavaTypeDefinition context,
java.lang.String methodName,
java.util.List<JavaTypeDefinition> typeArguments,
int argArity,
java.lang.Class<?> accessingClass) |
Looks for potentially applicable methods in a given type definition.
|
static JavaTypeDefinition |
MethodTypeResolution.getBestMethodReturnType(JavaTypeDefinition context,
java.util.List<MethodType> methods,
ASTArgumentList arguments) |
Searches a list of methods by trying the three phases of method overload resolution.
|
static MethodType |
MethodTypeResolution.getTypeDefOfMethod(JavaTypeDefinition context,
java.lang.reflect.Method method,
java.util.List<JavaTypeDefinition> typeArguments) |
|
static boolean |
MethodTypeResolution.isMethodConvertible(JavaTypeDefinition parameter,
ASTExpression argument) |
|
static boolean |
MethodTypeResolution.isMethodConvertible(JavaTypeDefinition parameter,
JavaTypeDefinition argument) |
Method invocation conversion rules.
|
static boolean |
MethodTypeResolution.isSubtypeable(JavaTypeDefinition parameter,
ASTExpression argument) |
|
static boolean |
MethodTypeResolution.isSubtypeable(JavaTypeDefinition parameter,
JavaTypeDefinition argument) |
Subtypeability rules.
|
static MethodType |
MethodTypeResolution.parameterizeInvocation(JavaTypeDefinition context,
java.lang.reflect.Method method,
ASTArgumentList argList) |
|
static void |
MethodTypeResolution.produceInitialBounds(java.lang.reflect.Method method,
JavaTypeDefinition context,
java.util.List<Variable> variables,
java.util.List<Bound> initialBounds) |
|
static java.util.List<MethodType> |
MethodTypeResolution.selectMethodsFirstPhase(JavaTypeDefinition context,
java.util.List<MethodType> methodsToSearch,
ASTArgumentList argList) |
Look for methods be subtypeability.
|
| Modifier and Type | Method | Description |
|---|---|---|
static MethodType |
MethodType.build(JavaTypeDefinition returnType,
java.util.List<JavaTypeDefinition> argTypes,
java.lang.reflect.Method method) |
|
static java.util.List<MethodType> |
MethodTypeResolution.getApplicableMethods(JavaTypeDefinition context,
java.lang.String methodName,
java.util.List<JavaTypeDefinition> typeArguments,
int argArity,
java.lang.Class<?> accessingClass) |
Looks for potentially applicable methods in a given type definition.
|
static MethodType |
MethodTypeResolution.getTypeDefOfMethod(JavaTypeDefinition context,
java.lang.reflect.Method method,
java.util.List<JavaTypeDefinition> typeArguments) |
|
static boolean |
MethodTypeResolution.isMethodApplicable(java.lang.reflect.Method method,
java.lang.String methodName,
int argArity,
java.lang.Class<?> accessingClass,
java.util.List<JavaTypeDefinition> typeArguments) |
https://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.12.2.1
Potential applicability.
|
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(TypeDefinitionType type,
java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(TypeDefinitionType type,
JavaTypeDefinition... intersectionTypes) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getAsSuper(java.lang.Class<?> superClazz) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getComponentType() |
Gets the component type of this type definition if it
is an array type.
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getElementType() |
Gets the element type of this type definition if it
is an array type.
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getEnclosingClass() |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getGenericType(int index) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getGenericType(java.lang.String parameterName) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.getJavaType(int index) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.resolveTypeDefinition(java.lang.reflect.Type type) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.resolveTypeDefinition(java.lang.reflect.Type type,
java.lang.reflect.Method method,
java.util.List<JavaTypeDefinition> methodTypeArgs) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.withDimensions(int numDimensions) |
Returns the type definition of the array type which
has the given number of array dimensions, plus the dimensions
of this type definition.
|
| Modifier and Type | Method | Description |
|---|---|---|
abstract java.util.Set<JavaTypeDefinition> |
JavaTypeDefinition.getSuperTypeSet() |
|
protected abstract java.util.Set<JavaTypeDefinition> |
JavaTypeDefinition.getSuperTypeSet(java.util.Set<JavaTypeDefinition> destinationSet) |
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(TypeDefinitionType type,
java.lang.Class<?> clazz,
JavaTypeDefinition... boundGenerics) |
|
static JavaTypeDefinition |
JavaTypeDefinition.forClass(TypeDefinitionType type,
JavaTypeDefinition... intersectionTypes) |
|
abstract boolean |
JavaTypeDefinition.hasSameErasureAs(JavaTypeDefinition def) |
| Modifier and Type | Method | Description |
|---|---|---|
protected abstract java.util.Set<JavaTypeDefinition> |
JavaTypeDefinition.getSuperTypeSet(java.util.Set<JavaTypeDefinition> destinationSet) |
|
abstract JavaTypeDefinition |
JavaTypeDefinition.resolveTypeDefinition(java.lang.reflect.Type type,
java.lang.reflect.Method method,
java.util.List<JavaTypeDefinition> methodTypeArgs) |
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
TypeInferenceResolver.intersect(JavaTypeDefinition first,
JavaTypeDefinition second) |
|
JavaTypeDefinition |
BoundOrConstraint.leftProper() |
|
static JavaTypeDefinition |
TypeInferenceResolver.lub(java.util.List<JavaTypeDefinition> types) |
|
static JavaTypeDefinition |
TypeInferenceResolver.merge(JavaTypeDefinition first,
JavaTypeDefinition second) |
Merge two types of the same class to something both can be assigned to and is most specific.
|
JavaTypeDefinition |
BoundOrConstraint.rightProper() |
| Modifier and Type | Method | Description |
|---|---|---|
static java.util.Map<Variable,JavaTypeDefinition> |
TypeInferenceResolver.getInstantiations(java.util.List<Bound> bounds) |
|
static java.util.List<JavaTypeDefinition> |
TypeInferenceResolver.getLowerBoundsOf(Variable var,
java.util.List<Bound> bounds) |
|
static java.util.List<JavaTypeDefinition> |
TypeInferenceResolver.inferTypes(java.util.List<Constraint> constraints,
java.util.List<Bound> bounds,
java.util.List<Variable> variables) |
|
static java.util.Map<Variable,JavaTypeDefinition> |
TypeInferenceResolver.resolveVariables(java.util.List<Bound> bounds) |
Resolve unresolved variables in a list of bounds.
|
| Modifier and Type | Method | Description |
|---|---|---|
static JavaTypeDefinition |
TypeInferenceResolver.intersect(JavaTypeDefinition first,
JavaTypeDefinition second) |
|
static JavaTypeDefinition |
TypeInferenceResolver.merge(JavaTypeDefinition first,
JavaTypeDefinition second) |
Merge two types of the same class to something both can be assigned to and is most specific.
|
| Modifier and Type | Method | Description |
|---|---|---|
static java.util.Set<java.lang.Class<?>> |
TypeInferenceResolver.getErasedCandidateSet(java.util.List<JavaTypeDefinition> erasedSuperTypeSets) |
|
static boolean |
TypeInferenceResolver.isProperSubsetOfVariables(java.util.List<Variable> variables,
java.util.Map<Variable,JavaTypeDefinition> instantiations,
java.util.Map<Variable,java.util.Set<Variable>> dependencies,
java.util.List<Bound> bounds) |
Given a set of inference variables to resolve, let V be the union of this set and all variables upon which
the resolution of at least one variable in this set depends.
|
static JavaTypeDefinition |
TypeInferenceResolver.lub(java.util.List<JavaTypeDefinition> types) |
Copyright © 2002–2018 PMD. All rights reserved.