Skip to content

Commit

Permalink
Annotate CodingConvention as immutable since it's used in an enum.
Browse files Browse the repository at this point in the history
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=153627234
  • Loading branch information
tbreisacher authored and dimvar committed Apr 20, 2017
1 parent c100f43 commit 548e1ed
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 7 deletions.
7 changes: 4 additions & 3 deletions src/com/google/javascript/jscomp/ChromeCodingConvention.java
Expand Up @@ -17,15 +17,16 @@


import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.errorprone.annotations.Immutable;
import com.google.javascript.jscomp.ClosureCodingConvention.AssertInstanceofSpec; import com.google.javascript.jscomp.ClosureCodingConvention.AssertInstanceofSpec;
import com.google.javascript.rhino.Node; import com.google.javascript.rhino.Node;
import com.google.javascript.rhino.jstype.FunctionType; import com.google.javascript.rhino.jstype.FunctionType;
import com.google.javascript.rhino.jstype.ObjectType; import com.google.javascript.rhino.jstype.ObjectType;
import java.util.Collection; import java.util.Collection;
import java.util.Set;


public class ChromeCodingConvention extends CodingConventions.Proxy { @Immutable
private final Set<String> indirectlyDeclaredProperties; public final class ChromeCodingConvention extends CodingConventions.Proxy {
private final ImmutableSet<String> indirectlyDeclaredProperties;


public ChromeCodingConvention() { public ChromeCodingConvention() {
this(CodingConventions.getDefault()); this(CodingConventions.getDefault());
Expand Down
7 changes: 4 additions & 3 deletions src/com/google/javascript/jscomp/ClosureCodingConvention.java
Expand Up @@ -19,6 +19,7 @@
import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import com.google.errorprone.annotations.Immutable;
import com.google.javascript.jscomp.newtypes.DeclaredTypeRegistry; import com.google.javascript.jscomp.newtypes.DeclaredTypeRegistry;
import com.google.javascript.jscomp.newtypes.JSType; import com.google.javascript.jscomp.newtypes.JSType;
import com.google.javascript.jscomp.newtypes.QualifiedName; import com.google.javascript.jscomp.newtypes.QualifiedName;
Expand All @@ -32,12 +33,12 @@
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Set;


/** /**
* This describes the Closure-specific JavaScript coding conventions. * This describes the Closure-specific JavaScript coding conventions.
* *
*/ */
@Immutable
public final class ClosureCodingConvention extends CodingConventions.Proxy { public final class ClosureCodingConvention extends CodingConventions.Proxy {


private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
Expand All @@ -46,7 +47,7 @@ public final class ClosureCodingConvention extends CodingConventions.Proxy {
"JSC_REFLECT_OBJECTLIT_EXPECTED", "JSC_REFLECT_OBJECTLIT_EXPECTED",
"Object literal expected as second argument"); "Object literal expected as second argument");


private final Set<String> indirectlyDeclaredProperties; private final ImmutableSet<String> indirectlyDeclaredProperties;


public ClosureCodingConvention() { public ClosureCodingConvention() {
this(CodingConventions.getDefault()); this(CodingConventions.getDefault());
Expand Down Expand Up @@ -345,7 +346,7 @@ public boolean isAliasingGlobalThis(Node n) {
return CodingConventions.isAliasingGlobalThis(this, n); return CodingConventions.isAliasingGlobalThis(this, n);
} }


private final Set<String> propertyTestFunctions = ImmutableSet.of( private final ImmutableSet<String> propertyTestFunctions = ImmutableSet.of(
"goog.isDef", "goog.isNull", "goog.isDefAndNotNull", "goog.isDef", "goog.isNull", "goog.isDefAndNotNull",
"goog.isString", "goog.isNumber", "goog.isBoolean", "goog.isString", "goog.isNumber", "goog.isBoolean",
"goog.isFunction", "goog.isArray", "goog.isArrayLike", "goog.isObject"); "goog.isFunction", "goog.isArray", "goog.isArrayLike", "goog.isObject");
Expand Down
2 changes: 2 additions & 0 deletions src/com/google/javascript/jscomp/CodingConvention.java
Expand Up @@ -15,6 +15,7 @@
*/ */
package com.google.javascript.jscomp; package com.google.javascript.jscomp;


import com.google.errorprone.annotations.Immutable;
import com.google.javascript.jscomp.newtypes.DeclaredTypeRegistry; import com.google.javascript.jscomp.newtypes.DeclaredTypeRegistry;
import com.google.javascript.jscomp.newtypes.JSType; import com.google.javascript.jscomp.newtypes.JSType;
import com.google.javascript.jscomp.newtypes.RawNominalType; import com.google.javascript.jscomp.newtypes.RawNominalType;
Expand All @@ -35,6 +36,7 @@
* Compiler for a specific team/company. * Compiler for a specific team/company.
* *
*/ */
@Immutable
public interface CodingConvention extends Serializable { public interface CodingConvention extends Serializable {


/** /**
Expand Down
3 changes: 3 additions & 0 deletions src/com/google/javascript/jscomp/CodingConventions.java
Expand Up @@ -18,6 +18,7 @@


import com.google.common.base.Preconditions; import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.google.errorprone.annotations.Immutable;
import com.google.javascript.jscomp.newtypes.JSType; import com.google.javascript.jscomp.newtypes.JSType;
import com.google.javascript.jscomp.newtypes.RawNominalType; import com.google.javascript.jscomp.newtypes.RawNominalType;
import com.google.javascript.rhino.Node; import com.google.javascript.rhino.Node;
Expand Down Expand Up @@ -83,6 +84,7 @@ static boolean isAliasingGlobalThis(CodingConvention convention, Node n) {
* coding convention by creating a jQueryCodingConvention that delegates * coding convention by creating a jQueryCodingConvention that delegates
* to a ClosureCodingConvention that delegates to a DefaultCodingConvention. * to a ClosureCodingConvention that delegates to a DefaultCodingConvention.
*/ */
@Immutable
public static class Proxy implements CodingConvention { public static class Proxy implements CodingConvention {


protected final CodingConvention nextConvention; protected final CodingConvention nextConvention;
Expand Down Expand Up @@ -330,6 +332,7 @@ public Collection<String> getIndirectlyDeclaredProperties() {
* The default coding convention. * The default coding convention.
* Should be at the bottom of all proxy chains. * Should be at the bottom of all proxy chains.
*/ */
@Immutable
private static class DefaultCodingConvention implements CodingConvention { private static class DefaultCodingConvention implements CodingConvention {


private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
Expand Down
4 changes: 3 additions & 1 deletion src/com/google/javascript/jscomp/GoogleCodingConvention.java
Expand Up @@ -16,6 +16,7 @@


package com.google.javascript.jscomp; package com.google.javascript.jscomp;


import com.google.errorprone.annotations.Immutable;
import com.google.javascript.rhino.Node; import com.google.javascript.rhino.Node;
import com.google.javascript.rhino.StaticSourceFile; import com.google.javascript.rhino.StaticSourceFile;
import java.util.regex.Matcher; import java.util.regex.Matcher;
Expand All @@ -26,7 +27,8 @@
* Within Google, variable names are semantically significant. * Within Google, variable names are semantically significant.
* *
*/ */
public class GoogleCodingConvention extends CodingConventions.Proxy { @Immutable
public final class GoogleCodingConvention extends CodingConventions.Proxy {


private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;


Expand Down

0 comments on commit 548e1ed

Please sign in to comment.