Package org.fife.rsta.ac.js.ast.type
Class TypeDeclarationFactory
- java.lang.Object
-
- org.fife.rsta.ac.js.ast.type.TypeDeclarationFactory
-
public class TypeDeclarationFactory extends java.lang.ObjectTypeDeclarationFactory contains cache of TypeDeclarations for to make the lookup of JavaScript types as efficient as possible.
-
-
Field Summary
Fields Modifier and Type Field Description private TypeDeclarationsecma
-
Constructor Summary
Constructors Constructor Description TypeDeclarationFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddType(java.lang.String name, TypeDeclaration dec)booleancanJavaScriptBeInstantiated(java.lang.String name)Answers the question whether an object can be instantiated (i.e.java.lang.StringconvertJavaScriptType(java.lang.String lookupName, boolean qualified)The API may have its own types, so these need converting back to JavaScript types e.g.java.util.List<TypeDeclaration>getAllJavaScriptTypes()java.lang.StringgetClassName(java.lang.String lookup)protected java.lang.StringgetDefaultECMAVersion()TypeDeclarationgetDefaultTypeDeclaration()java.util.Set<TypeDeclarations.JavaScriptObject>getECMAScriptObjects()private java.lang.StringgetJSTypeDeclarationAsString(java.lang.String name)TypeDeclarationgetTypeDeclaration(java.lang.String name)booleanisJavaScriptType(TypeDeclaration td)Returns whether the qualified name is a built-in JavaScript typevoidremoveType(java.lang.String name)Removes declaration type from type cachejava.util.List<java.lang.String>setTypeDeclarationVersion(java.lang.String ecmaVersion, boolean xmlSupported, boolean client)
-
-
-
Field Detail
-
ecma
private TypeDeclarations ecma
-
-
Method Detail
-
setTypeDeclarationVersion
public java.util.List<java.lang.String> setTypeDeclarationVersion(java.lang.String ecmaVersion, boolean xmlSupported, boolean client)
-
getDefaultECMAVersion
protected java.lang.String getDefaultECMAVersion()
- Returns:
- Default base ECMA implementation
-
getAllJavaScriptTypes
public java.util.List<TypeDeclaration> getAllJavaScriptTypes()
-
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- The type declaration to check.- Returns:
- Whether it is a built-in JS type.
-
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
-
getJSTypeDeclarationAsString
private java.lang.String getJSTypeDeclarationAsString(java.lang.String name)
- Parameters:
name- of TypeDeclaration to lookup- Returns:
- lookup
TypeDeclarationand return the JavaScript name
-
convertJavaScriptType
public java.lang.String convertJavaScriptType(java.lang.String lookupName, boolean qualified)The API may have its own types, so these need converting back to JavaScript types e.g. JSString == String, JSNumber == Number
-
getDefaultTypeDeclaration
public TypeDeclaration getDefaultTypeDeclaration()
- Returns:
- default type declaration - ANY
-
addType
public void addType(java.lang.String name, TypeDeclaration dec)
-
getClassName
public java.lang.String getClassName(java.lang.String lookup) throws java.lang.RuntimeException- Throws:
java.lang.RuntimeException
-
getECMAScriptObjects
public java.util.Set<TypeDeclarations.JavaScriptObject> getECMAScriptObjects()
- Returns:
- a list of ECMA JavaScriptObjects
-
canJavaScriptBeInstantiated
public boolean canJavaScriptBeInstantiated(java.lang.String name)
Answers the question whether an object can be instantiated (i.e. has a constructor)- Parameters:
name- name of class to test
-
-