|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.wst.jsdt.internal.compiler.ast.ASTNode
org.eclipse.wst.jsdt.core.infer.InferredType
public class InferredType
The represenation of an inferred type. Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.
Field Summary | |
---|---|
static char[] |
ARRAY_NAME
|
InferredAttribute[] |
attributes
|
org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding |
binding
|
static char[] |
GLOBAL_NAME
|
java.lang.String |
inferenceProviderID
|
java.lang.String |
inferenceStyle
|
boolean |
isAnonymous
|
boolean |
isArray
|
boolean |
isDefinition
|
boolean |
isObjectLiteral
|
java.util.ArrayList |
methods
|
int |
numberAttributes
|
static char[] |
OBJECT_LITERAL_NAME
|
static char[] |
OBJECT_NAME
|
InferredType |
referenceClass
|
org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope |
scope
|
InferredType |
superClass
|
java.lang.Object |
userData
|
Fields inherited from class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode |
---|
Bit1, Bit10, Bit11, Bit12, Bit13, Bit14, Bit15, Bit16, Bit17, Bit18, Bit19, Bit2, Bit20, Bit21, Bit22, Bit23, Bit24, Bit25, Bit26, Bit27, Bit28, Bit29, Bit3, Bit30, Bit31, Bit32, Bit32L, Bit33L, Bit34L, Bit35L, Bit36L, Bit37L, Bit38L, Bit39L, Bit4, Bit40L, Bit41L, Bit42L, Bit43L, Bit44L, Bit45L, Bit46L, Bit47L, Bit48L, Bit49L, Bit5, Bit50L, Bit51L, Bit52L, Bit53L, Bit54L, Bit55L, Bit56L, Bit57L, Bit58L, Bit59L, Bit6, Bit60L, Bit61L, Bit62L, Bit63L, Bit64L, Bit7, Bit8, Bit9, bits, BlockExit, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DisableUnnecessaryCastCheck, DiscardEnclosingInstance, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, GenerateCheckcast, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasLocalType, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, INVOCATION_ARGUMENT_WILDCARD, IsAnnotationDefaultValue, IsAnonymousType, IsAnySubRoutineEscaping, IsCompoundAssigned, IsDefaultConstructor, IsElseIfStatement, IsFileImport, IsImplicitThis, IsImplicitUnit, IsInferredJsDocType, IsInferredType, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsTryBlockExiting, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, RestrictiveFlagMASK, ReturnTypeIDMASK, sourceEnd, sourceStart, SuperAccess, ThenExit, UndocumentedEmptyBlock, UnnecessaryCast, UnsafeCast, Used |
Fields inherited from interface org.eclipse.wst.jsdt.internal.compiler.lookup.TypeConstants |
---|
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANY, ARRAY, BOOLEAN, BOOLEAN_OBJECT, 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, ERROR, FLOAT, FUNCTION, GETCLASS, INIT, INT, IO, JAVA, JAVA_IO, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, 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, NUMBER, OBJECT, OK, PACKAGE_INFO_NAME, PROTOTYPE, READOBJECT, READRESOLVE, REFLECT, REGEXP, 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, SYSTEMJS, TYPE, UNCHECKED, UNDEFINED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE |
Fields inherited from interface org.eclipse.wst.jsdt.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_any, T_boolean, T_byte, T_char, T_double, T_float, T_function, T_int, T_JavaIoException, T_JavaIoExternalizable, T_JavaIoObjectStreamException, 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_last_basic, T_long, T_null, T_short, T_undefined, T_void, UNBOXING |
Constructor Summary | |
---|---|
InferredType(char[] className)
Create a new inferred type |
Method Summary | |
---|---|
InferredAttribute |
addAttribute(char[] name,
IASTNode definer)
Add a new inferred attribute to the inferred type |
InferredAttribute |
addAttribute(InferredAttribute newAttribute)
Add an InferredAttribute to this inferred type. |
InferredMethod |
addMethod(char[] methodName,
IFunctionDeclaration functionDeclaration,
boolean isConstructor)
Add a new method to the inferred type |
boolean |
containsMethod(IAbstractFunctionDeclaration inMethod)
|
IAbstractFunctionDeclaration |
declarationOf(org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding methodBinding)
|
void |
dumpReference(java.lang.StringBuffer sb)
|
InferredAttribute |
findAttribute(char[] name)
Find the inferred attribute with the given name |
InferredMethod |
findMethod(char[] methodName,
IFunctionDeclaration methodDeclaration)
Find an inferred method |
char[] |
getName()
Gets the name of the inferred type |
int |
getNameStart()
|
char[] |
getSuperClassName()
Get the superclass name of the inferred type |
boolean |
isArray()
|
boolean |
isInferred()
|
boolean |
isNamed()
|
java.lang.StringBuffer |
print(int indent,
java.lang.StringBuffer output)
|
org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding |
resolveSuperType(org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope classScope)
|
org.eclipse.wst.jsdt.internal.compiler.lookup.TypeBinding |
resolveType(org.eclipse.wst.jsdt.internal.compiler.lookup.Scope scope,
org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode node)
|
void |
setNameStart(int start)
Set the charactor position (in the source) of the type name |
void |
updatePositions(int start,
int end)
|
Methods inherited from class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode |
---|
checkInvocationArguments, concreteStatement, getASTType, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printAnnotations, printIndent, printModifiers, resolveDeprecatedAnnotations, sourceEnd, sourceStart, toString, traverse, traverse |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public java.util.ArrayList methods
public InferredAttribute[] attributes
public int numberAttributes
public InferredType superClass
public InferredType referenceClass
public org.eclipse.wst.jsdt.internal.compiler.lookup.SourceTypeBinding binding
public boolean isDefinition
public org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope scope
public boolean isArray
public boolean isAnonymous
public boolean isObjectLiteral
public java.lang.String inferenceProviderID
public java.lang.String inferenceStyle
public static final char[] OBJECT_NAME
public static final char[] OBJECT_LITERAL_NAME
public static final char[] ARRAY_NAME
public static final char[] GLOBAL_NAME
public java.lang.Object userData
Constructor Detail |
---|
public InferredType(char[] className)
className
- inferred type nameMethod Detail |
---|
public char[] getName()
public char[] getSuperClassName()
public InferredAttribute addAttribute(char[] name, IASTNode definer)
name
- the attribute namedefiner
- the ASTNode which this attribute is inferred from
public InferredAttribute addAttribute(InferredAttribute newAttribute)
newAttribute
- the attribute to add.
public InferredAttribute findAttribute(char[] name)
name
- name of the attribute to find
public InferredMethod addMethod(char[] methodName, IFunctionDeclaration functionDeclaration, boolean isConstructor)
methodName
- name of the method to addfunctionDeclaration
- the AST Node containing the method bodeisConstructor
- true if it is a constructor
public InferredMethod findMethod(char[] methodName, IFunctionDeclaration methodDeclaration)
methodName
- name of the method to findmethodDeclaration
- not used
public org.eclipse.wst.jsdt.internal.compiler.lookup.TypeBinding resolveType(org.eclipse.wst.jsdt.internal.compiler.lookup.Scope scope, org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode node)
public void dumpReference(java.lang.StringBuffer sb)
public boolean containsMethod(IAbstractFunctionDeclaration inMethod)
public org.eclipse.wst.jsdt.internal.compiler.lookup.ReferenceBinding resolveSuperType(org.eclipse.wst.jsdt.internal.compiler.lookup.ClassScope classScope)
public boolean isArray()
public java.lang.StringBuffer print(int indent, java.lang.StringBuffer output)
print
in class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode
public boolean isInferred()
isInferred
in class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode
public void updatePositions(int start, int end)
public IAbstractFunctionDeclaration declarationOf(org.eclipse.wst.jsdt.internal.compiler.lookup.MethodBinding methodBinding)
public boolean isNamed()
public void setNameStart(int start)
start
- type name positionpublic int getNameStart()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |