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