APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.tools.javac.comp

public Class Resolve

extends Object
Class Inheritance
Imports
com.sun.tools.javac.api.Formattable.LocalizedString, com.sun.tools.javac.code.*, .Scope.WriteableScope, .Source.Feature, com.sun.tools.javac.code.Symbol.*, com.sun.tools.javac.code.Type.*, com.sun.tools.javac.comp.Attr.ResultInfo, .Check.CheckContext, .DeferredAttr.AttrMode, .DeferredAttr.DeferredAttrContext, .DeferredAttr.DeferredType, .Resolve.MethodResolutionContext.Candidate, .Resolve.MethodResolutionDiagHelper.Template, .Resolve.ReferenceLookupResult.StaticKind, com.sun.tools.javac.jvm.*, com.sun.tools.javac.main.Option, com.sun.tools.javac.resources.CompilerProperties.Errors, .CompilerProperties.Fragments, .CompilerProperties.Warnings, com.sun.tools.javac.tree.*, com.sun.tools.javac.tree.JCTree.*, .JCTree.JCMemberReference.ReferenceKind, com.sun.tools.javac.tree.JCTree.JCPolyExpression.*, com.sun.tools.javac.util.*, .DefinedBy.Api, .JCDiagnostic.DiagnosticFlag, .JCDiagnostic.DiagnosticPosition, .JCDiagnostic.DiagnosticType, java.util.Arrays, .Collection, .EnumSet, .HashSet, .Iterator, .LinkedHashMap, .Map, .Set, java.util.function.BiFunction, .BiPredicate, .Function, .Predicate, .UnaryOperator, java.util.stream.Stream, .StreamSupport, javax.lang.model.element.ElementVisitor

Helper class for name resolution, used mostly by the attribution phase.

This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv abstract class
Resolve.AbstractMethodCheck

Base class for 'real' method checks.

pack-priv class
Resolve.AccessError

An InvalidSymbolError error class indicating that a symbol is not accessible from a given site

pack-priv class
Resolve.AmbiguityError

InvalidSymbolError error class indicating that a pair of symbols (either methods, constructors or operands) are ambiguous given an actual arguments/type argument list.

pack-priv class
Resolve.ArrayConstructorReferenceLookupHelper

Helper class for array constructor lookup; an array constructor lookup is simulated by looking up a method that returns the array type specified as qualifier, and that accepts a single int parameter (size of the array).

pack-priv class
pack-priv class
Resolve.BadLocalClassCreation

Specialization of StaticError for illegal creation of local class instances from a static context.

pack-priv class
Resolve.BadMethodReferenceError

BadMethodReferenceError error class indicating that a method reference symbol has been found, but with the wrong staticness.

pack-priv class
pack-priv class
pack-priv abstract class
pack-priv class
Resolve.ConstructorReferenceLookupHelper

Helper class for constructor reference lookup.

pack-priv class
Resolve.DiamondError

DiamondError error class indicating that a constructor symbol is not applicable given an actual arguments/type argument list using diamond inference.

public static class
pack-priv class
Resolve.InapplicableSymbolError

InvalidSymbolError error class indicating that a given symbol (either a method, a constructor or an operand) is not applicable given an actual arguments/type argument list.

pack-priv class
Resolve.InapplicableSymbolsError

ResolveError error class indicating that a symbol (either methods, constructors or operand) is not applicable given an actual arguments/type argument list.

pack-priv static enum
pack-priv abstract class
Resolve.InvalidSymbolError

This class is the root class of all resolution errors caused by an invalid symbol being found during resolution.

pack-priv class
pack-priv static interface
pack-priv class
pack-priv abstract class
Resolve.LookupHelper

Helper for defining custom method-like lookup logic; a lookup helper provides hooks for (i) the actual lookup logic and (ii) accessing the lookup result (this step might result in compiler diagnostics to be generated)

pack-priv static interface
Resolve.MethodCheck

This interface defines an entry point that should be used to perform a method check.

pack-priv abstract class
Resolve.MethodCheckContext

Check context to be used during method applicability checks.

pack-priv static enum
Resolve.MethodCheckDiag

Helper enum defining all method check diagnostics (used by resolveMethodCheck).

pack-priv class
Resolve.MethodReferenceCheck

This class handles method reference applicability checks; since during these checks it's sometime possible to have inference variables on the actual argument types list, the method applicability check must be extended so that inference variables are 'opened' as needed.

pack-priv class
Resolve.MethodReferenceLookupHelper

Helper class for method reference lookup.

pack-priv class
Resolve.MethodResolutionContext

A resolution context is used to keep track of intermediate results of overload resolution, such as list of method that are not applicable (used to generate more precise diagnostics) and so on.

pack-priv static class
Resolve.MethodResolutionDiagHelper

Helper class for method resolution diagnostic simplification.

pack-priv static enum
pack-priv class
Resolve.MethodResultInfo

ResultInfo class to be used during method applicability checks.

pack-priv class
Resolve.MostSpecificCheck

Most specific method applicability routine.

public static interface
pack-priv class
Resolve.RefBeforeCtorCalledError

Specialization of InvalidSymbolError for illegal early accesses within a constructor prologue.

pack-priv abstract class
Resolve.ReferenceChooser

This abstract class embodies the logic that converts one (bound lookup) or two (unbound lookup) ReferenceLookupResult objects into a Symbol, which is then regarded as the result of method reference resolution.

pack-priv abstract class
Resolve.ReferenceLookupHelper

Helper class for member reference lookup.

pack-priv static class
Resolve.ReferenceLookupResult

This class is used to represent a method reference lookup result.

pack-priv class
pack-priv abstract class
Resolve.ResolveError

Root class for resolution errors.

pack-priv class
Resolve.StaticError

InvalidSymbolError error class indicating that an instance member has erroneously been accessed from a static context.

pack-priv class
Resolve.SymbolNotFoundError

InvalidSymbolError error class indicating that a symbol matching a given name does not exists in a given site.

pack-priv class
Resolve.UnboundMethodReferenceLookupHelper

Helper class for unbound method reference lookup.

pack-priv class
pack-priv static enum

Field Summary

Modifier and TypeField and Description
pack-priv Types.SimpleVisitor<Void, Env<AttrContext>>
accessibilityChecker

Accessibility type-visitor

private final boolean
public final boolean
private final boolean
public final boolean
private final boolean
pack-priv Resolve.MethodCheck
arityMethodCheck

Arity-based method check.

pack-priv Attr
pack-priv AttrRecover
pack-priv Resolve.LogResolveHelper
pack-priv Resolve.ReferenceChooser
basicReferenceChooser

This chooser implements the selection strategy used during a full lookup; this logic is described in JLS SE 8 (15.3.2).

pack-priv Check
private final boolean
pack-priv Resolve.MethodResolutionContext
pack-priv DeferredAttr
pack-priv JCDiagnostic.Factory
private final Resolve.RecoveryLoadClass
pack-priv final boolean
pack-priv final boolean
pack-priv ClassFinder
pack-priv Infer
pack-priv Log
pack-priv Resolve.LogResolveHelper
private final Resolve.SymbolNotFoundError
pack-priv final List<Resolve.MethodResolutionPhase>
pack-priv ModuleFinder
private final Resolve.RecoveryLoadClass
private final Resolve.RecoveryLoadClass
pack-priv Names
pack-priv Resolve.MethodCheck
nilMethodCheck

Dummy method check object.

private final Formattable.LocalizedString
private final Resolve.RecoveryLoadClass
pack-priv Warner
pack-priv Scope.WriteableScope
pack-priv Preview
private final Resolve.ReferenceLookupResult
referenceNotFound

empty reference lookup result

protected static final Context.Key<Resolve>
pack-priv Resolve.MethodCheck
resolveMethodCheck

Main method applicability routine.

pack-priv Resolve.LogResolveHelper
private final Resolve.RecoveryLoadClass
pack-priv Resolve.ReferenceChooser
structuralReferenceChooser

This chooser implements the selection strategy used during an arity-based lookup; this logic is described in JLS SE 8 (15.12.2.1).

pack-priv Symtab
private final Resolve.SymbolNotFoundError
pack-priv Types
private final Resolve.SymbolNotFoundError
varNotFound

error symbols, which are returned when resolution fails

pack-priv final EnumSet<Resolve.VerboseResolutionMode>

Constructor Summary

AccessConstructor and Description
protected
Resolve(Context context)

Method Summary

Modifier and TypeMethod and Description
pack-priv Symbol
accessBase(Symbol sym, JCDiagnostic.DiagnosticPosition pos, Symbol location, Type site, Name name, boolean qualified)

Variant of the generalized access routine, to be used for generating variable, type resolution diagnostics

pack-priv Symbol
accessBase(Symbol sym, JCDiagnostic.DiagnosticPosition pos, Type site, Name name, boolean qualified)

Same as original accessBase(), but without location.

pack-priv Symbol
accessInternal(Symbol
The symbol that was found, or a ResolveError.
sym
,
JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Symbol
The symbol the served as a context for this lookup
location
,
Type
The original type from where the selection took place.
site
,
Name
The symbol's name.
name
,
boolean
Did we get here through a qualified expression resolution?
qualified
,
List<Type>
The invocation's value arguments, if we looked for a method.
argtypes
,
List<Type>
The invocation's type arguments, if we looked for a method.
typeargtypes
,
Resolve.LogResolveHelper
helper class used to log resolve errors
logResolveHelper
)

If `sym' is a bad symbol: report error and return errSymbol else pass through unchanged, additional arguments duplicate what has been used in trying to find the symbol (--> flyweight pattern).

pack-priv Symbol
accessMethod(Symbol sym, JCDiagnostic.DiagnosticPosition pos, Symbol location, Type site, Name name, boolean qualified, List<Type> argtypes, List<Type> typeargtypes)

Variant of the generalized access routine, to be used for generating method resolution diagnostics

pack-priv Symbol
accessMethod(Symbol sym, JCDiagnostic.DiagnosticPosition pos, Type site, Name name, boolean qualified, List<Type> argtypes, List<Type> typeargtypes)

Same as original accessMethod(), but without location.

pack-priv List<Type>
adjustArgs(List<Type> args, Symbol msym, int length, boolean allowVarargs)

pack-priv Symbol
private static Symbol
pack-priv void
checkAccessibleType(Env<AttrContext> env, Type t)

Performs a recursive scan of a type looking for accessibility problems from current attribution environment

pack-priv Type
checkMethod(Env<AttrContext> env, Type site, Symbol m, Attr.ResultInfo resultInfo, List<Type> argtypes, List<Type> typeargtypes, Warner warn)

pack-priv void
checkNonAbstract(JCDiagnostic.DiagnosticPosition pos, Symbol sym)

Check that sym is not an abstract method.

private Symbol
private Symbol
private Symbol
private void
dumpMethodReferenceSearchResults(JCTree.JCMemberReference referenceTree, Resolve.MethodResolutionContext resolutionContext, Symbol bestSoFar, boolean bound)

pack-priv Symbol
findConstructor(JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Type site, List<Type> argtypes, List<Type> typeargtypes, boolean allowBoxing, boolean useVarargs)

private Symbol
findDiamond(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the constructor invocation.
env
,
Type
The type of class for which a constructor is searched. The scope of this class has been touched in attribution.
site
,
List<Type>
The types of the constructor invocation's value arguments.
argtypes
,
List<Type>
The types of the constructor invocation's type arguments.
typeargtypes
,
boolean
Allow boxing conversions of arguments.
allowBoxing
,
boolean
Box trailing arguments into an array for varargs.
useVarargs
)

Find the constructor using diamond inference and do some checks(deprecated and preview).

private Symbol
findDiamond(Env<AttrContext> env, Type site, List<Type> argtypes, List<Type> typeargtypes, boolean allowBoxing, boolean useVarargs)

This method scans all the constructor symbol in a given class scope - assuming that the original scope contains a constructor of the kind: Foo(X x, Y y), where X,Y are class type-variables declared in Foo, a method check is executed against the modified constructor type: <X,Y>Foo<X,Y>(X x, Y y).

pack-priv Symbol
findField(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
Name
The name of the field.
name
,
Symbol.TypeSymbol
The class to search for the field. This is always a superclass or implemented interface of site's class.
c
)

Find field.

pack-priv Symbol
findFun(Env<AttrContext>
The current environment.
env
,
Name
The method's name.
name
,
List<Type>
The method's value arguments.
argtypes
,
List<Type>
The method's type arguments.
typeargtypes
,
boolean
Allow boxing conversions of arguments.
allowBoxing
,
boolean
Box trailing arguments into an array for varargs.
useVarargs
)

Find unqualified method matching given name, type and value arguments.

pack-priv Symbol
findGlobalType(Env<AttrContext>
The current environment.
env
,
Scope
The scope in which to look for the type.
scope
,
Name
The type's name.
name
,
Resolve.RecoveryLoadClass recoveryLoadClass)

Find a global type in given scope and load corresponding class.

pack-priv Symbol
findIdent(JCDiagnostic.DiagnosticPosition
position on which report warnings, if any; null warnings should not be reported
pos
,
Env<AttrContext>
The current environment.
env
,
Name
The identifier's name.
name
,
Kinds.KindSelector
Indicates the possible symbol kinds (a subset of VAL, TYP, PCK).
kind
)

Find an unqualified identifier which matches a specified kind set.

pack-priv Symbol
findIdentInPackage(JCDiagnostic.DiagnosticPosition
position on which report warnings, if any; null warnings should not be reported
pos
,
Env<AttrContext>
The current environment.
env
,
Symbol.TypeSymbol pck, Name
The identifier's name.
name
,
Kinds.KindSelector
Indicates the possible symbol kinds (a nonempty subset of TYP, PCK).
kind
)

Find an identifier in a package which matches a specified kind set.

pack-priv Symbol
pack-priv Symbol
pack-priv Symbol
findIdentInType(JCDiagnostic.DiagnosticPosition
position on which report warnings, if any; null warnings should not be reported
pos
,
Env<AttrContext>
The current environment.
env
,
Type
The type containing the symbol to be found.
site
,
Name
The identifier's name.
name
,
Kinds.KindSelector
Indicates the possible symbol kinds (a subset of VAL, TYP).
kind
)

Find an identifier among the members of a given type `site'.

pack-priv Symbol
pack-priv Symbol
findImmediateMemberType(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
Name
The type's name.
name
,
Symbol.TypeSymbol
The class to search for the member type. This is always a superclass or implemented interface of site's class.
c
)

Find a type declared in a scope (not inherited).

pack-priv Symbol
findInheritedMemberType(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
Name
The type's name.
name
,
Symbol.TypeSymbol
The class to search for the member type. This is always a superclass or implemented interface of site's class.
c
)

Find a member type inherited from a superclass or interface.

pack-priv Symbol
findLocalClassOwner(Env<AttrContext> env, Symbol.TypeSymbol c)

Resolve the (method) owner of a local class.

pack-priv Symbol
findMemberType(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
Name
The type's name.
name
,
Symbol.TypeSymbol
The class to search for the member type. This is always a superclass or implemented interface of site's class.
c
)

Find qualified member type.

pack-priv Symbol
findMethod(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
Name
The method's name.
name
,
List<Type>
The method's value arguments.
argtypes
,
List<Type>
The method's type arguments
typeargtypes
,
boolean
Allow boxing conversions of arguments.
allowBoxing
,
boolean
Box trailing arguments into an array for varargs.
useVarargs
)

Find best qualified method matching given name, type and value arguments.

private Symbol
findMethod(Env<AttrContext> env, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes, Type intype, Symbol bestSoFar, boolean allowBoxing, boolean useVarargs)

pack-priv Symbol
findMethodInScope(Env<AttrContext> env, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes, Scope sc, Symbol bestSoFar, boolean allowBoxing, boolean useVarargs, boolean abstractok)

pack-priv Symbol
findPolymorphicSignatureInstance(Env<AttrContext>
Attribution environment
env
,
final Symbol
signature polymorphic method - i.e. MH.invokeExact
spMethod
,
List<Type>
The required argument types
argtypes
)

Find or create an implicit method of exactly the given type (after erasure).

pack-priv Symbol
pack-priv Symbol
findSelfContaining(JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Symbol.TypeSymbol c, boolean isSuper)

Find a "valid" reference to an enclosing 'A.this' such that A is a subclass of the provided class symbol.

pack-priv Symbol
findType(Env<AttrContext>
The current environment.
env
,
Name
The type's name.
name
)

Find an unqualified type symbol.

pack-priv Symbol
findTypeVar(Env<AttrContext> env, Name name, boolean staticOnly)

pack-priv Symbol
findVar(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The current environment.
env
,
Name
The name of the variable or field.
name
)

Find unqualified variable or field with given name.

pack-priv Symbol
pack-priv JCDiagnostic
pack-priv JCDiagnostic
pack-priv JCDiagnostic
public static Resolve
instance(Context context)

pack-priv Type
instantiate(Env<AttrContext> env, Type site, Symbol m, Attr.ResultInfo resultInfo, List<Type> argtypes, List<Type> typeargtypes, boolean allowBoxing, boolean useVarargs, Warner warn)

Same but returns null instead throwing a NoInstanceException

public boolean
isAccessible(Env<AttrContext>
The current environment.
env
,
Symbol.TypeSymbol
The class whose accessibility is checked.
c
)

Is class accessible in given environment?

public boolean
isAccessible(Env<AttrContext> env, Symbol.TypeSymbol c, boolean checkInner)

pack-priv boolean
pack-priv boolean
isAccessible(Env<AttrContext> env, Type t, boolean checkInner)

public boolean
isAccessible(Env<AttrContext>
The current environment.
env
,
Type
The type of which the tested symbol is regarded as a member.
site
,
Symbol
The symbol.
sym
)

Is symbol accessible as a member of given type in given environment?

public boolean
isAccessible(Env<AttrContext> env, Type site, Symbol sym, boolean checkInner)

private boolean
isAllowedEarlyReference(JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Symbol.VarSymbol v)

Determine if an early instance field reference may appear in a constructor prologue.

public boolean
isEarlyReference(Env<AttrContext>
The current environment
env
,
JCTree
Variable qualifier, if any, otherwise null
base
,
Symbol.VarSymbol
The variable
v
)

Determine if the variable appearance constitutes an early reference to the current class.

private boolean
pack-priv static boolean
isInitializer(Env<AttrContext> env)

An environment is an "initializer" if it is a constructor or an instance initializer.

private boolean
isInnerSubClass(Symbol.ClassSymbol
The class which is the subclass or is contained in it.
c
,
Symbol
The base class
base
)

Is given class a subclass of given base class, or an inner class of a subclass?

private boolean
isProtectedAccessible(Symbol
The symbol with protected access
sym
,
Symbol.ClassSymbol
The class where the access takes place
c
,
Type
The type of the qualifier
site
)

Is given protected symbol accessible if it is selected from given site and the selection takes place in given class?

private boolean
pack-priv boolean
isSerializable(Type t)

check if a type is a subtype of Serializable, if that is available.

protected static boolean
isStatic(Env<AttrContext> env)

An environment is "static" if its static level is greater than the one of its outer environment

pack-priv Symbol
loadClass(Env<AttrContext>
The current environment.
env
,
Name
The fully qualified name of the class to be loaded.
name
,
Resolve.RecoveryLoadClass recoveryLoadClass)

Load toplevel or member class with given fully qualified name and verify that it is accessible.

public void
private void
logResolveError(Resolve.ResolveError error, JCDiagnostic.DiagnosticPosition pos, Symbol location, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes)

private <S extends Symbol> Symbol
lookupInvisibleSymbol(Env<AttrContext> env, Name name, Function<Name, Iterable<S>> get, BiFunction<Symbol.ModuleSymbol, Name, S> load, Predicate<S> validate, Symbol defaultResult)

pack-priv Symbol
lookupMethod(Env<AttrContext> env, JCDiagnostic.DiagnosticPosition pos, Symbol location, Resolve.MethodCheck methodCheck, Resolve.LookupHelper lookupHelper)

Main overload resolution routine.

pack-priv Symbol
pack-priv Symbol
pack-priv Resolve.ReferenceLookupHelper
makeReferenceLookupHelper(JCTree.JCMemberReference referenceTree, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes, Resolve.MethodResolutionPhase maxPhase)

public Object
pack-priv Symbol
mostSpecific(List<Type> argtypes, Symbol m1, Symbol m2, Env<AttrContext> env, final Type site, boolean useVarargs)

private boolean
private Resolve.RecoveryLoadClass
onDemandImportScopeRecovery(boolean moduleImportScope)

private boolean
private List<Type>
pack-priv Type
rawInstantiate(Env<AttrContext>
The current environment
env
,
Type
The type of which the method is a member.
site
,
Symbol
The method symbol.
m
,
Attr.ResultInfo resultInfo, List<Type>
The invocation's given value arguments.
argtypes
,
List<Type>
The invocation's given type arguments.
typeargtypes
,
boolean
Allow boxing conversions of arguments.
allowBoxing
,
boolean
Box trailing arguments into an array for varargs.
useVarargs
,
Warner warn)

Try to instantiate the type of a method so that it fits given type arguments and argument types.

pack-priv void
reportVerboseResolutionDiagnostic(JCDiagnostic.DiagnosticPosition dpos, Name name, Type site, List<Type> argtypes, List<Type> typeargtypes, Symbol bestSoFar)

pack-priv Symbol
resolveConstructor(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the constructor invocation.
env
,
Type
The type of class for which a constructor is searched.
site
,
List<Type>
The types of the constructor invocation's value arguments.
argtypes
,
List<Type>
The types of the constructor invocation's type arguments.
typeargtypes
)

Resolve constructor.

private Symbol
resolveConstructor(Resolve.MethodResolutionContext resolveContext, final JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Type site, List<Type> argtypes, List<Type> typeargtypes)

pack-priv Symbol
resolveDiamond(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the constructor invocation.
env
,
Type
The type of class for which a constructor is searched. The scope of this class has been touched in attribution.
site
,
List<Type>
The types of the constructor invocation's value arguments.
argtypes
,
List<Type>
The types of the constructor invocation's type arguments.
typeargtypes
)

Resolve constructor using diamond inference.

pack-priv Symbol
resolveIdent(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the identifier use.
env
,
Name
The identifier's name.
name
,
Kinds.KindSelector
The set of admissible symbol kinds for the identifier.
kind
)

Resolve an unqualified (non-method) identifier.

public Symbol.MethodSymbol
resolveInternalConstructor(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the method invocation.
env
,
Type
The type to be constructed.
site
,
List<Type>
The types of the invocation's value arguments.
argtypes
,
List<Type>
The types of the invocation's type arguments.
typeargtypes
)

Resolve a constructor, throw a fatal error if not found.

public Symbol.VarSymbol
resolveInternalField(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the method invocation.
env
,
Type
The type of the qualifying expression, in which identifier is searched.
site
,
Name
The identifier's name.
name
)

Resolve a field identifier, throw a fatal error if not found.

public Symbol.MethodSymbol
resolveInternalMethod(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the method invocation.
env
,
Type
The type of the qualifying expression, in which identifier is searched.
site
,
Name
The identifier's name.
name
,
List<Type>
The types of the invocation's value arguments.
argtypes
,
List<Type>
The types of the invocation's type arguments.
typeargtypes
)

Resolve a qualified method identifier, throw a fatal error if not found.

pack-priv Pair<Symbol, Resolve.ReferenceLookupHelper>
resolveMemberReference(Env<AttrContext> env, JCTree.JCMemberReference referenceTree, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes, Type descriptor, Resolve.MethodCheck methodCheck, InferenceContext inferenceContext, Resolve.ReferenceChooser referenceChooser)

Resolution of member references is typically done as a single overload resolution step, where the argument types A are inferred from the target functional descriptor.

pack-priv Symbol
resolveMethod(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the method invocation.
env
,
Name
The identifier's name.
name
,
List<Type>
The types of the invocation's value arguments.
argtypes
,
List<Type>
The types of the invocation's type arguments.
typeargtypes
)

Resolve an unqualified method identifier.

pack-priv Symbol
resolveQualifiedMethod(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the method invocation.
env
,
Type
The type of the qualifying expression, in which identifier is searched.
site
,
Name
The identifier's name.
name
,
List<Type>
The types of the invocation's value arguments.
argtypes
,
List<Type>
The types of the invocation's type arguments.
typeargtypes
)

Resolve a qualified method identifier

pack-priv Symbol
resolveQualifiedMethod(JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Symbol location, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes)

private Symbol
resolveQualifiedMethod(Resolve.MethodResolutionContext resolveContext, JCDiagnostic.DiagnosticPosition pos, Env<AttrContext> env, Symbol location, Type site, Name name, List<Type> argtypes, List<Type> typeargtypes)

pack-priv Symbol
resolveSelf(JCDiagnostic.DiagnosticPosition
The position to use for error reporting.
pos
,
Env<AttrContext>
The environment current at the expression.
env
,
Symbol.TypeSymbol
The type of the selected expression
c
,
JCTree.JCFieldAccess
The expression
tree
)

Resolve `c.name' where name == this or name == super.

pack-priv Symbol
selectBest(Env<AttrContext>
The current environment.
env
,
Type
The original type from where the selection takes place.
site
,
List<Type>
The invocation's value arguments,
argtypes
,
List<Type>
The invocation's type arguments,
typeargtypes
,
Symbol
Proposed new best match.
sym
,
Symbol
Previously found best match.
bestSoFar
,
boolean
Allow boxing conversions of arguments.
allowBoxing
,
boolean
Box trailing arguments into an array for varargs.
useVarargs
)

Select the best method for a call site among two choices.

private boolean
signatureMoreSpecific(List<Type> actuals, Env<AttrContext> env, Type site, Symbol m1, Symbol m2, boolean useVarargs)

pack-priv Iterable<Symbol.TypeSymbol>
superclasses(final Type intype)

Return an Iterable object to scan the superclasses of a given type.

private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait