third_party/closure-compiler/src/src/com/google/javascript/rhino/jstype/NamedType.java
/**
   * Resolves a named type by looking up its first component in the scope, and subsequent components
   * as properties. The scope must have been fully parsed and a symbol table constructed.
   */
Resolves a named type by looking up its first component in the scope, and subsequent components
as properties. The scope must have been fully parsed and a symbol table constructed.
Resolves a named type by looking up its first component in the scope and subsequent components as properties . The scope must have been fully parsed and a symbol table constructed .
private void resolveViaProperties(ErrorReporter reporter) {
    List<String> componentNames = Splitter.on('.').splitToList(reference);
    if (componentNames.get(0).isEmpty()) {
      handleUnresolvedType(reporter, /* ignoreForwardReferencedTypes= */ true);
      return;
    }
    StaticTypedSlot slot =
        checkNotNull(resolutionScope, "resolutionScope")
            .getSlot(checkNotNull(componentNames, "componentNames").get(0));
    if (slot == null) {
      handleUnresolvedType(reporter, /* ignoreForwardReferencedTypes= */ true);
      return;
    }
    Node definitionNode = slot.getDeclaration() != null ? slot.getDeclaration().getNode() : null;
    resolveViaPropertyGivenSlot(
        slot.getType(), definitionNode, componentNames, reporter, /* componentIndex= */ 1);
  }
private void resolveViaProperties ( ErrorReporter reporter ) { List < String > componentNames = Splitter . on ( '.' ) . splitToList ( reference ) ; if ( componentNames . get ( 0 ) . isEmpty ( ) ) { handleUnresolvedType ( reporter , /* ignoreForwardReferencedTypes= */ true ) ; return ; } StaticTypedSlot slot = checkNotNull ( resolutionScope , "resolutionScope" ) . getSlot ( checkNotNull ( componentNames , "componentNames" ) . get ( 0 ) ) ; if ( slot == null ) { handleUnresolvedType ( reporter , /* ignoreForwardReferencedTypes= */ true ) ; return ; } Node definitionNode = slot . getDeclaration ( ) != null ? slot . getDeclaration ( ) . getNode ( ) : null ; resolveViaPropertyGivenSlot ( slot . getType ( ) , definitionNode , componentNames , reporter , /* componentIndex= */ 1 ) ; }
Resolves a named type by looking up its first component in the scope, and subsequent components
 as properties.
Resolves a named type by looking up its first component in the scope and subsequent components as properties .