| Package | Description |
|---|---|
| org.eclipse.jdt.internal.compiler.ast | |
| org.eclipse.jdt.internal.compiler.lookup | |
| org.eclipse.jdt.internal.compiler.problem |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Invocation
Abstraction for invocation AST nodes that can trigger
Invocation Applicability Inferences (18.5.1), and
Invocation Type Inference (18.5.2).
|
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractVariableDeclaration |
class |
AllocationExpression |
class |
Argument |
class |
ExplicitConstructorCall |
class |
FakedTrackingVariable
A faked local variable declaration used for keeping track of data flows of a
special variable.
|
class |
FieldDeclaration |
class |
FieldReference |
class |
Initializer |
class |
JavadocAllocationExpression |
class |
JavadocFieldReference |
class |
JavadocMessageSend |
class |
JavadocSingleNameReference |
class |
LocalDeclaration |
class |
MessageSend |
class |
NameReference |
class |
QualifiedAllocationExpression
Variation on allocation, where can optionally be specified any of:
- leading enclosing instance
- trailing anonymous type
- generic type arguments for generic constructor invocation
|
class |
QualifiedNameReference |
class |
Receiver |
class |
ReferenceExpression |
class |
SingleNameReference |
class |
TypeParameter |
| Modifier and Type | Method and Description |
|---|---|
static MethodBinding |
NullAnnotationMatching.checkForContraditions(MethodBinding method,
InvocationSite invocationSite,
Scope scope)
After a method has substituted type parameters, check if this resulted in any contradictory null annotations.
|
static boolean |
ASTNode.checkInvocationArguments(BlockScope scope,
Expression receiver,
TypeBinding receiverType,
MethodBinding method,
Expression[] arguments,
TypeBinding[] argumentTypes,
boolean argsContainCast,
InvocationSite invocationSite) |
static void |
CastExpression.checkNeedForArgumentCasts(BlockScope scope,
Expression receiver,
TypeBinding receiverType,
MethodBinding binding,
Expression[] arguments,
TypeBinding[] argumentTypes,
InvocationSite invocationSite)
Cast expressions will considered as useful if removing them all would actually bind to a different method
(no fine grain analysis on per casted argument basis, simply separate widening cast from narrowing ones)
|
| Modifier and Type | Class and Description |
|---|---|
static class |
InvocationSite.EmptyWithAstNode |
| Modifier and Type | Method and Description |
|---|---|
boolean |
MethodBinding.canBeSeenBy(InvocationSite invocationSite,
Scope scope) |
boolean |
MethodBinding.canBeSeenBy(TypeBinding receiverType,
InvocationSite invocationSite,
Scope scope) |
boolean |
FieldBinding.canBeSeenBy(TypeBinding receiverType,
InvocationSite invocationSite,
Scope scope) |
void |
BlockScope.checkAppropriateMethodAgainstSupers(char[] selector,
MethodBinding compileTimeMethod,
TypeBinding[] parameters,
InvocationSite site)
15.12.3 (Java 8) "Compile-Time Step 3: Is the Chosen Method Appropriate?"
|
protected MethodBinding |
Scope.computeCompatibleMethod(MethodBinding method,
TypeBinding[] arguments,
InvocationSite invocationSite,
int inferenceLevel)
Internal use only
Given a method, returns null if arguments cannot be converted to parameters.
|
protected MethodBinding |
Scope.computeCompatibleMethod(MethodBinding method,
TypeBinding[] arguments,
InvocationSite invocationSite,
int inferenceLevel,
boolean tiebreakingVarargsMethods)
Internal use only
Given a method, returns null if arguments cannot be converted to parameters.
|
static MethodBinding |
ParameterizedGenericMethodBinding.computeCompatibleMethod(MethodBinding originalMethod,
TypeBinding[] arguments,
Scope scope,
InvocationSite invocationSite,
int inferenceLevel)
Perform inference of generic method type parameters and/or expected type
|
org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.SuspendedInferenceRecord |
InferenceContext18.enterPolyInvocation(InvocationSite invocation,
Expression[] innerArguments) |
protected MethodBinding |
Scope.findDefaultAbstractMethod(ReferenceBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite,
ReferenceBinding classHierarchyStart,
ObjectVector found,
MethodBinding[] concreteMatches) |
MethodBinding |
Scope.findExactMethod(ReferenceBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
FieldBinding |
Scope.findField(TypeBinding receiverType,
char[] fieldName,
InvocationSite invocationSite,
boolean needResolve) |
FieldBinding |
MethodScope.findField(TypeBinding receiverType,
char[] fieldName,
InvocationSite invocationSite,
boolean needResolve)
Overridden to detect the error case inside an explicit constructor call:
class X {
int i;
X myX;
X(X x) {
this(i, myX.i, x.i); // same for super calls...
|
FieldBinding |
Scope.findField(TypeBinding receiverType,
char[] fieldName,
InvocationSite invocationSite,
boolean needResolve,
boolean invisibleFieldsOk) |
MethodBinding |
Scope.findMethod(ReferenceBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite,
boolean inStaticContext) |
MethodBinding |
Scope.findMethod0(ReferenceBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite,
boolean inStaticContext) |
MethodBinding |
Scope.findMethodForArray(ArrayBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
protected void |
Scope.findMethodInSuperInterfaces(ReferenceBinding receiverType,
char[] selector,
ObjectVector found,
List<TypeBinding> visitedTypes,
InvocationSite invocationSite) |
Binding |
BlockScope.getBinding(char[][] compoundName,
int mask,
InvocationSite invocationSite,
boolean needResolve) |
Binding |
BlockScope.getBinding(char[][] compoundName,
InvocationSite invocationSite) |
Binding |
Scope.getBinding(char[] name,
int mask,
InvocationSite invocationSite,
boolean needResolve) |
MethodBinding |
Scope.getConstructor(ReferenceBinding receiverType,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
MethodBinding |
Scope.getConstructor0(ReferenceBinding receiverType,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
MethodBinding |
Scope.getExactConstructor(TypeBinding receiverType,
InvocationSite invocationSite) |
MethodBinding |
Scope.getExactMethod(TypeBinding receiverType,
char[] selector,
InvocationSite invocationSite) |
FieldBinding |
Scope.getField(TypeBinding receiverType,
char[] fieldName,
InvocationSite invocationSite) |
MethodBinding |
Scope.getImplicitMethod(char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
MethodBinding |
Scope.getMethod(TypeBinding receiverType,
char[] selector,
TypeBinding[] argumentTypes,
InvocationSite invocationSite) |
TypeBinding[] |
InferenceContext18.getSolutions(TypeVariableBinding[] typeParameters,
InvocationSite site,
org.eclipse.jdt.internal.compiler.lookup.BoundSet boundSet)
Retrieve the resolved solutions for all given type variables.
|
org.eclipse.jdt.internal.compiler.lookup.BoundSet |
InferenceContext18.inferInvocationType(org.eclipse.jdt.internal.compiler.lookup.BoundSet b1,
TypeBinding expectedType,
InvocationSite invocationSite,
MethodBinding method)
JLS 18.5.2 Invocation Type Inference
|
protected MethodBinding |
Scope.inferInvocationType(InvocationSite invocationSite,
MethodBinding applicable,
TypeBinding[] argumentTypes)
Given a selected applicable method, check if it has an unfinished InferenceContext18 associated.
|
protected MethodBinding |
Scope.mostSpecificClassMethodBinding(MethodBinding[] visible,
int visibleSize,
InvocationSite invocationSite) |
protected MethodBinding |
Scope.mostSpecificInterfaceMethodBinding(MethodBinding[] visible,
int visibleSize,
InvocationSite invocationSite) |
protected MethodBinding |
Scope.mostSpecificMethodBinding(MethodBinding[] visible,
int visibleSize,
TypeBinding[] argumentTypes,
InvocationSite invocationSite,
ReferenceBinding receiverType) |
boolean |
InferenceContext18.rebindInnerPolies(MethodBinding method,
InvocationSite site) |
| Constructor and Description |
|---|
InferenceContext18(Scope scope,
Expression[] arguments,
InvocationSite site)
Construct an inference context for an invocation (method/constructor).
|
InferenceVariable(TypeBinding typeParameter,
int variableRank,
InvocationSite site,
LookupEnvironment environment,
ReferenceBinding object) |
| Modifier and Type | Method and Description |
|---|---|
void |
ProblemReporter.contradictoryNullAnnotationsInferred(MethodBinding inferredMethod,
InvocationSite location) |
void |
ProblemReporter.genericInferenceError(String message,
InvocationSite invocationSite) |
void |
ProblemReporter.genericInferenceProblem(String message,
InvocationSite invocationSite,
int severity) |
void |
ProblemReporter.illegalSuperCallBypassingOverride(InvocationSite location,
MethodBinding targetMethod,
ReferenceBinding overrider) |
void |
AbortCompilation.updateContext(InvocationSite invocationSite,
CompilationResult unitResult) |
void |
ProblemReporter.varargsArgumentNeedCast(MethodBinding method,
TypeBinding argumentType,
InvocationSite location) |
Copyright © 2015. All rights reserved.