public class ClosureCodingConvention extends CodingConventions.Proxy
Modifier and Type | Class and Description |
---|---|
static class |
ClosureCodingConvention.AssertFunctionByTypeName
A function that will throw an exception when the value is not an
instanceof the given type name, for instance "Element".
|
static class |
ClosureCodingConvention.AssertInstanceofSpec
A function that will throw an exception when if the value is not
an instanceof a specific type.
|
CodingConvention.AssertionFunctionSpec, CodingConvention.Bind, CodingConvention.DelegateRelationship, CodingConvention.ObjectLiteralCast, CodingConvention.SubclassRelationship, CodingConvention.SubclassType
nextConvention
Constructor and Description |
---|
ClosureCodingConvention() |
ClosureCodingConvention(CodingConvention wrapped) |
Modifier and Type | Method and Description |
---|---|
void |
applySingletonGetter(FunctionType functionType,
FunctionType getterType,
ObjectType objectType)
In many JS libraries, the function that adds a singleton getter to a class
adds properties to the class.
|
void |
applySubclassRelationship(FunctionType parentCtor,
FunctionType childCtor,
CodingConvention.SubclassType type)
Closure's goog.inherits adds a
superClass_ property to the
subclass, and a constructor property. |
CodingConvention.Bind |
describeFunctionBind(Node n,
boolean useTypeInfo)
A Bind instance or null.
|
String |
extractClassNameIfProvide(Node node,
Node parent)
Extracts X from goog.provide('X'), if the applied Node is goog.
|
String |
extractClassNameIfRequire(Node node,
Node parent)
Extracts X from goog.require('X'), if the applied Node is goog.
|
boolean |
extractIsModuleFile(Node node,
Node parent)
Convenience method for determining if the node indicates the file
is a "module" file (a file whose top level symbols are not in global
scope).
|
String |
getAbstractMethodName()
Function name for abstract methods.
|
Collection<CodingConvention.AssertionFunctionSpec> |
getAssertionFunctions()
Returns the set of AssertionFunction.
|
CodingConvention.SubclassRelationship |
getClassesDefinedByCall(Node callNode)
Checks if the given method defines a subclass relationship,
and if it does, returns information on that relationship.
|
String |
getExportPropertyFunction()
Use closure's implementation.
|
String |
getExportSymbolFunction()
Use closure's implementation.
|
String |
getGlobalObject()
Gets the name of the global object.
|
Collection<String> |
getIndirectlyDeclaredProperties()
Gets a collection of all properties that are defined indirectly on global
objects.
|
CodingConvention.ObjectLiteralCast |
getObjectLiteralCast(Node callNode)
Checks if the given method performs a object literal cast, and if it does,
returns information on the cast.
|
String |
getSingletonGetterClassName(Node callNode)
Checks if the given method defines a singleton getter, and if it does,
returns the name of the class with the singleton getter.
|
List<String> |
identifyTypeDeclarationCall(Node n)
Checks if the given CALL node is forward-declaring any types,
and returns the name of the types if it is.
|
boolean |
isPrivate(String name)
Checks whether a name should be considered private.
|
boolean |
isPropertyTestFunction(Node call)
Whether this CALL function is testing for the existence of a property.
|
boolean |
isSuperClassReference(String propertyName)
Returns true if passed a string referring to the superclass.
|
applyDelegateRelationship, checkForCallingConventionDefiningCalls, defineDelegateProxyPrototypeProperties, describeFunctionBind, getDelegateRelationship, getDelegateSuperclassName, getPackageName, isConstant, isConstantKey, isExported, isExported, isInlinableFunction, isOptionalParameter, isPrototypeAlias, isValidEnumKey, isVarArgsParameter
public ClosureCodingConvention()
public ClosureCodingConvention(CodingConvention wrapped)
public void applySubclassRelationship(FunctionType parentCtor, FunctionType childCtor, CodingConvention.SubclassType type)
superClass_
property to the
subclass, and a constructor
property.applySubclassRelationship
in interface CodingConvention
applySubclassRelationship
in class CodingConventions.Proxy
public CodingConvention.SubclassRelationship getClassesDefinedByCall(Node callNode)
Understands several different inheritance patterns that occur in
Google code (various uses of inherits
and mixin
).
getClassesDefinedByCall
in interface CodingConvention
getClassesDefinedByCall
in class CodingConventions.Proxy
callNode
- A CALL node.public boolean isSuperClassReference(String propertyName)
CodingConvention
isSuperClassReference
in interface CodingConvention
isSuperClassReference
in class CodingConventions.Proxy
public boolean extractIsModuleFile(Node node, Node parent)
CodingConvention
extractIsModuleFile
in interface CodingConvention
extractIsModuleFile
in class CodingConventions.Proxy
public String extractClassNameIfProvide(Node node, Node parent)
extractClassNameIfProvide
in interface CodingConvention
extractClassNameIfProvide
in class CodingConventions.Proxy
public String extractClassNameIfRequire(Node node, Node parent)
extractClassNameIfRequire
in interface CodingConvention
extractClassNameIfRequire
in class CodingConventions.Proxy
public String getExportPropertyFunction()
getExportPropertyFunction
in interface CodingConvention
getExportPropertyFunction
in class CodingConventions.Proxy
public String getExportSymbolFunction()
getExportSymbolFunction
in interface CodingConvention
getExportSymbolFunction
in class CodingConventions.Proxy
public List<String> identifyTypeDeclarationCall(Node n)
CodingConvention
identifyTypeDeclarationCall
in interface CodingConvention
identifyTypeDeclarationCall
in class CodingConventions.Proxy
public String getAbstractMethodName()
CodingConvention
getAbstractMethodName
in interface CodingConvention
getAbstractMethodName
in class CodingConventions.Proxy
public String getSingletonGetterClassName(Node callNode)
CodingConvention
getSingletonGetterClassName
in interface CodingConvention
getSingletonGetterClassName
in class CodingConventions.Proxy
callNode
- A CALL node.public void applySingletonGetter(FunctionType functionType, FunctionType getterType, ObjectType objectType)
CodingConvention
applySingletonGetter
in interface CodingConvention
applySingletonGetter
in class CodingConventions.Proxy
public String getGlobalObject()
CodingConvention
getGlobalObject
in interface CodingConvention
getGlobalObject
in class CodingConventions.Proxy
public boolean isPropertyTestFunction(Node call)
CodingConvention
isPropertyTestFunction
in interface CodingConvention
isPropertyTestFunction
in class CodingConventions.Proxy
public CodingConvention.ObjectLiteralCast getObjectLiteralCast(Node callNode)
CodingConvention
getObjectLiteralCast
in interface CodingConvention
getObjectLiteralCast
in class CodingConventions.Proxy
callNode
- A CALL node.public boolean isPrivate(String name)
CodingConvention
isPrivate
in interface CodingConvention
isPrivate
in class CodingConventions.Proxy
name
- The name of a global variable or function, or a method or
property.true
if the name should be considered private.public Collection<CodingConvention.AssertionFunctionSpec> getAssertionFunctions()
CodingConvention
getAssertionFunctions
in interface CodingConvention
getAssertionFunctions
in class CodingConventions.Proxy
public CodingConvention.Bind describeFunctionBind(Node n, boolean useTypeInfo)
CodingConvention
describeFunctionBind
in interface CodingConvention
describeFunctionBind
in class CodingConventions.Proxy
useTypeInfo
- If we believe type information is reliable enough
to use to figure out what the bind function is.public Collection<String> getIndirectlyDeclaredProperties()
CodingConvention
getIndirectlyDeclaredProperties
in interface CodingConvention
getIndirectlyDeclaredProperties
in class CodingConventions.Proxy
Copyright © 2009-2014 Google. All Rights Reserved.