src/com/google/javascript/rhino/jstype/NamedType.java
/**
   * Resolves a 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.
   * @return The type of the symbol, or null if the type could not be found.
   */
Resolves a 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.
@return The type of the symbol, or null if the type could not be found.
Resolves a 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 . @return The type of the symbol or null if the type could not be found .
private JSType lookupViaProperties() {
    String[] componentNames = reference.split("\\.", -1);
    if (componentNames[0].length() == 0) {
      return null;
    }
    StaticTypedSlot slot = resolutionScope.getSlot(componentNames[0]);
    if (slot == null) {
      return null;
    }
    JSType slotType = slot.getType();
    if (slotType == null || slotType.isAllType() || slotType.isNoType()) {
      return null;
    }
    for (int i = 1; i < componentNames.length; i++) {
      ObjectType parentObj = ObjectType.cast(slotType);
      if (parentObj == null) {
        return null;
      }
      if (componentNames[i].length() == 0) {
        return null;
      }
      slotType = parentObj.getPropertyType(componentNames[i]);
    }
    return slotType;
  }
private JSType lookupViaProperties ( ) { String [ ] componentNames = reference . split ( "\\." , - 1 ) ; if ( componentNames [ 0 ] . length ( ) == 0 ) { return null ; } StaticTypedSlot slot = resolutionScope . getSlot ( componentNames [ 0 ] ) ; if ( slot == null ) { return null ; } JSType slotType = slot . getType ( ) ; if ( slotType == null || slotType . isAllType ( ) || slotType . isNoType ( ) ) { return null ; } for ( int i = 1 ; i < componentNames . length ; i ++ ) { ObjectType parentObj = ObjectType . cast ( slotType ) ; if ( parentObj == null ) { return null ; } if ( componentNames [ i ] . length ( ) == 0 ) { return null ; } slotType = parentObj . getPropertyType ( componentNames [ i ] ) ; } return slotType ; }
Resolves a type by looking up its first component in the scope, and
 subsequent components as properties.
Resolves a type by looking up its first component in the scope and subsequent components as properties .
// If the first component has a type of 'Unknown', then any type // names using it should be regarded as silently 'Unknown' rather than be // noisy about it. // resolving component by component