private Map < String , JSType > buildTypeVariables ( Map < TemplateType , JSType > inferredTypes ) { Map < String , JSType > typeVars = new LinkedHashMap <> ( ) ; for ( Entry < TemplateType , JSType > e : inferredTypes . entrySet ( ) ) { // Only add the template type that do not have a type transformation if ( ! e . getKey ( ) . isTypeTransformation ( ) ) { typeVars . put ( e . getKey ( ) . getReferenceName ( ) , e . getValue ( ) ) ; } } return typeVars ; }
Build the type environment where type transformations will be evaluated . It only considers the template type variables that do not have a type transformation .