@Immutable public final class ClosureCodingConvention extends CodingConventions.Proxy
CodingConvention.AssertionFunctionLookup, CodingConvention.AssertionFunctionSpec, CodingConvention.Bind, CodingConvention.Cache, CodingConvention.DelegateRelationship, CodingConvention.ObjectLiteralCast, CodingConvention.SubclassRelationship, CodingConvention.SubclassTypenextConvention| Constructor and Description |
|---|
ClosureCodingConvention() |
ClosureCodingConvention(CodingConvention wrapped) |
| Modifier and Type | Method and Description |
|---|---|
void |
applySingletonGetter(NominalTypeBuilder classType,
FunctionType getterType)
In many JS libraries, the function that adds a singleton getter to a class
adds properties to the class.
|
void |
applySubclassRelationship(NominalTypeBuilder parent,
NominalTypeBuilder child,
CodingConvention.SubclassType type)
Closure's goog.inherits adds a
superClass_ property to the
subclass, and a constructor property. |
CodingConvention.Cache |
describeCachingCall(Node node)
Builds a
CodingConvention.Cache instance from the given call node and returns that instance, or null
if the Node does not resemble a cache utility call. |
CodingConvention.Bind |
describeFunctionBind(Node n,
boolean callerChecksTypes,
boolean iCheckTypes)
A Bind instance or null.
|
java.lang.String |
extractClassNameIfProvide(Node node,
Node parent)
Extracts X from goog.provide('X'), if the applied Node is goog.
|
java.lang.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).
|
java.lang.String |
getAbstractMethodName()
Function name for abstract methods.
|
com.google.common.collect.ImmutableCollection<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.
|
java.lang.String |
getExportPropertyFunction()
Use closure's implementation.
|
java.lang.String |
getExportSymbolFunction()
Use closure's implementation.
|
java.lang.String |
getGlobalObject()
Gets the name of the global object.
|
com.google.common.collect.ImmutableCollection<java.lang.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.
|
java.lang.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.
|
java.util.List<java.lang.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 |
isAliasingGlobalThis(Node n)
Whether this statement is creating an alias of the global object
|
boolean |
isClassFactoryCall(Node callNode)
Checks if the given method is a call to a class factory, such a factory returns a
unique class.
|
boolean |
isFunctionCallThatAlwaysThrows(Node n)
Used by CheckMissingReturn.
|
boolean |
isPrivate(java.lang.String name)
Checks whether a name should be considered private.
|
boolean |
isPropertyRenameFunction(java.lang.String name)
Whether this CALL function is returning the string name for a property, but allows renaming.
|
boolean |
isPropertyTestFunction(Node call)
Whether this CALL function is testing for the existence of a property.
|
boolean |
isSuperClassReference(java.lang.String propertyName)
Returns true if passed a string referring to the superclass.
|
applyDelegateRelationship, blockRenamingForProperty, checkForCallingConventionDefinitions, defineDelegateProxyPrototypeProperties, describeFunctionBind, getDelegateRelationship, getDelegateSuperclassName, getPackageName, hasPrivacyConvention, isConstant, isConstantKey, isExported, isExported, isInlinableFunction, isOptionalParameter, isPrototypeAlias, isValidEnumKey, isVarArgsParameterpublic ClosureCodingConvention()
public ClosureCodingConvention(CodingConvention wrapped)
public void applySubclassRelationship(NominalTypeBuilder parent, NominalTypeBuilder child, CodingConvention.SubclassType type)
superClass_ property to the
subclass, and a constructor property.applySubclassRelationship in interface CodingConventionapplySubclassRelationship in class CodingConventions.Proxypublic CodingConvention.SubclassRelationship getClassesDefinedByCall(Node callNode)
Understands several different inheritance patterns that occur in
Google code (various uses of inherits and mixin).
getClassesDefinedByCall in interface CodingConventiongetClassesDefinedByCall in class CodingConventions.ProxycallNode - A CALL node.public boolean isClassFactoryCall(Node callNode)
CodingConventionisClassFactoryCall in interface CodingConventionisClassFactoryCall in class CodingConventions.ProxycallNode - A CALL node.public boolean isSuperClassReference(java.lang.String propertyName)
CodingConventionisSuperClassReference in interface CodingConventionisSuperClassReference in class CodingConventions.Proxypublic boolean extractIsModuleFile(Node node, Node parent)
CodingConventionextractIsModuleFile in interface CodingConventionextractIsModuleFile in class CodingConventions.Proxypublic java.lang.String extractClassNameIfProvide(Node node, Node parent)
extractClassNameIfProvide in interface CodingConventionextractClassNameIfProvide in class CodingConventions.Proxypublic java.lang.String extractClassNameIfRequire(Node node, Node parent)
extractClassNameIfRequire in interface CodingConventionextractClassNameIfRequire in class CodingConventions.Proxypublic java.lang.String getExportPropertyFunction()
getExportPropertyFunction in interface CodingConventiongetExportPropertyFunction in class CodingConventions.Proxypublic java.lang.String getExportSymbolFunction()
getExportSymbolFunction in interface CodingConventiongetExportSymbolFunction in class CodingConventions.Proxypublic java.util.List<java.lang.String> identifyTypeDeclarationCall(Node n)
CodingConventionidentifyTypeDeclarationCall in interface CodingConventionidentifyTypeDeclarationCall in class CodingConventions.Proxypublic java.lang.String getAbstractMethodName()
CodingConventiongetAbstractMethodName in interface CodingConventiongetAbstractMethodName in class CodingConventions.Proxypublic java.lang.String getSingletonGetterClassName(Node callNode)
CodingConventiongetSingletonGetterClassName in interface CodingConventiongetSingletonGetterClassName in class CodingConventions.ProxycallNode - A CALL node.public void applySingletonGetter(NominalTypeBuilder classType, FunctionType getterType)
CodingConventionapplySingletonGetter in interface CodingConventionapplySingletonGetter in class CodingConventions.Proxypublic java.lang.String getGlobalObject()
CodingConventiongetGlobalObject in interface CodingConventiongetGlobalObject in class CodingConventions.Proxypublic boolean isAliasingGlobalThis(Node n)
CodingConventionisAliasingGlobalThis in interface CodingConventionisAliasingGlobalThis in class CodingConventions.Proxypublic boolean isPropertyTestFunction(Node call)
CodingConventionisPropertyTestFunction in interface CodingConventionisPropertyTestFunction in class CodingConventions.Proxypublic boolean isPropertyRenameFunction(java.lang.String name)
CodingConventionisPropertyRenameFunction in interface CodingConventionisPropertyRenameFunction in class CodingConventions.Proxypublic boolean isFunctionCallThatAlwaysThrows(Node n)
CodingConventionisFunctionCallThatAlwaysThrows in interface CodingConventionisFunctionCallThatAlwaysThrows in class CodingConventions.Proxypublic CodingConvention.ObjectLiteralCast getObjectLiteralCast(Node callNode)
CodingConventiongetObjectLiteralCast in interface CodingConventiongetObjectLiteralCast in class CodingConventions.ProxycallNode - A CALL node.public boolean isPrivate(java.lang.String name)
CodingConventionisPrivate in interface CodingConventionisPrivate in class CodingConventions.Proxyname - The name of a global variable or function, or a method or
property.true if the name should be considered private.public com.google.common.collect.ImmutableCollection<CodingConvention.AssertionFunctionSpec> getAssertionFunctions()
CodingConventiongetAssertionFunctions in interface CodingConventiongetAssertionFunctions in class CodingConventions.Proxypublic CodingConvention.Bind describeFunctionBind(Node n, boolean callerChecksTypes, boolean iCheckTypes)
CodingConventiondescribeFunctionBind in interface CodingConventiondescribeFunctionBind in class CodingConventions.ProxycallerChecksTypes - Trust that the caller of this method has verified
that the bound node has a function type.iCheckTypes - Check that the bound node has a function type.public CodingConvention.Cache describeCachingCall(Node node)
CodingConventionCodingConvention.Cache instance from the given call node and returns that instance, or null
if the Node does not resemble a cache utility call.
This should match calls to a cache utility method. This type of node is specially considered for side-effects since conventionally storing something on a cache object would be seen as a side-effect.
describeCachingCall in interface CodingConventiondescribeCachingCall in class CodingConventions.Proxypublic com.google.common.collect.ImmutableCollection<java.lang.String> getIndirectlyDeclaredProperties()
CodingConventiongetIndirectlyDeclaredProperties in interface CodingConventiongetIndirectlyDeclaredProperties in class CodingConventions.ProxyCopyright © 2009-2020 Google. All Rights Reserved.