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