public class ResolvedReference extends Object implements IReference
IReference
representing a reference that always
resolves to the definition passed to the constructor.
This is useful for Vector
methods, where the return type is the
type parameter for the Vector
(i.e., T
in
Vector.<T>
. If a Vector
method returns T
then we know what it is; we don't need to walk up the scope chain to resolve
it.
Constructor and Description |
---|
ResolvedReference(IDefinition definition)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
String |
getDisplayString()
Gets a string representation of this reference suitable for display
in the description of a compiler problem.
|
Name |
getMName(ICompilerProject project,
ASScope scope)
Gets the AET {link Name} that this reference represents in the given
project and scope.
|
String |
getName()
Gets the base name for this reference.
|
IDefinition |
resolve(ICompilerProject project,
ASScope scope,
DependencyType dependencyType,
boolean canEscapeWith)
Resolves the reference to its
IDefinition in the given project
and scope. |
public ResolvedReference(IDefinition definition)
public String getName()
IReference
getName
in interface IReference
String.
public IDefinition resolve(ICompilerProject project, ASScope scope, DependencyType dependencyType, boolean canEscapeWith)
IReference
IDefinition
in the given project
and scope.resolve
in interface IReference
project
- The project in which to resolve the reference.scope
- The scope where the resolution is occurring.dependencyType
- The type of dependency to introduce if the reference
resolves outside of the compilation unit.canEscapeWith
- Whether the resolution should look past a
with
scope.IDefinition
the reference resolves to.public String getDisplayString()
IReference
getDisplayString
in interface IReference
public Name getMName(ICompilerProject project, ASScope scope)
IReference
getMName
in interface IReference
project
- The project where the reference is used.scope
- The scope where the reference is used from.Name
representing this referenceCopyright © 2016 The Apache Software Foundation. All rights reserved.