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