Class TypeDeclarations
- java.lang.Object
-
- org.fife.rsta.ac.js.ast.type.ecma.TypeDeclarations
-
- Direct Known Subclasses:
TypeDeclarationsECMAv3
public abstract class TypeDeclarations extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTypeDeclarations.JavaScriptObjectSimple class holder to hold the name of ECMA object and whether it can be instantiated
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringANYstatic java.lang.StringECMA_ARRAYstatic java.lang.StringECMA_BOOLEANstatic java.lang.StringECMA_DATEprivate static java.lang.StringECMA_DEFAULT_PACKAGEstatic java.lang.StringECMA_ERRORstatic java.lang.StringECMA_FUNCTIONstatic java.lang.StringECMA_GLOBALstatic java.lang.StringECMA_JSONstatic java.lang.StringECMA_MATHstatic java.lang.StringECMA_NAMESPACEstatic java.lang.StringECMA_NUMBERstatic java.lang.StringECMA_OBJECTstatic java.lang.StringECMA_QNAMEstatic java.lang.StringECMA_REGEXPstatic java.lang.StringECMA_STRINGstatic java.lang.StringECMA_XMLstatic java.lang.StringECMA_XMLLISTprivate java.util.HashSet<TypeDeclarations.JavaScriptObject>ecmaObjectsstatic java.lang.StringFUNCTION_CALLprivate java.util.HashMap<java.lang.String,java.lang.String>javascriptReverseLookupstatic java.lang.StringNULL_TYPEprivate java.util.HashMap<java.lang.String,TypeDeclaration>types
-
Constructor Summary
Constructors Constructor Description TypeDeclarations()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddECMAObject(java.lang.String type, boolean canBeInstantiated)voidaddJavaScriptLookup(java.lang.String apiName, java.lang.String jsName)Add Javascript reverse lookupvoidaddTypeDeclaration(java.lang.String name, TypeDeclaration dec)booleancanECMAObjectBeInstantiated(java.lang.String name)Answers the question whether an object can be instantiated (i.e.java.util.List<java.lang.String>getAllClasses()java.util.List<TypeDeclaration>getAllJavaScriptTypeDeclarations()java.lang.StringgetClassName(java.lang.String lookupType)java.util.Set<TypeDeclarations.JavaScriptObject>getJavaScriptObjects()private TypeDeclarationgetJSType(java.lang.String lookupName)Lookup the JavaScript name for a given nameTypeDeclarationgetTypeDeclaration(java.lang.String name)booleanisJavaScriptType(TypeDeclaration td)Returns whether the qualified name is a built-in JavaScript typeprivate voidloadExtensions()protected voidloadJavaScriptConstructors()protected voidloadReverseLookup()protected abstract voidloadTypes()voidremoveType(java.lang.String name)Removes declaration type from type cache
-
-
-
Field Detail
-
ECMA_DEFAULT_PACKAGE
private static final java.lang.String ECMA_DEFAULT_PACKAGE
- See Also:
- Constant Field Values
-
ECMA_ARRAY
public static final java.lang.String ECMA_ARRAY
- See Also:
- Constant Field Values
-
ECMA_BOOLEAN
public static final java.lang.String ECMA_BOOLEAN
- See Also:
- Constant Field Values
-
ECMA_DATE
public static final java.lang.String ECMA_DATE
- See Also:
- Constant Field Values
-
ECMA_ERROR
public static final java.lang.String ECMA_ERROR
- See Also:
- Constant Field Values
-
ECMA_FUNCTION
public static final java.lang.String ECMA_FUNCTION
- See Also:
- Constant Field Values
-
ECMA_MATH
public static final java.lang.String ECMA_MATH
- See Also:
- Constant Field Values
-
ECMA_NUMBER
public static final java.lang.String ECMA_NUMBER
- See Also:
- Constant Field Values
-
ECMA_OBJECT
public static final java.lang.String ECMA_OBJECT
- See Also:
- Constant Field Values
-
ECMA_REGEXP
public static final java.lang.String ECMA_REGEXP
- See Also:
- Constant Field Values
-
ECMA_STRING
public static final java.lang.String ECMA_STRING
- See Also:
- Constant Field Values
-
ECMA_GLOBAL
public static final java.lang.String ECMA_GLOBAL
- See Also:
- Constant Field Values
-
ECMA_JSON
public static final java.lang.String ECMA_JSON
- See Also:
- Constant Field Values
-
ECMA_NAMESPACE
public static final java.lang.String ECMA_NAMESPACE
- See Also:
- Constant Field Values
-
ECMA_QNAME
public static final java.lang.String ECMA_QNAME
- See Also:
- Constant Field Values
-
ECMA_XML
public static final java.lang.String ECMA_XML
- See Also:
- Constant Field Values
-
ECMA_XMLLIST
public static final java.lang.String ECMA_XMLLIST
- See Also:
- Constant Field Values
-
FUNCTION_CALL
public static final java.lang.String FUNCTION_CALL
- See Also:
- Constant Field Values
-
ANY
public static final java.lang.String ANY
- See Also:
- Constant Field Values
-
NULL_TYPE
public static java.lang.String NULL_TYPE
-
types
private final java.util.HashMap<java.lang.String,TypeDeclaration> types
-
javascriptReverseLookup
private final java.util.HashMap<java.lang.String,java.lang.String> javascriptReverseLookup
-
ecmaObjects
private final java.util.HashSet<TypeDeclarations.JavaScriptObject> ecmaObjects
-
-
Method Detail
-
loadExtensions
private void loadExtensions()
-
loadJavaScriptConstructors
protected void loadJavaScriptConstructors()
-
addECMAObject
public void addECMAObject(java.lang.String type, boolean canBeInstantiated)
-
loadReverseLookup
protected void loadReverseLookup()
-
loadTypes
protected abstract void loadTypes()
-
addTypeDeclaration
public void addTypeDeclaration(java.lang.String name, TypeDeclaration dec)
-
getClassName
public java.lang.String getClassName(java.lang.String lookupType)
-
getAllClasses
public java.util.List<java.lang.String> getAllClasses()
-
getAllJavaScriptTypeDeclarations
public java.util.List<TypeDeclaration> getAllJavaScriptTypeDeclarations()
-
addJavaScriptLookup
public void addJavaScriptLookup(java.lang.String apiName, java.lang.String jsName)Add Javascript reverse lookup- Parameters:
apiName- Java API namejsName- Javascript name
-
removeType
public void removeType(java.lang.String name)
Removes declaration type from type cache- Parameters:
name- name of type declaration
-
isJavaScriptType
public boolean isJavaScriptType(TypeDeclaration td)
Returns whether the qualified name is a built-in JavaScript type- Parameters:
td-- Returns:
-
getTypeDeclaration
public TypeDeclaration getTypeDeclaration(java.lang.String name)
- Parameters:
name-- Returns:
- Lookup type declaration from name. If the
TypeDeclarationcannot be found, then lookup using reserve lookup
-
getJSType
private TypeDeclaration getJSType(java.lang.String lookupName)
Lookup the JavaScript name for a given name- Parameters:
lookupName-- Returns:
- check whether the name is wrapped in [] then return ArrayTypeDeclaration otherwise lookup from JavaScript Name cache
- See Also:
ArrayTypeDeclaration
-
getJavaScriptObjects
public java.util.Set<TypeDeclarations.JavaScriptObject> getJavaScriptObjects()
-
canECMAObjectBeInstantiated
public boolean canECMAObjectBeInstantiated(java.lang.String name)
Answers the question whether an object can be instantiated (i.e. has a constructor) Note, only tests ECMA objects- Parameters:
name- name of class to test
-
-