public Type . Callable extractLambdaType ( SemanticType type , Environment environment , ReadWriteTypeExtractor . Combinator < Type . Callable > combinator , SyntacticItem item ) { // if ( type != null ) { Type . Callable refT = rwTypeExtractor . apply ( type , environment , combinator ) ; // if ( refT == null ) { syntaxError ( item , EXPECTED_LAMBDA ) ; } else { return refT ; } } return null ; }
From an arbitrary type extract the lambda type it represents which is either readable or writeable depending on the context .