Class GoogleCodingConvention
- All Implemented Interfaces:
CodingConvention,Serializable
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.google.javascript.jscomp.CodingConvention
CodingConvention.AssertionFunctionLookup, CodingConvention.AssertionFunctionSpec, CodingConvention.Bind, CodingConvention.Cache, CodingConvention.ObjectLiteralCast, CodingConvention.SubclassRelationship, CodingConvention.SubclassType -
Field Summary
Fields inherited from class com.google.javascript.jscomp.CodingConventions.Proxy
nextConvention -
Constructor Summary
ConstructorsConstructorDescriptionBy default, decorate the ClosureCodingConvention.GoogleCodingConvention(CodingConvention convention) Decorates a wrapped CodingConvention. -
Method Summary
Modifier and TypeMethodDescriptiongetPackageName(StaticSourceFile source) booleanisClassFactoryCall(Node callNode) Checks if the given method is a call to a class factory, such a factory returns a unique class.booleanisConstant(String name) This checks whether a given variable name, such as a name in all-caps should be treated as if it had the @const annotation.booleanisConstantKey(String name) This checks whether a given key of an object literal, such as a name in all-caps should be treated as if it had the @const annotation.booleanisExported(String name, boolean local) Checks whether a global variable or function name should be treated as exported, or externally referenceable.booleanisOptionalParameter(Node parameter) This checks whether a given parameter name should be treated as an optional parameter as far as type checking or function call arg count checking is concerned.booleanisValidEnumKey(String key) This checks that a givenkeymay be used as a key for an enum.booleanisVarArgsParameter(Node parameter) This checks whether a given parameter should be treated as a marker for a variable argument list function.Methods inherited from class com.google.javascript.jscomp.CodingConventions.Proxy
applySingletonGetter, applySubclassRelationship, describeCachingCall, describeFunctionBind, describeFunctionBind, extractClassNameIfProvide, extractClassNameIfRequire, extractIsModuleFile, getAbstractMethodName, getAssertionFunctions, getClassesDefinedByCall, getExportPropertyFunction, getExportSymbolFunction, getIndirectlyDeclaredProperties, getObjectLiteralCast, getSingletonGetterClassName, identifyTypeDeclarationCall, isExported, isFunctionCallThatAlwaysThrows, isPropertyRenameFunction, isPropertyTestFunction, isPrototypeAlias, isSuperClassReferenceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.google.javascript.jscomp.CodingConvention
blockRenamingForProperty
-
Constructor Details
-
GoogleCodingConvention
public GoogleCodingConvention()By default, decorate the ClosureCodingConvention. -
GoogleCodingConvention
Decorates a wrapped CodingConvention.
-
-
Method Details
-
isConstant
This checks whether a given variable name, such as a name in all-caps should be treated as if it had the @const annotation.This enforces the Google const name convention, that the first character after the last $ must be an upper-case letter and all subsequent letters must be upper case. The name must be at least 2 characters long.
Examples:
aaa Not constant - lower-case letters in the name A Not constant - too short goog$A Constant - letters after the $ are upper-case. AA17 Constant - digits can appear after the first letter goog$7A Not constant - first character after the $ must be upper case. $A Constant - doesn't have to be anything in front of the $- Specified by:
isConstantin interfaceCodingConvention- Overrides:
isConstantin classCodingConventions.Proxy- Parameters:
name- potentially constant variable name- Returns:
trueif the name should be treated as a constant.
-
isConstantKey
Description copied from interface:CodingConventionThis checks whether a given key of an object literal, such as a name in all-caps should be treated as if it had the @const annotation.- Specified by:
isConstantKeyin interfaceCodingConvention- Overrides:
isConstantKeyin classCodingConventions.Proxy
-
isValidEnumKey
This checks that a givenkeymay be used as a key for an enum.This enforces Google's convention about enum key names. They must match the regular expression
[A-Z0-9][A-Z0-9_]*.Examples:
- A
- 213
- FOO_BAR
- Specified by:
isValidEnumKeyin interfaceCodingConvention- Overrides:
isValidEnumKeyin classCodingConventions.Proxy- Parameters:
key- the potential key to an enum- Returns:
trueif thekeymay be used as an enum key,falseotherwise
-
isOptionalParameter
This checks whether a given parameter name should be treated as an optional parameter as far as type checking or function call arg count checking is concerned. Note that an optional function parameter may be declared as a simple type and is automatically converted to a union of the declared type and Undefined.In Google code, parameter names beginning with
opt_are treated as optional arguments.- Specified by:
isOptionalParameterin interfaceCodingConvention- Overrides:
isOptionalParameterin classCodingConventions.Proxy- Parameters:
parameter- The parameter's node.- Returns:
trueif the parameter should be treated as an optional parameter.
-
isVarArgsParameter
Description copied from interface:CodingConventionThis checks whether a given parameter should be treated as a marker for a variable argument list function. A VarArgs parameter must be the last parameter in a function declaration.- Specified by:
isVarArgsParameterin interfaceCodingConvention- Overrides:
isVarArgsParameterin classCodingConventions.Proxy- Parameters:
parameter- The parameter's node.- Returns:
trueif the parameter should be treated as a variable length parameter.
-
isExported
Checks whether a global variable or function name should be treated as exported, or externally referenceable.In Google code, any global name starting with an underscore is considered exported.
- Specified by:
isExportedin interfaceCodingConvention- Overrides:
isExportedin classCodingConventions.Proxy- Parameters:
name- A global variable or function name.local-trueif the name is a local variable.- Returns:
trueif the name should be considered exported.
-
isClassFactoryCall
Description copied from interface:CodingConventionChecks if the given method is a call to a class factory, such a factory returns a unique class.- Specified by:
isClassFactoryCallin interfaceCodingConvention- Overrides:
isClassFactoryCallin classCodingConventions.Proxy- Parameters:
callNode- A CALL node.
-
getPackageName
In Google code, the package name of a source file is its file path. Exceptions: if a source file's parent directory is "test", "tests", or "testing", that directory is stripped from the package name. If a file is generated, strip the "genfiles" prefix to try to match the package of the generating file.
- Specified by:
getPackageNamein interfaceCodingConvention- Overrides:
getPackageNamein classCodingConventions.Proxy- Returns:
- the package name for the given source file, or null if no package name is known.
-