@Immutable public class GoogleCodingConvention extends CodingConventions.Proxy
CodingConvention.AssertionFunctionLookup, CodingConvention.AssertionFunctionSpec, CodingConvention.Bind, CodingConvention.Cache, CodingConvention.DelegateRelationship, CodingConvention.ObjectLiteralCast, CodingConvention.SubclassRelationship, CodingConvention.SubclassTypenextConvention| Constructor and Description |
|---|
GoogleCodingConvention()
By default, decorate the ClosureCodingConvention.
|
GoogleCodingConvention(CodingConvention convention)
Decorates a wrapped CodingConvention.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getPackageName(StaticSourceFile source) |
boolean |
hasPrivacyConvention()
Whether this CodingConvention includes a convention for what private names should look like.
|
boolean |
isClassFactoryCall(Node callNode)
Checks if the given method is a call to a class factory, such a factory returns a
unique class.
|
boolean |
isConstant(java.lang.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.
|
boolean |
isConstantKey(java.lang.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.
|
boolean |
isExported(java.lang.String name,
boolean local)
Checks whether a global variable or function name should be treated as
exported, or externally referenceable.
|
boolean |
isOptionalParameter(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.
|
boolean |
isPrivate(java.lang.String name)
Checks whether a name should be considered private.
|
boolean |
isValidEnumKey(java.lang.String key)
This checks that a given
key may be used as a key for an enum. |
boolean |
isVarArgsParameter(Node parameter)
This checks whether a given parameter should be treated as a marker
for a variable argument list function.
|
applyDelegateRelationship, applySingletonGetter, applySubclassRelationship, blockRenamingForProperty, checkForCallingConventionDefinitions, defineDelegateProxyPrototypeProperties, describeCachingCall, describeFunctionBind, describeFunctionBind, extractClassNameIfProvide, extractClassNameIfRequire, extractIsModuleFile, getAbstractMethodName, getAssertionFunctions, getClassesDefinedByCall, getDelegateRelationship, getDelegateSuperclassName, getExportPropertyFunction, getExportSymbolFunction, getGlobalObject, getIndirectlyDeclaredProperties, getObjectLiteralCast, getSingletonGetterClassName, identifyTypeDeclarationCall, isAliasingGlobalThis, isExported, isFunctionCallThatAlwaysThrows, isInlinableFunction, isPropertyRenameFunction, isPropertyTestFunction, isPrototypeAlias, isSuperClassReferencepublic GoogleCodingConvention()
public GoogleCodingConvention(CodingConvention convention)
public boolean isConstant(java.lang.String name)
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 $
isConstant in interface CodingConventionisConstant in class CodingConventions.Proxyname - potentially constant variable nametrue if the name should be treated as a constant.public boolean isConstantKey(java.lang.String name)
CodingConventionisConstantKey in interface CodingConventionisConstantKey in class CodingConventions.Proxypublic boolean isValidEnumKey(java.lang.String key)
key may 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:
isValidEnumKey in interface CodingConventionisValidEnumKey in class CodingConventions.Proxykey - the potential key to an enumtrue if the key may be used as an enum key,
false otherwisepublic boolean isOptionalParameter(Node parameter)
In Google code, parameter names beginning with opt_ are
treated as optional arguments.
isOptionalParameter in interface CodingConventionisOptionalParameter in class CodingConventions.Proxyparameter - The parameter's node.true if the parameter should be treated as an optional
parameter.public boolean isVarArgsParameter(Node parameter)
CodingConventionisVarArgsParameter in interface CodingConventionisVarArgsParameter in class CodingConventions.Proxyparameter - The parameter's node.true if the parameter should be treated as a variable
length parameter.public boolean isExported(java.lang.String name,
boolean local)
In Google code, any global name starting with an underscore is considered exported.
isExported in interface CodingConventionisExported in class CodingConventions.Proxyname - A global variable or function name.local - true if the name is a local variable.true if the name should be considered exported.public boolean isClassFactoryCall(Node callNode)
CodingConventionisClassFactoryCall in interface CodingConventionisClassFactoryCall in class CodingConventions.ProxycallNode - A CALL node.@GwtIncompatible public java.lang.String getPackageName(StaticSourceFile source)
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.
getPackageName in interface CodingConventiongetPackageName in class CodingConventions.Proxypublic boolean isPrivate(java.lang.String name)
In Google code, private names end with an underscore, and exported
names are never considered private (see isExported(java.lang.String, boolean)).
isPrivate 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 boolean hasPrivacyConvention()
CodingConventionhasPrivacyConvention in interface CodingConventionhasPrivacyConvention in class CodingConventions.ProxyCopyright © 2009-2020 Google. All Rights Reserved.