org.eclipse.jdt.internal.compiler.lookup
Class Scope

java.lang.Object
  extended by org.eclipse.jdt.internal.compiler.lookup.Scope
All Implemented Interfaces:
TypeConstants, TypeIds
Direct Known Subclasses:
BlockScope, ClassScope, CompilationUnitScope

public abstract class Scope
extends java.lang.Object
implements TypeConstants, TypeIds


Field Summary
static int AUTOBOX_COMPATIBLE
           
static int BLOCK_SCOPE
           
static int CLASS_SCOPE
           
static int COMPATIBLE
           
static int COMPILATION_UNIT_SCOPE
           
static int EQUAL_OR_MORE_SPECIFIC
           
 int kind
           
static int METHOD_SCOPE
           
static int MORE_GENERIC
           
static int NOT_COMPATIBLE
           
static int NOT_RELATED
           
 Scope parent
           
static int VARARGS_COMPATIBLE
           
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.lookup.TypeConstants
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, BOOLEAN, BYTE, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CLINIT, CLONE, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, DOUBLE, FLOAT, GETCLASS, INIT, INT, IO, JAVA, JAVA_IO, JAVA_IO_PRINTSTREAM, JAVA_IO_SERIALIZABLE, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_UTIL_ITERATOR, LANG, LENGTH, LONG, MAIN, MISMATCH, NULL, OBJECT, OK, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE
 
Fields inherited from interface org.eclipse.jdt.internal.compiler.lookup.TypeIds
Boolean2Boolean, Boolean2Int, Boolean2String, BOXING, Byte2Byte, Byte2Char, Byte2Double, Byte2Float, Byte2Int, Byte2Long, Byte2Short, Byte2String, Char2Byte, Char2Char, Char2Double, Char2Float, Char2Int, Char2Long, Char2Short, Char2String, COMPILE_TYPE_MASK, Double2Byte, Double2Char, Double2Double, Double2Float, Double2Int, Double2Long, Double2Short, Double2String, Float2Byte, Float2Char, Float2Double, Float2Float, Float2Int, Float2Long, Float2Short, Float2String, IMPLICIT_CONVERSION_MASK, Int2Byte, Int2Char, Int2Double, Int2Float, Int2Int, Int2Long, Int2Short, Int2String, Long2Byte, Long2Char, Long2Double, Long2Float, Long2Int, Long2Long, Long2Short, Long2String, NoId, Null2String, Object2Object, Object2String, Short2Byte, Short2Char, Short2Double, Short2Float, Short2Int, Short2Long, Short2Short, Short2String, String2String, T_boolean, T_byte, T_char, T_double, T_float, T_int, T_JavaIoPrintStream, T_JavaIoSerializable, T_JavaLangAnnotationAnnotation, T_JavaLangAnnotationDocumented, T_JavaLangAnnotationElementType, T_JavaLangAnnotationInherited, T_JavaLangAnnotationRetention, T_JavaLangAnnotationRetentionPolicy, T_JavaLangAnnotationTarget, T_JavaLangAssertionError, T_JavaLangBoolean, T_JavaLangByte, T_JavaLangCharacter, T_JavaLangClass, T_JavaLangClassNotFoundException, T_JavaLangCloneable, T_JavaLangDeprecated, T_JavaLangDouble, T_JavaLangEnum, T_JavaLangError, T_JavaLangException, T_JavaLangFloat, T_JavaLangIllegalArgumentException, T_JavaLangInteger, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangReflectConstructor, T_JavaLangReflectField, T_JavaLangReflectMethod, T_JavaLangRuntimeException, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilIterator, T_long, T_null, T_short, T_undefined, T_void, UNBOXING
 
Constructor Summary
protected Scope(int kind, Scope parent)
           
 
Method Summary
 TypeBinding boxing(TypeBinding type)
           
 ClassScope classScope()
           
static int compareTypes(TypeBinding left, TypeBinding right)
           
 CompilationUnitScope compilationUnitScope()
           
 CompilerOptions compilerOptions()
          Finds the most specific compiler options
protected  MethodBinding computeCompatibleMethod(MethodBinding method, TypeBinding[] arguments, InvocationSite invocationSite)
          Internal use only Given a method, returns null if arguments cannot be converted to parameters.
protected  boolean connectTypeVariables(TypeParameter[] typeParameters, boolean checkForErasedCandidateCollisions)
           
 ArrayBinding createArrayType(TypeBinding type, int dimension)
           
 TypeVariableBinding[] createTypeVariables(TypeParameter[] typeParameters, Binding declaringElement)
           
 ClassScope enclosingClassScope()
           
 MethodScope enclosingMethodScope()
           
 ReferenceBinding enclosingReceiverType()
           
 ReferenceContext enclosingReferenceContext()
          Returns the immediately enclosing reference context, starting from current scope parent.
 SourceTypeBinding enclosingSourceType()
           
 LookupEnvironment environment()
           
protected  MethodBinding findDefaultAbstractMethod(ReferenceBinding receiverType, char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite, ReferenceBinding classHierarchyStart, ObjectVector found, MethodBinding concreteMatch)
           
 ReferenceBinding findDirectMemberType(char[] typeName, ReferenceBinding enclosingType)
           
 MethodBinding findExactMethod(ReferenceBinding receiverType, char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
 FieldBinding findField(TypeBinding receiverType, char[] fieldName, InvocationSite invocationSite, boolean needResolve)
           
 ReferenceBinding findMemberType(char[] typeName, ReferenceBinding enclosingType)
           
 MethodBinding findMethod(ReferenceBinding receiverType, char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
 MethodBinding findMethodForArray(ArrayBinding receiverType, char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
protected  void findMethodInSuperInterfaces(ReferenceBinding currentType, char[] selector, ObjectVector found)
           
 ReferenceBinding findType(char[] typeName, PackageBinding declarationPackage, PackageBinding invocationPackage)
           
 LocalVariableBinding findVariable(char[] variable)
           
static TypeBinding getBaseType(char[] name)
           
 Binding getBinding(char[] name, int mask, InvocationSite invocationSite, boolean needResolve)
           
 MethodBinding getConstructor(ReferenceBinding receiverType, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
 PackageBinding getCurrentPackage()
           
 int getDeclarationModifiers()
          Returns the modifiers of the innermost enclosing declaration.
 FieldBinding getField(TypeBinding receiverType, char[] fieldName, InvocationSite invocationSite)
           
 MethodBinding getImplicitMethod(char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
 ReferenceBinding getJavaIoSerializable()
           
 ReferenceBinding getJavaLangAnnotationAnnotation()
           
 ReferenceBinding getJavaLangAssertionError()
           
 ReferenceBinding getJavaLangClass()
           
 ReferenceBinding getJavaLangCloneable()
           
 ReferenceBinding getJavaLangEnum()
           
 ReferenceBinding getJavaLangIterable()
           
 ReferenceBinding getJavaLangObject()
           
 ReferenceBinding getJavaLangString()
           
 ReferenceBinding getJavaLangThrowable()
           
 ReferenceBinding getJavaUtilIterator()
           
 ReferenceBinding getMemberType(char[] typeName, ReferenceBinding enclosingType)
           
 MethodBinding getMethod(TypeBinding receiverType, char[] selector, TypeBinding[] argumentTypes, InvocationSite invocationSite)
           
 Binding getPackage(char[][] compoundName)
           
 TypeBinding getType(char[] name)
           
 TypeBinding getType(char[][] compoundName, int typeNameLength)
           
 TypeBinding getType(char[] name, PackageBinding packageBinding)
           
 Binding getTypeOrPackage(char[][] compoundName)
           
static ReferenceBinding[] greaterLowerBound(ReferenceBinding[] types)
           
static TypeBinding[] greaterLowerBound(TypeBinding[] types)
           
protected  boolean hasErasedCandidatesCollisions(TypeBinding one, TypeBinding two, java.util.Map invocations, ReferenceBinding type, ASTNode typeRef)
           
 CaseStatement innermostSwitchCase()
          Returns the immediately enclosing switchCase statement (carried by closest blockScope),
protected  boolean isAcceptableMethod(MethodBinding one, MethodBinding two)
           
 boolean isBoxingCompatibleWith(TypeBinding expressionType, TypeBinding targetType)
           
 boolean isDefinedInField(FieldBinding field)
           
 boolean isDefinedInMethod(MethodBinding method)
           
 boolean isDefinedInSameUnit(ReferenceBinding type)
           
 boolean isDefinedInType(ReferenceBinding type)
           
 boolean isInsideCase(CaseStatement caseStatement)
          Returns true if the scope or one of its parent is associated to a given caseStatement, denoting being part of a given switch case statement.
 boolean isInsideDeprecatedCode()
           
 TypeBinding lowerUpperBound(TypeBinding[] types)
          Returns VoidBinding if types have no intersection (e.g.
 MethodScope methodScope()
           
protected  TypeBinding[] minimalErasedCandidates(TypeBinding[] types, java.util.Map allInvocations)
          Returns the most specific set of types compatible with all given types.
protected  MethodBinding mostSpecificClassMethodBinding(MethodBinding[] visible, int visibleSize, InvocationSite invocationSite)
           
protected  MethodBinding mostSpecificInterfaceMethodBinding(MethodBinding[] visible, int visibleSize, InvocationSite invocationSite)
           
protected  MethodBinding mostSpecificMethodBinding(MethodBinding[] visible, int visibleSize, TypeBinding[] argumentTypes, InvocationSite invocationSite, ReferenceBinding receiverType)
           
 ClassScope outerMostClassScope()
           
 MethodScope outerMostMethodScope()
           
protected  int parameterCompatibilityLevel(MethodBinding method, TypeBinding[] arguments)
           
abstract  ProblemReporter problemReporter()
           
 CompilationUnitDeclaration referenceCompilationUnit()
           
 ReferenceContext referenceContext()
          Returns the nearest reference context, starting from current scope.
static ReferenceBinding[] substitute(Substitution substitution, ReferenceBinding[] originalTypes)
          Returns an array of types, where original types got substituted given a substitution.
static TypeBinding substitute(Substitution substitution, TypeBinding originalType)
          Returns a type, where original type was substituted using the receiver parameterized type.
static TypeBinding[] substitute(Substitution substitution, TypeBinding[] originalTypes)
          Returns an array of types, where original types got substituted given a substitution.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BLOCK_SCOPE

public static final int BLOCK_SCOPE
See Also:
Constant Field Values

CLASS_SCOPE

public static final int CLASS_SCOPE
See Also:
Constant Field Values

COMPILATION_UNIT_SCOPE

public static final int COMPILATION_UNIT_SCOPE
See Also:
Constant Field Values

METHOD_SCOPE

public static final int METHOD_SCOPE
See Also:
Constant Field Values

NOT_COMPATIBLE

public static final int NOT_COMPATIBLE
See Also:
Constant Field Values

COMPATIBLE

public static final int COMPATIBLE
See Also:
Constant Field Values

AUTOBOX_COMPATIBLE

public static final int AUTOBOX_COMPATIBLE
See Also:
Constant Field Values

VARARGS_COMPATIBLE

public static final int VARARGS_COMPATIBLE
See Also:
Constant Field Values

EQUAL_OR_MORE_SPECIFIC

public static final int EQUAL_OR_MORE_SPECIFIC
See Also:
Constant Field Values

NOT_RELATED

public static final int NOT_RELATED
See Also:
Constant Field Values

MORE_GENERIC

public static final int MORE_GENERIC
See Also:
Constant Field Values

kind

public int kind

parent

public Scope parent
Constructor Detail

Scope

protected Scope(int kind,
                Scope parent)
Method Detail

compareTypes

public static int compareTypes(TypeBinding left,
                               TypeBinding right)

getBaseType

public static TypeBinding getBaseType(char[] name)

greaterLowerBound

public static ReferenceBinding[] greaterLowerBound(ReferenceBinding[] types)

greaterLowerBound

public static TypeBinding[] greaterLowerBound(TypeBinding[] types)

substitute

public static ReferenceBinding[] substitute(Substitution substitution,
                                            ReferenceBinding[] originalTypes)
Returns an array of types, where original types got substituted given a substitution. Only allocate an array if anything is different.


substitute

public static TypeBinding substitute(Substitution substitution,
                                     TypeBinding originalType)
Returns a type, where original type was substituted using the receiver parameterized type. In raw mode, all parameterized type denoting same original type are converted to raw types. e.g. class X { X foo; X bar; } when used in raw fashion, then type of both foo and bar is raw type X.


substitute

public static TypeBinding[] substitute(Substitution substitution,
                                       TypeBinding[] originalTypes)
Returns an array of types, where original types got substituted given a substitution. Only allocate an array if anything is different.


boxing

public TypeBinding boxing(TypeBinding type)

classScope

public final ClassScope classScope()

compilationUnitScope

public final CompilationUnitScope compilationUnitScope()

compilerOptions

public final CompilerOptions compilerOptions()
Finds the most specific compiler options


computeCompatibleMethod

protected final MethodBinding computeCompatibleMethod(MethodBinding method,
                                                      TypeBinding[] arguments,
                                                      InvocationSite invocationSite)
Internal use only Given a method, returns null if arguments cannot be converted to parameters. Will answer a subsituted method in case the method was generic and type inference got triggered; in case the method was originally compatible, then simply answer it back.


connectTypeVariables

protected boolean connectTypeVariables(TypeParameter[] typeParameters,
                                       boolean checkForErasedCandidateCollisions)

createArrayType

public ArrayBinding createArrayType(TypeBinding type,
                                    int dimension)

createTypeVariables

public TypeVariableBinding[] createTypeVariables(TypeParameter[] typeParameters,
                                                 Binding declaringElement)

enclosingClassScope

public final ClassScope enclosingClassScope()

enclosingMethodScope

public final MethodScope enclosingMethodScope()

enclosingReceiverType

public final ReferenceBinding enclosingReceiverType()

enclosingReferenceContext

public ReferenceContext enclosingReferenceContext()
Returns the immediately enclosing reference context, starting from current scope parent. If starting on a class, it will skip current class. If starting on unitScope, returns null.


enclosingSourceType

public final SourceTypeBinding enclosingSourceType()

environment

public final LookupEnvironment environment()

findDefaultAbstractMethod

protected MethodBinding findDefaultAbstractMethod(ReferenceBinding receiverType,
                                                  char[] selector,
                                                  TypeBinding[] argumentTypes,
                                                  InvocationSite invocationSite,
                                                  ReferenceBinding classHierarchyStart,
                                                  ObjectVector found,
                                                  MethodBinding concreteMatch)

findDirectMemberType

public ReferenceBinding findDirectMemberType(char[] typeName,
                                             ReferenceBinding enclosingType)

findExactMethod

public MethodBinding findExactMethod(ReferenceBinding receiverType,
                                     char[] selector,
                                     TypeBinding[] argumentTypes,
                                     InvocationSite invocationSite)

findField

public FieldBinding findField(TypeBinding receiverType,
                              char[] fieldName,
                              InvocationSite invocationSite,
                              boolean needResolve)

findMemberType

public ReferenceBinding findMemberType(char[] typeName,
                                       ReferenceBinding enclosingType)

findMethod

public MethodBinding findMethod(ReferenceBinding receiverType,
                                char[] selector,
                                TypeBinding[] argumentTypes,
                                InvocationSite invocationSite)

findMethodForArray

public MethodBinding findMethodForArray(ArrayBinding receiverType,
                                        char[] selector,
                                        TypeBinding[] argumentTypes,
                                        InvocationSite invocationSite)

findMethodInSuperInterfaces

protected void findMethodInSuperInterfaces(ReferenceBinding currentType,
                                           char[] selector,
                                           ObjectVector found)

findType

public ReferenceBinding findType(char[] typeName,
                                 PackageBinding declarationPackage,
                                 PackageBinding invocationPackage)

findVariable

public LocalVariableBinding findVariable(char[] variable)

getBinding

public Binding getBinding(char[] name,
                          int mask,
                          InvocationSite invocationSite,
                          boolean needResolve)

getConstructor

public MethodBinding getConstructor(ReferenceBinding receiverType,
                                    TypeBinding[] argumentTypes,
                                    InvocationSite invocationSite)

getCurrentPackage

public final PackageBinding getCurrentPackage()

getDeclarationModifiers

public int getDeclarationModifiers()
Returns the modifiers of the innermost enclosing declaration.

Returns:
modifiers

getField

public FieldBinding getField(TypeBinding receiverType,
                             char[] fieldName,
                             InvocationSite invocationSite)

getImplicitMethod

public MethodBinding getImplicitMethod(char[] selector,
                                       TypeBinding[] argumentTypes,
                                       InvocationSite invocationSite)

getJavaIoSerializable

public final ReferenceBinding getJavaIoSerializable()

getJavaLangAnnotationAnnotation

public final ReferenceBinding getJavaLangAnnotationAnnotation()

getJavaLangAssertionError

public final ReferenceBinding getJavaLangAssertionError()

getJavaLangClass

public final ReferenceBinding getJavaLangClass()

getJavaLangCloneable

public final ReferenceBinding getJavaLangCloneable()

getJavaLangEnum

public final ReferenceBinding getJavaLangEnum()

getJavaLangIterable

public final ReferenceBinding getJavaLangIterable()

getJavaLangObject

public final ReferenceBinding getJavaLangObject()

getJavaLangString

public final ReferenceBinding getJavaLangString()

getJavaLangThrowable

public final ReferenceBinding getJavaLangThrowable()

getJavaUtilIterator

public final ReferenceBinding getJavaUtilIterator()

getMemberType

public final ReferenceBinding getMemberType(char[] typeName,
                                            ReferenceBinding enclosingType)

getMethod

public MethodBinding getMethod(TypeBinding receiverType,
                               char[] selector,
                               TypeBinding[] argumentTypes,
                               InvocationSite invocationSite)

getPackage

public final Binding getPackage(char[][] compoundName)

getType

public final TypeBinding getType(char[] name)

getType

public final TypeBinding getType(char[] name,
                                 PackageBinding packageBinding)

getType

public final TypeBinding getType(char[][] compoundName,
                                 int typeNameLength)

getTypeOrPackage

public final Binding getTypeOrPackage(char[][] compoundName)

hasErasedCandidatesCollisions

protected boolean hasErasedCandidatesCollisions(TypeBinding one,
                                                TypeBinding two,
                                                java.util.Map invocations,
                                                ReferenceBinding type,
                                                ASTNode typeRef)

innermostSwitchCase

public CaseStatement innermostSwitchCase()
Returns the immediately enclosing switchCase statement (carried by closest blockScope),


isAcceptableMethod

protected boolean isAcceptableMethod(MethodBinding one,
                                     MethodBinding two)

isBoxingCompatibleWith

public boolean isBoxingCompatibleWith(TypeBinding expressionType,
                                      TypeBinding targetType)

isDefinedInField

public final boolean isDefinedInField(FieldBinding field)

isDefinedInMethod

public final boolean isDefinedInMethod(MethodBinding method)

isDefinedInSameUnit

public final boolean isDefinedInSameUnit(ReferenceBinding type)

isDefinedInType

public final boolean isDefinedInType(ReferenceBinding type)

isInsideCase

public boolean isInsideCase(CaseStatement caseStatement)
Returns true if the scope or one of its parent is associated to a given caseStatement, denoting being part of a given switch case statement.


isInsideDeprecatedCode

public boolean isInsideDeprecatedCode()

lowerUpperBound

public TypeBinding lowerUpperBound(TypeBinding[] types)
Returns VoidBinding if types have no intersection (e.g. 2 unrelated interfaces), or null if no common supertype (e.g. List and List), or the intersection type if possible


methodScope

public final MethodScope methodScope()

minimalErasedCandidates

protected TypeBinding[] minimalErasedCandidates(TypeBinding[] types,
                                                java.util.Map allInvocations)
Returns the most specific set of types compatible with all given types. (i.e. most specific common super types) If no types is given, will return an empty array. If not compatible reference type is found, returns null. In other cases, will return an array of minimal erased types, where some nulls may appear (and must simply be ignored).


mostSpecificClassMethodBinding

protected final MethodBinding mostSpecificClassMethodBinding(MethodBinding[] visible,
                                                             int visibleSize,
                                                             InvocationSite invocationSite)

mostSpecificInterfaceMethodBinding

protected final MethodBinding mostSpecificInterfaceMethodBinding(MethodBinding[] visible,
                                                                 int visibleSize,
                                                                 InvocationSite invocationSite)

mostSpecificMethodBinding

protected final MethodBinding mostSpecificMethodBinding(MethodBinding[] visible,
                                                        int visibleSize,
                                                        TypeBinding[] argumentTypes,
                                                        InvocationSite invocationSite,
                                                        ReferenceBinding receiverType)

outerMostClassScope

public final ClassScope outerMostClassScope()

outerMostMethodScope

public final MethodScope outerMostMethodScope()

parameterCompatibilityLevel

protected int parameterCompatibilityLevel(MethodBinding method,
                                          TypeBinding[] arguments)

problemReporter

public abstract ProblemReporter problemReporter()

referenceCompilationUnit

public final CompilationUnitDeclaration referenceCompilationUnit()

referenceContext

public ReferenceContext referenceContext()
Returns the nearest reference context, starting from current scope. If starting on a class, it will return current class. If starting on unitScope, returns unit.