Class Color


  • public abstract class Color
    extends java.lang.Object
    A simplified version of a Closure or TS type for use by optimizations
    • Method Detail

      • getId

        public abstract ColorId getId()
      • getPrototypes

        public abstract com.google.common.collect.ImmutableSet<Color> getPrototypes()
        Given `function Foo() {}` or `class Foo {}`, color of Foo.prototype. null otherwise.
      • getInstanceColors

        public abstract com.google.common.collect.ImmutableSet<Color> getInstanceColors()
      • isInvalidating

        public abstract boolean isInvalidating()
      • getPropertiesKeepOriginalName

        public abstract boolean getPropertiesKeepOriginalName()
      • isConstructor

        public abstract boolean isConstructor()
      • getOwnProperties

        public abstract com.google.common.collect.ImmutableSet<java.lang.String> getOwnProperties()
        Property names 'declared' on an object (as opposed to being conceptually inherited from some supertype).
      • getBoxId

        public abstract @Nullable ColorId getBoxId()
      • isClosureAssert

        public abstract boolean isClosureAssert()
        Whether this type is some Closure assertion function removable by Closure-specific optimizations.
      • getUnionElements

        public abstract com.google.common.collect.ImmutableSet<Color> getUnionElements()
      • createUnion

        public static Color createUnion​(java.util.Set<Color> elements)
      • isPrimitive

        public final boolean isPrimitive()
        Whether this corresponds to a single JavaScript primitive like number or symbol.

        Note that the boxed versions of primitives (String, Number, etc.) are /not/ considered "primitive" by this method.

      • isUnion

        public final boolean isUnion()
      • subtractNullOrVoid

        @Memoized
        public Color subtractNullOrVoid()