public List < Symbol > getAllSymbolsForType ( JSType type ) { if ( type == null ) { return ImmutableList . of ( ) ; } UnionType unionType = type . toMaybeUnionType ( ) ; if ( unionType != null ) { List < Symbol > result = new ArrayList <> ( 2 ) ; for ( JSType alt : unionType . getAlternates ( ) ) { // Our type system never has nested unions. Symbol altSym = getSymbolForTypeHelper ( alt , true ) ; if ( altSym != null ) { result . add ( altSym ) ; } } return result ; } Symbol result = getSymbolForTypeHelper ( type , true ) ; return result == null ? ImmutableList . of ( ) : ImmutableList . of ( result ) ; }
Gets all symbols associated with the given type . For union types this may be multiple symbols . For instance types this will return the constructor of that instance .