+ @Override
+ protected Object reduceWildcard() {
+ return new FieldAssignment(FieldAssignment.WILDCARD, null);
+ }
+
+ @Override
+ protected Object reducePlainEffect() {
+ ArrayList<TypeAst> effects = new ArrayList<TypeAst>(length()/2);
+ for(int i=1;i<length();i+=2) {
+ Token token = (Token)get(i);
+ TVarAst ast = new TVarAst(token.text);
+ ast.location = token.location;
+ effects.add(ast);
+ }
+ return new TPlainEffectAst(effects);
+ }
+