Class JSTypeResolver

  • All Implemented Interfaces:
    java.io.Serializable

    public final class JSTypeResolver
    extends java.lang.Object
    implements java.io.Serializable
    A state machine for resolving all JSType instances.

    This object shares the lifecycle of a registry. Consider it as a narrow interface into the registry for the purpose of resolving types.

    Every time a new type is constructed it is (by cooperation of the JSType subclasses} added to this resolver. Depending on the state of the resolver at the time of addition, the type will either be eagerly resolved, or stored for later resolution.

    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  JSTypeResolver.Closer
      A signal to resolve all types known to and close the owning resolver.
    • Method Detail

      • openForDefinition

        @MustBeClosed
        public JSTypeResolver.Closer openForDefinition()
        Allow new types to be created without eagerly resolving them.

        This is required by, and only really useful for, type definition. Types being derived from previously defined types should not contain reference cycles, and so should be eagerly resolvable.