public static String print ( Type type ) { return type . match ( new Type . MatchBlock < String > ( ) { @ Override public String _case ( Ref x ) { return print ( x . type ) ; } @ Override public String _case ( Primitive x ) { return print ( x . type ) ; } } ) ; }
Prints a type as either a ref type or a primitive