Changeset 3202

Show
Ignore:
Timestamp:
12/12/08 08:05:55 (12 months ago)
Author:
sukyoungryu
Message:

[ast refactoring] Removed optional fields of VarType?, TraitType?, TaggedDimType?, TupleType?, and ArrowType?.

Location:
trunk/ProjectFortress
Files:
23 modified

Legend:

Unmodified
Added
Removed
  • trunk/ProjectFortress/astgen/Fortress.ast

    r3200 r3202  
    10001000                         * e.g.) T 
    10011001                         */ 
    1002                         VarType(int lexicalDepth=-2147483648); 
     1002                        VarType(int lexicalDepth); 
    10031003                        /** 
    10041004                         * a trait (object, alias, or proper trait) type; traits 
     
    10121012                         * used during static checking 
    10131013                         */ 
    1014                         TraitType(List<StaticArg> args 
    1015                                       = Collections.<StaticArg>emptyList(), 
     1014                        TraitType(List<StaticArg> args, 
    10161015                                  List<StaticParam> staticParams); 
    10171016                    /** 
     
    10371036                         * e.g.) RR64 Length 
    10381037                         */ 
    1039                         TaggedDimType(DimExpr dimExpr, 
    1040                                       Option<Expr> unitExpr = Option.<Expr>none()); 
     1038                        TaggedDimType(DimExpr dimExpr, Option<Expr> unitExpr); 
    10411039                        /** 
    10421040                         * type with unit 
     
    10671065                 * It has a varargs parameter if the varargs field is set. 
    10681066                 */ 
    1069                 TupleType(List<Type> elements, 
    1070                           Option<Type> varargs = Option.<Type>none(), 
    1071                           List<KeywordType> keywords = Collections.<KeywordType>emptyList()); 
     1067                TupleType(List<Type> elements, Option<Type> varargs, 
     1068                          List<KeywordType> keywords); 
    10721069                /** 
    10731070                 * arrow type 
     
    10791076                 * type of a generic function, used during static checking 
    10801077                 */ 
    1081                 ArrowType(Type domain, Type range, 
    1082                           Effect effect = FortressUtil.emptyEffect(), 
    1083                           List<StaticParam> staticParams 
    1084                               = Collections.<StaticParam>emptyList(), 
    1085                           Option<WhereClause> whereClause 
    1086                               = Option.<WhereClause>none()); 
     1078                ArrowType(Type domain, Type range, Effect effect, 
     1079                          List<StaticParam> staticParams, 
     1080                          Option<WhereClause> whereClause); 
    10871081                /** 
    10881082                 * inferred type 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/Types.java

    r3148 r3202  
    211211                default: { 
    212212                    List<Type> l = CollectUtil.makeList(ts); 
    213                     return new TupleType(NodeFactory.makeSpan("impossible", l), l); 
     213                    return NodeFactory.makeTupleType(NodeFactory.makeSpan("impossible", l), l); 
    214214                } 
    215215            } 
     
    246246            TupleType _d = (TupleType)d; 
    247247            if ( NodeUtil.hasVarargs(_d)) { 
    248                 return new TupleType(NodeFactory.makeSpan(_d.getElements(), _d.getVarargs().unwrap()), _d.getElements(), _d.getVarargs()); 
     248                return NodeFactory.makeTupleType(NodeFactory.makeSpan(_d.getElements(), _d.getVarargs().unwrap()), 
     249                                                 false, _d.getElements(), _d.getVarargs(), 
     250                                                 Collections.<KeywordType>emptyList()); 
    249251            } 
    250252            else { 
     
    253255                    case 0: return VOID; 
    254256                    case 1: return args.get(0); 
    255                     default: return new TupleType(NodeFactory.makeSpan("impossible", args), args); 
     257                    default: return NodeFactory.makeTupleType(NodeFactory.makeSpan("impossible", args), args); 
    256258                } 
    257259            } 
     
    301303            @Override public Type forTupleType(TupleType t) { 
    302304                if ( ! NodeUtil.hasVarargs(t) ) 
    303                     return new TupleType(NodeFactory.makeSpan(t, keywords), t.getElements(), keywords); 
     305                    return NodeFactory.makeTupleType(NodeFactory.makeSpan(t, keywords), 
     306                                                     false, t.getElements(), 
     307                                                     Option.<Type>none(), keywords); 
    304308                else 
    305                     return new TupleType(NodeFactory.makeSpan(t, keywords), t.getElements(), t.getVarargs(), 
    306                                          keywords); 
     309                    return NodeFactory.makeTupleType(NodeFactory.makeSpan(t, keywords), 
     310                                                     false, t.getElements(), t.getVarargs(), 
     311                                                     keywords); 
    307312            } 
    308313            @Override public Type forType(Type t) { 
     
    310315                    return t; 
    311316                else 
    312                     return new TupleType(NodeFactory.makeSpan(t, keywords), Collections.singletonList(t), keywords); 
     317                    return NodeFactory.makeTupleType(NodeFactory.makeSpan(t, keywords), false, 
     318                                                     Collections.singletonList(t), 
     319                                                     Option.<Type>none(), keywords); 
    313320            } 
    314321        }); 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/desugarer/ObjectExpressionVisitor.java

    r3199 r3202  
    842842            return new IntArg(span, intRef); 
    843843        } else if( NodeUtil.isTypeParam(sParam) ) { 
    844             VarType varType = new VarType(span, (Id)sParam.getName()); 
     844            VarType varType = NodeFactory.makeVarType(span, (Id)sParam.getName()); 
    845845            return new TypeArg(span, varType); 
    846846        } else { 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/disambiguator/TypeDisambiguator.java

    r3176 r3202  
    218218                        return that; 
    219219                    } 
    220                     return new TraitType(that.getSpan(), n, 
    221                                          Collections.<StaticArg>emptyList(), 
    222                                          Collections.<StaticParam>emptyList()); 
     220                    return NodeFactory.makeTraitType(that.getSpan(), false, n); 
    223221                } 
    224222            } 
     
    260258                    } 
    261259                    return changed ? 
    262                     new TraitType(that.getSpan(), n, newArgs, 
    263                                   Collections.<StaticParam>emptyList()) : that; 
     260                    NodeFactory.makeTraitType(that.getSpan(), n, newArgs) : that; 
    264261                } 
    265262            } 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/FnTypeEnv.java

    r3176 r3202  
    154154                // Invariant: _fn.params().isSome() 
    155155                // Otherwise, _fn should not have been in entries. 
    156                 overloadedTypes.add(new ArrowType(loc, 
     156                overloadedTypes.add(NodeFactory.makeArrowType(loc, false, 
    157157                                                  domainFromParams(_fn.parameters()), 
    158158                                                  selfType, 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/ObjectTypeEnv.java

    r3145 r3202  
    3535import com.sun.fortress.nodes.ArrowType; 
    3636import com.sun.fortress.nodes_util.NodeFactory; 
     37import com.sun.fortress.parser_util.FortressUtil; 
    3738 
    3839import edu.rice.cs.plt.tuple.Option; 
     
    7879            } else { 
    7980                // No static params, some normal params 
    80                 type = new ArrowType(var.getSpan(), 
     81                type = NodeFactory.makeArrowType(var.getSpan(), 
    8182                                     domainFromParams(decl.getParams().unwrap()), 
    8283                                     NodeFactory.makeTraitType(_var)); 
     
    8990                // Some static params, some normal params 
    9091                // TODO: handle type variables bound in where clause 
    91                 type = new ArrowType(decl.getSpan(), 
     92                type = NodeFactory.makeArrowType(decl.getSpan(), false, 
    9293                                     domainFromParams(decl.getParams().unwrap()), 
    9394                                     NodeFactory.makeTraitType(_var, TypeEnv.staticParamsToArgs(decl.getStaticParams())), 
     95                                                 FortressUtil.emptyEffect(), 
    9496                                     decl.getStaticParams(), 
    9597                                     decl.getWhereClause()); 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypeAnalyzer.java

    r3176 r3202  
    274274                                        List<Type> elts = makeList(skipLast(ts)); 
    275275                                        Type varargs = last(ts); 
    276                                         return new TupleType(NodeFactory.makeSpan(elts, varargs), 
    277                                                              elts, Option.<Type>some(varargs)); 
     276                                        return NodeFactory.makeTupleType(NodeFactory.makeSpan(elts, varargs), 
     277                                                                         false, elts, Option.<Type>some(varargs), 
     278                                                                         Collections.<KeywordType>emptyList()); 
    278279                                    } 
    279280                                } 
     
    340341                Iterable<Type> overloads = cross(domains, ranges, new Lambda2<Type, Type, Type>() { 
    341342                    public Type value(Type d, Type r) { 
    342                         return new ArrowType(NodeFactory.makeSetSpan(d,r), d, r, normalEffect); 
     343                        return NodeFactory.makeArrowType(NodeFactory.makeSetSpan(d,r), d, r, normalEffect); 
    343344                    } 
    344345                }); 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypeAnalyzerJUTest.java

    r3184 r3202  
    521521            Type r = parseType(s.substring(opIndex+2, effectStart)); 
    522522            Effect e = parseEffect(s.substring(effectStart)); 
    523             return new ArrowType(span, d, r, e); 
     523            return NodeFactory.makeArrowType(span, d, r, e); 
    524524        } 
    525525 
     
    548548            if (varargs) { s = s.substring(0, s.length()-4) + ")"; } 
    549549            List<Type> ts = parseTypeList(s, "(", ")"); 
    550             if (varargs) { return new TupleType(span, ts, Option.<Type>some(ts.remove(ts.size()-1))); } 
     550            if (varargs) { return NodeFactory.makeTupleType(span, false, ts, 
     551                                                            Option.<Type>some(ts.remove(ts.size()-1)), 
     552                                                            Collections.<KeywordType>emptyList()); } 
    551553            else if (ts.size() == 0) { return VOID; } 
    552554            else if (ts.size() == 1) { return ts.get(0); } 
    553             else { return new TupleType(span, ts); } 
     555            else { return NodeFactory.makeTupleType(span, ts); } 
    554556        } 
    555557 
     
    597599                } 
    598600            } 
    599             return new TupleType(span, args, varargs, keys); 
     601            return NodeFactory.makeTupleType(span, false, args, varargs, keys); 
    600602        } 
    601603        else { 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypeChecker.java

    r3200 r3202  
    24012401                if(varargs){ 
    24022402                        Type var = dlist.remove(dlist.size()-1); 
    2403                         domain = new TupleType(that.getSpan(), dlist, Option.<Type>some(var)); 
     2403                        domain = NodeFactory.makeTupleType(that.getSpan(), false, dlist, 
     2404                                                           Option.<Type>some(var), 
     2405                                                           Collections.<KeywordType>emptyList()); 
    24042406                } 
    24052407                else{ 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypeCheckerTestCase.java

    r3184 r3202  
    6565            Type left = parseType(s.substring(0, arrowIndex)); 
    6666            Type right = parseType(s.substring(arrowIndex+2)); 
    67             return new ArrowType(span, left, right); 
     67            return NodeFactory.makeArrowType(span, left, right); 
    6868        } 
    6969        if (s.startsWith("(")) { 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypeEnv.java

    r3176 r3202  
    142142 
    143143    protected static ArrowType genericArrowFromDecl(FnDecl decl) { 
    144         return new ArrowType(decl.getSpan(), 
     144        return NodeFactory.makeArrowType(decl.getSpan(), false, 
    145145                             domainFromParams(decl.getParams()), 
    146146                             // all types have been filled in at this point 
  • trunk/ProjectFortress/src/com/sun/fortress/compiler/typechecker/TypesUtil.java

    r3176 r3202  
    107107                case 0: return Types.VOID; 
    108108                case 1: return _args.get(0); 
    109                 default: return new TupleType(NodeFactory.makeSpan("impossible", _args), _args); 
     109                default: return NodeFactory.makeTupleType(NodeFactory.makeSpan("impossible", _args), _args); 
    110110            } 
    111111        } 
     
    431431                                if(constraints.isSome()) { 
    432432                                        ArrowType temp = (ArrowType) that.accept(new StaticTypeReplacer(that.getStaticParams(),static_args)); 
    433                                         Type new_type = new ArrowType(temp.getSpan(),temp.isParenthesized(), 
     433                                        Type new_type = NodeFactory.makeArrowType(temp.getSpan(),temp.isParenthesized(), 
    434434                                                                      temp.getDomain(),temp.getRange(), temp.getEffect(), 
    435435                                                                      Collections.<StaticParam>emptyList(), 
  • trunk/ProjectFortress/src/com/sun/fortress/interpreter/evaluator/types/FTypeGeneric.java

    r3176 r3202  
    146146        List<StaticArg> statics = paramsToArgs(); 
    147147        Id in = NodeFactory.makeId(def.getSpan(), name); 
    148         TraitType inst_type = new TraitType(NodeFactory.makeSpan(in, statics), in, statics, 
    149                                             Collections.<StaticParam>emptyList()); 
     148        TraitType inst_type = NodeFactory.makeTraitType(NodeFactory.makeSpan(in, statics), 
     149                                                        false, in, statics, 
     150                                                        Collections.<StaticParam>emptyList()); 
    150151        return inst_type; 
    151152    } 
     
    164165        private TypeArg idNameToTypeArg(Id idn) { 
    165166            return new TypeArg(idn.getSpan(), 
    166                                new VarType(idn.getSpan(), idn)); 
     167                               NodeFactory.makeVarType(idn.getSpan(), idn)); 
    167168        } 
    168169 
  • trunk/ProjectFortress/src/com/sun/fortress/interpreter/rewrite/DesugarerVisitor.java

    r3200 r3202  
    11191119                                                                   WellKnownNames.thread)); 
    11201120        List<StaticArg> args = new ArrayList<StaticArg>(); 
    1121         args.add(new TypeArg(sp,new VarType(sp, 
    1122                 NodeFactory.makeId(sp,WellKnownNames.anyTypeLibrary, WellKnownNames.anyTypeName), 
    1123                 Environment.TOP_LEVEL))); 
     1121        args.add(new TypeArg(sp,NodeFactory.makeVarType(sp, 
     1122                                                        NodeFactory.makeId(sp,WellKnownNames.anyTypeLibrary, WellKnownNames.anyTypeName), 
     1123                                                        Environment.TOP_LEVEL))); 
    11241124 
    11251125        _RewriteFnRef fn = new _RewriteFnRef(s.getSpan(), false, Option.<Type>none(), 
  • trunk/ProjectFortress/src/com/sun/fortress/interpreter/rewrite/RewriteInPresenceOfTypeInfoVisitor.java

    r3192 r3202  
    3232import com.sun.fortress.nodes._RewriteFnRef; 
    3333import com.sun.fortress.nodes_util.ExprFactory; 
     34import com.sun.fortress.nodes_util.NodeFactory; 
    3435import static com.sun.fortress.exceptions.InterpreterBug.bug; 
    3536 
     
    7172    public Node forTraitType(TraitType it) { 
    7273        if (it.getArgs().size() == 0) { 
    73             return (new VarType(it.getSpan(), it.getName())).accept(this); 
     74            return (NodeFactory.makeVarType(it.getSpan(), it.getName())).accept(this); 
    7475        } 
    7576        return super.forTraitType(it); 
  • trunk/ProjectFortress/src/com/sun/fortress/nodes_util/ExprFactory.java

    r3200 r3202  
    4242    private static FunctionalRef multiJuxt = makeMultiJuxt(); 
    4343    private static FunctionalRef infixJuxt = makeInfixJuxt(); 
    44     private static int lexicalDepth = -2147483648; 
     44    public static int lexicalDepth = -2147483648; 
    4545 
    4646    public static ArrayElement makeArrayElement(Expr elem) { 
     
    12851285        return new Do(span, parenthesized, exprType, fronts); 
    12861286    } 
    1287  
    1288  
    1289  
    1290                                           /* 
    1291     public static TupleExpr makeTupleExpr(Span span, 
    1292                                         boolean parenthesized, 
    1293                                         Option<Type> exprType, 
    1294                                           */ 
    1295  
    1296     /***************************************************************************************/ 
    12971287 
    12981288    public static FloatLiteralExpr makeFloatLiteralExpr(Span span, String s) { 
  • trunk/ProjectFortress/src/com/sun/fortress/nodes_util/NodeFactory.java

    r3193 r3202  
    3737 
    3838public class NodeFactory { 
     39    public static int lexicalDepth = -2147483648; 
     40 
    3941    /** 
    4042     * For use only when there is no hope of 
     
    506508    } 
    507509 
     510    public static ArrowType makeArrowType(Span span, Type domain, Type range, 
     511                                          Effect effect) { 
     512        return makeArrowType(span, false, domain, range, effect, 
     513                             Collections.<StaticParam>emptyList(), 
     514                             Option.<WhereClause>none()); 
     515    } 
     516 
     517    public static ArrowType makeArrowType(Span span, Type domain, Type range) { 
     518        return makeArrowType(span, domain, range, 
     519                             makeEffect(range.getSpan().getEnd())); 
     520    } 
     521 
     522    public static ArrowType makeArrowType(Span span, boolean parenthesized, 
     523                                          Type domain, Type range, Effect effect, 
     524                                          List<StaticParam> sparams, 
     525                                          Option<WhereClause> where) { 
     526        return new ArrowType(span, parenthesized, domain, range, effect, 
     527                             sparams, where); 
     528    } 
     529 
     530    public static TupleType makeTupleType(TupleType t, List<Type> tys) { 
     531        return makeTupleType(t.getSpan(), tys); 
     532    } 
     533 
     534    public static TupleType makeTupleType(List<Type> elements) { 
     535        return makeTupleType(new Span(), elements); 
     536    } 
     537 
     538    public static TupleType makeTupleType(Span span, List<Type> elements) { 
     539        return makeTupleType(span, false, elements, Option.<Type>none(), 
     540                             Collections.<KeywordType>emptyList()); 
     541    } 
     542 
     543    public static TupleType makeTupleType(Span span, boolean parenthesized, 
     544                                          List<Type> elements, 
     545                                          Option<Type> varargs, 
     546                                          List<KeywordType> keywords) { 
     547        return new TupleType(span, parenthesized, elements, varargs, keywords); 
     548    } 
     549 
     550    public static TaggedDimType makeTaggedDimType(TaggedDimType t, Type s, 
     551                                                  DimExpr u) { 
     552        return makeTaggedDimType(t.getSpan(), t.isParenthesized(), s, u, 
     553                                 t.getUnitExpr()); 
     554    } 
     555 
     556    public static TaggedDimType makeTaggedDimType(Span span, boolean parenthesized, 
     557                                                  Type elem, DimExpr dim, 
     558                                                  Option<Expr> unit) { 
     559        return new TaggedDimType(span, parenthesized, elem, dim, unit); 
     560    } 
     561 
     562    public static TraitType makeTraitType(TraitType original) { 
     563        return makeTraitType(original.getSpan(), original.isParenthesized(), 
     564                             original.getName(), original.getArgs(), 
     565                             Collections.<StaticParam>emptyList()); 
     566 
     567    } 
     568 
     569    public static TraitType makeTraitType(TraitType t, 
     570                                          List<StaticArg> args) { 
     571        return makeTraitType(t.getSpan(), t.isParenthesized(), 
     572                             t.getName(), args); 
     573    } 
     574 
     575    public static TraitType makeTraitType(Id name, StaticArg... args) { 
     576        return makeTraitType(name.getSpan(), false, name, Arrays.asList(args)); 
     577    } 
     578 
     579    /** Signature separates the first element in order to guarantee a non-empty arg list. */ 
     580    public static TraitType makeTraitType(String nameFirst, String... nameRest) { 
     581        // System.err.println("Please don't makeTraitType with a bogus span"); 
     582        return makeTraitType(new Span(), false, makeId(nameFirst, nameRest)); 
     583    } 
     584 
     585    public static TraitType makeTraitType(String name, 
     586                                          List<StaticArg> sargs) { 
     587        // System.err.println("Please don't makeTraitType with a bogus span"); 
     588        return makeTraitType(new Span(), false, makeId(name), sargs); 
     589    } 
     590 
     591    public static TraitType makeTraitType(Span span, boolean isParenthesized, 
     592                                          Id name) { 
     593        return makeTraitType(span, isParenthesized, name, 
     594                             Collections.<StaticArg>emptyList()); 
     595    } 
     596 
     597    public static TraitType makeTraitType(Span span, boolean isParenthesized, 
     598                                          Id name, StaticArg... args) { 
     599        return makeTraitType(span, isParenthesized, name, Arrays.asList(args)); 
     600    } 
     601 
     602    public static TraitType makeTraitType(Span span, boolean isParenthesized, 
     603                                          Id name, List<StaticArg> args) { 
     604        return makeTraitType(span, isParenthesized, name, args, 
     605                             Collections.<StaticParam>emptyList()); 
     606    } 
     607 
     608    public static TraitType makeTraitType(Span span, Id name, 
     609                                          List<StaticArg> args) { 
     610        return makeTraitType(span, false, name, args, 
     611                             Collections.<StaticParam>emptyList()); 
     612    } 
     613 
     614    public static TraitType makeTraitType(Id name, 
     615                                          List<StaticArg> sargs) { 
     616        return makeTraitType(name.getSpan(), false, name, sargs); 
     617    } 
     618 
     619    public static TraitType makeTraitType(Id name) { 
     620        return makeTraitType(name.getSpan(), false, name); 
     621    } 
     622 
     623    public static TraitType makeTraitType(Span span, boolean parenthesized, 
     624                                          Id name, List<StaticArg> sargs, 
     625                                          List<StaticParam> sparams) { 
     626        return new TraitType(span, parenthesized, name, sargs, sparams); 
     627    } 
     628 
     629    public static VarType makeVarType(String string) { 
     630        return makeVarType(new Span(), makeId(string)); 
     631    } 
     632 
     633    public static VarType makeVarType(Span span, Id id) { 
     634        return makeVarType(span, false, id, lexicalDepth); 
     635    } 
     636 
     637    public static VarType makeVarType(Span span, Id id, int depth) { 
     638        return makeVarType(span, false, id, depth); 
     639    } 
     640 
     641    public static VarType makeVarType(VarType original, int lexicalNestedness) { 
     642        return makeVarType(original.getSpan(), original.isParenthesized(), 
     643                           original.getName(), lexicalNestedness); 
     644    } 
     645 
     646    public static VarType makeVarType(Span span, boolean parenthesized, 
     647                                      Id name, int lexicalDepth) { 
     648        return new VarType(span, parenthesized, name, lexicalDepth); 
     649    } 
     650 
    508651    /***************************************************************************/ 
    509652 
    510     /* 
    511     public static Param makeParam(Span span, Id name, Option<Type> type) { 
    512         return new Param(span, name, type); 
    513     } 
    514  
    515     public static Param makeParam(Span span, List<Modifier> mods, Id name, 
    516                                   Type type) { 
    517         return new Param(span, name, mods, Option.some(type), Option.<Expr>none()); 
    518     } 
    519  
    520     public static Param makeParam(Span span, List<Modifier> mods, Id name, 
    521                                   Option<Type> type) { 
    522         return new Param(span, name, mods, type, Option.<Expr>none()); 
    523     } 
    524  
    525     public static LValue makeLValue(Id name, Type type) { 
    526         return new LValue(new Span(name.getSpan(), type.getSpan()), 
    527                           name, 
    528                           Collections.<Modifier>emptyList(), 
    529                           Option.some(type), 
    530                           false); 
    531     } 
    532  
    533     public static LValue makeLValue(Id name, Option<Type> type) { 
    534         return new LValue(name.getSpan(), 
    535                           name, 
    536                           Collections.<Modifier>emptyList(), 
    537                           type, 
    538                           false); 
    539     } 
    540  
    541     public static LValue makeLValue(Param param) { 
    542         return new LValue(param.getSpan(), param.getName(), 
    543                           param.getMods(), param.getIdType(), false); 
    544     } 
    545     */ 
    546653 
    547654    public static Id makeTemporaryId() { 
     
    600707    } 
    601708 
    602     public static TraitType makeTraitType(TraitType t, 
    603                                           List<StaticArg> args) { 
    604         return new TraitType(t.getSpan(), t.isParenthesized(), 
    605                              t.getName(), args, 
    606                              Collections.<StaticParam>emptyList()); 
    607     } 
    608  
    609709    public static TraitTypeWhere makeTraitTypeWhere(BaseType in_type) { 
    610710        Span sp = in_type.getSpan(); 
     
    630730    } 
    631731 
    632     public static TupleType makeTupleType(TupleType t, List<Type> tys) { 
    633         return new TupleType(t.getSpan(), t.isParenthesized(), tys); 
    634     } 
    635  
    636 //    public static ArgType makeArgType(ArgType t, List<Type> tys, Type varargs) { 
    637 //    return new ArgType(t.getSpan(), t.isParenthesized(), tys, varargs); 
    638 //    } 
    639  
    640732    public static KeywordType makeKeywordType(KeywordType t, Type s) { 
    641733        return new KeywordType(t.getSpan(), t.getName(), s); 
    642     } 
    643  
    644     public static TaggedDimType makeTaggedDimType(TaggedDimType t, Type s, 
    645                                                   DimExpr u) { 
    646         return new TaggedDimType(t.getSpan(), t.isParenthesized(), s, u, 
    647                                  t.getUnitExpr()); 
    648734    } 
    649735 
     
    686772    } 
    687773 
    688     public static TraitType makeTraitType(Span span, boolean isParenthesized, 
    689                                           Id name, List<StaticArg> args) { 
    690         return new TraitType(span, isParenthesized, name, args, 
    691                              Collections.<StaticParam>emptyList()); 
    692     } 
    693  
    694     public static TraitType makeTraitType(Span span, boolean isParenthesized, 
    695             Id name, StaticArg... args) { 
    696         return makeTraitType(span, isParenthesized, name, Arrays.asList(args)); 
    697     } 
    698  
    699     public static TraitType makeTraitType(Id name, StaticArg... args) { 
    700         return makeTraitType(name.getSpan(), false, name, Arrays.asList(args)); 
    701     } 
    702  
    703     /** Signature separates the first element in order to guarantee a non-empty arg list. */ 
    704     public static TraitType makeTraitType(String nameFirst, String... nameRest) { 
    705         // System.err.println("Please don't makeTraitType with a bogus span"); 
    706         return makeTraitType(new Span(), false, makeId(nameFirst, nameRest), 
    707                 Collections.<StaticArg>emptyList()); 
    708     } 
    709  
    710     public static TraitType makeTraitType(String name, 
    711                                           List<StaticArg> sargs) { 
    712         // System.err.println("Please don't makeTraitType with a bogus span"); 
    713         return new TraitType(new Span(),makeId(name),sargs, 
    714                              Collections.<StaticParam>emptyList()); 
    715     } 
    716  
    717     public static TraitType makeTraitType(Id name, 
    718                                           List<StaticArg> sargs) { 
    719         return new TraitType(name.getSpan(), name, sargs, 
    720                              Collections.<StaticParam>emptyList()); 
    721     } 
    722  
    723     public static TraitType makeTraitType(Id name) { 
    724         return new TraitType(name.getSpan(), name, Collections.<StaticArg>emptyList(), 
    725                              Collections.<StaticParam>emptyList()); 
    726     } 
    727  
    728774    public static IntersectionType makeIntersectionType(Type t1, Type t2) { 
    729775        return new IntersectionType(FortressUtil.spanTwo(t1, t2), Arrays.asList(t1, t2)); 
     
    741787        return new UnionType(FortressUtil.spanAll(types),CollectUtil.makeList(types)); 
    742788    } 
    743  
    744 //    public static ArrowType makeArrowType(Span span, Type domain, 
    745 //    Type range, 
    746 //    Option<List<BaseType>> throws_) { 
    747 //    Option<List<Type>> throwsAsTypeList = 
    748 //    throws_.isSome() ? 
    749 //    Option.<List<Type>>some(new ArrayList<Type>(throws_.unwrap())) : 
    750 //    Option.<List<Type>>none(); 
    751 //    return new ArrowType(span, domain, range, throwsAsTypeList); 
    752 //    } 
    753  
    754     public static ArrowType makeArrowType(Span span, Type domain, Type range) { 
    755         return new ArrowType(span, domain, range, makeEffect(range.getSpan().getEnd())); 
    756     } 
    757  
    758 //    public static AbstractArrowType makeGenericArrowType(Span span, 
    759 //    List<StaticParam> staticParams, 
    760 //    Type domain, 
    761 //    Type range, 
    762 //    Option<List<BaseType>> throws_, 
    763 //    WhereClause where) { 
    764 //    if (staticParams.isEmpty() && where.getConstraints().isEmpty() && where.getBindings().isEmpty()) { 
    765 //    return makeArrowType(span, domain, range, throws_); 
    766 //    } 
    767 //    Option<List<Type>> throwsAsTypeList = 
    768 //    throws_.isSome() ? 
    769 //    Option.<List<Type>>some(new ArrayList<Type>(throws_.unwrap())) : 
    770 //    Option.<List<Type>>none(); 
    771 //    return new _RewriteGenericArrowType(span, domain, range, 
    772 //    throwsAsTypeList, staticParams, where); 
    773 //    } 
    774  
    775 //    public static AbstractArrowType makeGenericArrowType( 
    776 //    Span span, 
    777 //    List<StaticParam> staticParams, 
    778 //    Type domain, 
    779 //    Type range) { 
    780 //    if (staticParams.isEmpty()) { 
    781 //    return makeArrowType(span, domain, range, Option.<List<BaseType>>none()); 
    782 //    } 
    783 //    return new _RewriteGenericArrowType(span, domain, range, 
    784 //    Option.<List<Type>>none(), staticParams, new WhereClause()); 
    785 //    } 
    786789 
    787790    public static Type makeDomain(Span span, List<Type> elements, 
     
    795798                return elements.get(0); 
    796799            else 
    797                 return new TupleType(span, elements); 
     800                return makeTupleType(span, elements); 
    798801        } else 
    799             return new TupleType(span, elements, varargs, keywords); 
     802            return makeTupleType(span, false, elements, varargs, keywords); 
    800803    } 
    801804 
     
    996999    }; 
    9971000 
    998     public static VarType makeVarType(String string) { 
    999         return makeVarType(new Span(), makeId(string)); 
    1000     } 
    1001  
    1002     public static VarType makeVarType(Span span, Id id) { 
    1003         return new VarType(span, id); 
    1004     } 
    1005  
    10061001    public static MatrixType makeMatrixType(Span span, Type element, 
    10071002                                            ExtentRange dimension) { 
     
    11891184    } 
    11901185 
    1191     public static TupleType makeTupleType(List<Type> elements) { 
    1192         return new TupleType(new Span(), elements); 
    1193     } 
    1194  
    1195     public static TupleType makeTupleType(Span span, List<Type> elements) { 
    1196         return new TupleType(span, elements); 
    1197     } 
    1198  
    11991186    public static TupleType makeVoidType(Span span) { 
    1200         return new TupleType(span, false, Collections.<Type>emptyList(), 
     1187        return makeTupleType(span, false, Collections.<Type>emptyList(), 
    12011188                             Option.<Type>none(), 
    12021189                             Collections.<KeywordType>emptyList()); 
     
    12081195 
    12091196    public static TypeArg makeTypeArg(Span span, String string) { 
    1210         return new TypeArg(span, new VarType(span, makeId(span, string))); 
     1197        return new TypeArg(span, makeVarType(span, makeId(span, string))); 
    12111198    } 
    12121199 
     
    12141201        Span span = new Span(); 
    12151202        return new TypeArg(span, 
    1216                 new VarType(span, makeId(span, string))); 
     1203                makeVarType(span, makeId(span, string))); 
    12171204    } 
    12181205 
     
    13641351        return ty.accept(new NodeAbstractVisitor<Type>() { 
    13651352            public Type forArrowType(ArrowType t) { 
    1366                 return new ArrowType(t.getSpan(), true, t.getDomain(), 
    1367                         t.getRange(), t.getEffect()); 
     1353                return makeArrowType(t.getSpan(), true, t.getDomain(), 
     1354                                     t.getRange(), t.getEffect(), 
     1355                                     t.getStaticParams(), t.getWhereClause()); 
    13681356            } 
    13691357            public Type forArrayType(ArrayType t) { 
     
    13721360            } 
    13731361            public Type forVarType(VarType t) { 
    1374                 return new VarType(t.getSpan(), true, t.getName()); 
     1362                return makeVarType(t.getSpan(), true, t.getName(), t.getLexicalDepth()); 
    13751363            } 
    13761364            public Type forMatrixType(MatrixType t) { 
     
    13791367            } 
    13801368            public Type forTraitType(TraitType t) { 
    1381                 return new TraitType(t.getSpan(), true, t.getName(), 
     1369                return makeTraitType(t.getSpan(), true, t.getName(), 
    13821370                                     t.getArgs(), t.getStaticParams()); 
    13831371            } 
    13841372            public Type forTupleType(TupleType t) { 
    1385                 return new TupleType(t.getSpan(), true, t.getElements(), 
     1373                return makeTupleType(t.getSpan(), true, t.getElements(), 
    13861374                                     t.getVarargs(), t.getKeywords()); 
    13871375            } 
    13881376            public Type forTaggedDimType(TaggedDimType t) { 
    1389                 return new TaggedDimType(t.getSpan(), true, t.getElemType(), 
     1377                return makeTaggedDimType(t.getSpan(), true, t.getElemType(), 
    13901378                                         t.getDimExpr(), t.getUnitExpr()); 
    13911379            } 
     
    14341422    public static NamedType makeNamedType(APIName api, NamedType type) { 
    14351423        if (type instanceof VarType) { 
    1436             return new VarType(type.getSpan(), 
    1437                     type.isParenthesized(), 
    1438                     makeId(api, type.getName())); 
     1424            return makeVarType(type.getSpan(), 
     1425                               type.isParenthesized(), 
     1426                               makeId(api, type.getName()), 
     1427                               lexicalDepth); 
    14391428        } 
    14401429        else { // type instanceof TraitType 
    14411430            TraitType _type = (TraitType)type; 
    1442             return new TraitType(_type.getSpan(), 
     1431            return makeTraitType(_type.getSpan(), 
    14431432                                 _type.isParenthesized(), 
    14441433                                 makeId(api, _type.getName()), 
     
    14491438 
    14501439    public static TraitType makeGenericSingletonType(Id name, List<StaticParam> params) { 
    1451         return new TraitType(name.getSpan(), name, Collections.<StaticArg>emptyList(), params); 
    1452     } 
    1453  
    1454     public static VarType makeVarType(VarType original, int lexicalNestedness) { 
    1455         return new VarType(original.getSpan(), original.isParenthesized(), original.getName(), lexicalNestedness); 
    1456     } 
    1457  
    1458     public static TraitType makeTraitType(TraitType original) { 
    1459         return new TraitType(original.getSpan(), original.isParenthesized(), 
    1460                              original.getName(), original.getArgs(), 
    1461                              Collections.<StaticParam>emptyList()); 
    1462  
     1440        return makeTraitType(name.getSpan(), false, name, 
     1441                             Collections.<StaticArg>emptyList(), params); 
    14631442    } 
    14641443 
  • trunk/ProjectFortress/src/com/sun/fortress/parser/NoNewlineType.rats

    r3123 r3202  
    4343           if (ty instanceof TaggedDimType) { 
    4444               TaggedDimType _ty = (TaggedDimType)ty; 
    45                yyValue = new TaggedDimType(_ty.getSpan(), _ty.getElemType(), 
    46                                            _ty.getDimExpr(), Option.some(a2)); 
     45               yyValue = NodeFactory.makeTaggedDimType(_ty.getSpan(), false, _ty.getElemType(), 
     46                                                       _ty.getDimExpr(), Option.some(a2)); 
    4747           } else { 
    4848               yyValue = syntaxError(ty.getSpan(), 
  • trunk/ProjectFortress/src/com/sun/fortress/parser/OtherDecl.rats

    r3186 r3202  
    5252       if ( a1 instanceof Id ) { 
    5353           dim = NodeFactory.makeDimDecl(span, (Id)a1, Option.wrap(a2)); 
    54            ty = new VarType(a1.getSpan(), (Id)a1); 
     54           ty = NodeFactory.makeVarType(a1.getSpan(), (Id)a1); 
    5555       } else { 
    5656           log(span, a1 + " is not a valid dimension name."); 
    5757           Id id = NodeFactory.bogusId(span); 
    5858           dim = NodeFactory.makeDimDecl(span, id, Option.wrap(a2)); 
    59            ty = new VarType(a1.getSpan(), id); 
     59           ty = NodeFactory.makeVarType(a1.getSpan(), id); 
    6060       } 
    6161       if ( a4 instanceof Id ) { 
  • trunk/ProjectFortress/src/com/sun/fortress/parser/Type.rats

    r3167 r3202  
    4141           if (ty instanceof TaggedDimType) { 
    4242               TaggedDimType _ty = (TaggedDimType)ty; 
    43                yyValue = new TaggedDimType(_ty.getSpan(), _ty.getElemType(), 
    44                                            _ty.getDimExpr(), Option.some(a2)); 
     43               yyValue = NodeFactory.makeTaggedDimType(_ty.getSpan(), false, _ty.getElemType(), 
     44                                                       _ty.getDimExpr(), Option.some(a2)); 
    4545           } else { 
    4646               yyValue = syntaxError(ty.getSpan(), 
     
    209209   / a1:Id a2:StaticArgs? 
    210210     { if (a2 == null) 
    211             yyValue = new VarType(createSpan(yyStart,yyCount), a1); 
    212        else yyValue = new TraitType(createSpan(yyStart,yyCount),a1,a2, 
    213                                     Collections.<StaticParam>emptyList()); 
     211            yyValue = NodeFactory.makeVarType(createSpan(yyStart,yyCount), a1); 
     212       else yyValue = NodeFactory.makeTraitType(createSpan(yyStart,yyCount),a1,a2); 
    214213     }; 
    215214 
     
    343342           public Type run(Type base) { 
    344343               DimExpr dim = TypeResolver.resolveOpsDim(a1); 
    345                return new TaggedDimType(createSpan(yyStart,yyCount), (Type)base, 
    346                                         NodeFactory.makeInParentheses(dim), 
    347                                         Option.<Expr>none()); 
     344               return NodeFactory.makeTaggedDimType(createSpan(yyStart,yyCount), false, 
     345                                                    (Type)base, NodeFactory.makeInParentheses(dim), 
     346                                                    Option.<Expr>none()); 
    348347           }}; 
    349348     }; 
     
    353352     { yyValue = new Action<Type>() { 
    354353           public Type run(Type base) { 
    355                return new TaggedDimType(createSpan(yyStart,yyCount), (Type)base, 
    356                                         new DimRef(a1.getSpan(), a1), 
    357                                         Option.<Expr>none()); 
     354               return NodeFactory.makeTaggedDimType(createSpan(yyStart,yyCount), false, 
     355                                                    (Type)base, new DimRef(a1.getSpan(), a1), 
     356                                                    Option.<Expr>none()); 
    358357           }}; 
    359358     }; 
  • trunk/ProjectFortress/src/com/sun/fortress/parser_util/precedence_resolver/TypeResolver.java

    r3167 r3202  
    7777        DimExpr dim = new DimBinaryOp(span, true, dimToDim(expr0.getDimExpr()), 
    7878                                      dimToDim(expr2), product(span)); 
    79         return new TaggedDimType(span, true, 
    80                                  typeToType(expr0.getElemType()), dim, 
    81                                  expr0.getUnitExpr()); 
     79        return NodeFactory.makeTaggedDimType(span, true, 
     80                                             typeToType(expr0.getElemType()), dim, 
     81                                             expr0.getUnitExpr()); 
    8282    } 
    8383 
     
    8787        DimExpr dim = new DimBinaryOp(span, true, dimToDim(expr0.getDimExpr()), 
    8888                                      dimToDim(expr2), quotient(span)); 
    89         return new TaggedDimType(span, true, 
    90                                  typeToType(expr0.getElemType()), dim, 
    91                                  expr0.getUnitExpr()); 
     89        return NodeFactory.makeTaggedDimType(span, true, 
     90                                             typeToType(expr0.getElemType()), dim, 
     91                                             expr0.getUnitExpr()); 
    9292    } 
    9393 
     
    9999                return makeProductDim(span, (TaggedDimType)first, dim); 
    100100            } else { 
    101                 return new TaggedDimType(span, true, typeToType(first), dim); 
     101                return NodeFactory.makeTaggedDimType(span, true, typeToType(first), dim, 
     102                                                     Option.<Expr>none()); 
    102103            } 
    103104        } catch (TypeConvertFailure x) { 
     
    250251        Type first = frame.getArg(); 
    251252        if (isTypeOp(op)) { 
    252             return new ArrowType(spanTwo(first, last), true, 
    253                                  first, 
    254                                  typeToType(last), frame.getEffect()); 
     253            return NodeFactory.makeArrowType(spanTwo(first, last), first, 
     254                                             typeToType(last), frame.getEffect()); 
    255255        } else { // !(isTypeOp(op)) 
    256256            try { 
     
    614614            } 
    615615            public Type forTaggedDimType(TaggedDimType t) { 
    616                 return new TaggedDimType(t.getSpan(), true, 
    617                                          typeToType(t.getElemType()), 
    618                                          makeInParentheses(dimToDim(t.getDimExpr())), 
    619                                          t.getUnitExpr()); 
     616                return NodeFactory.makeTaggedDimType(t.getSpan(), true, 
     617                                                     typeToType(t.getElemType()), 
     618                                                     makeInParentheses(dimToDim(t.getDimExpr())), 
     619                                                     t.getUnitExpr()); 
    620620            } 
    621621        }); 
     
    722722            return dim.accept(new NodeAbstractVisitor<Type>() { 
    723723                public Type forDimRef(DimRef d) { 
    724                     return new VarType(d.getSpan(), 
    725                                        d.isParenthesized(), 
    726                                        d.getName()); 
     724                    return NodeFactory.makeVarType(d.getSpan(), 
     725                                                   d.isParenthesized(), 
     726                                                   d.getName(), 
     727                                                   NodeFactory.lexicalDepth); 
    727728                } 
    728729                public Type forDimBinaryOp(DimBinaryOp d) { 
    729730                    try { 
    730                         return new TaggedDimType(d.getSpan(), 
    731                                                  d.isParenthesized(), 
    732                                                  makeInParentheses(dimToType(d.getLeft())), 
    733                                                  dimToDim(d.getRight())); 
     731                        return NodeFactory.makeTaggedDimType(d.getSpan(), 
     732                                                             d.isParenthesized(), 
     733                                                             makeInParentheses(dimToType(d.getLeft())), 
     734                                                             dimToDim(d.getRight()), 
     735                                                             Option.<Expr>none()); 
    734736                    } catch (TypeConvertFailure e) { 
    735737                        return error(e.getMessage()); 
     
    754756        if (ty instanceof TaggedDimType) { 
    755757            TaggedDimType _ty = (TaggedDimType)ty; 
    756             return new TaggedDimType(_ty.getSpan(), 
    757                                      _ty.isParenthesized(), 
    758                                      canonicalizeType(_ty.getElemType()), 
    759                                      canonicalizeDim(_ty.getDimExpr()), 
    760                                      _ty.getUnitExpr()); 
     758            return NodeFactory.makeTaggedDimType(_ty.getSpan(), 
     759                                                 _ty.isParenthesized(), 
     760                                                 canonicalizeType(_ty.getElemType()), 
     761                                                 canonicalizeDim(_ty.getDimExpr()), 
     762                                                 _ty.getUnitExpr()); 
    761763        } else return ty; 
    762764    } 
  • trunk/ProjectFortress/src/com/sun/fortress/syntax_abstractions/phases/TemplateVarRewriterJUTest.java

    r3071 r3202  
    4444        Id expr = NodeFactory.makeId("Expr"); 
    4545        Map<Id,BaseType> typemap = new HashMap<Id,BaseType>(); 
    46         typemap.put(expr, new VarType(span, expr)); 
     46        typemap.put(expr, NodeFactory.makeVarType(span, expr)); 
    4747        NTEnv ntEnv = EnvFactory.makeTestingNTEnv(typemap); 
    4848        theNTEnv = ntEnv; 
     
    6666    public void testRewriteVars2() { 
    6767        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    68         vars.put(NodeFactory.makeId("foo"), new VarType(span, NodeFactory.makeId(span, "Expr"))); 
     68        vars.put(NodeFactory.makeId("foo"), NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr"))); 
    6969        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    7070        String r = tvr.rewriteVars("foo"); 
    71         assertTrue(r.startsWith(TemplateVarRewriter.GAPSYNTAXPREFIX) &&  
     71        assertTrue(r.startsWith(TemplateVarRewriter.GAPSYNTAXPREFIX) && 
    7272                   r.endsWith(TemplateVarRewriter.GAPSYNTAXSUFFIX)); 
    7373    } 
     
    7575    public void testRewriteVars3() { 
    7676        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    77         VarType expr = new VarType(span, NodeFactory.makeId(span, "Expr")); 
    78         vars.put(NodeFactory.makeId("foo"), expr);  
    79         vars.put(NodeFactory.makeId("bar"), expr);  
     77        VarType expr = NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr")); 
     78        vars.put(NodeFactory.makeId("foo"), expr); 
     79        vars.put(NodeFactory.makeId("bar"), expr); 
    8080        vars.put(NodeFactory.makeId("Baz"), expr); 
    8181        FreshName.reset(); 
     
    9595    public void testRewriteVars4() { 
    9696        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    97         VarType expr = new VarType(NodeFactory.makeId("Expr")); 
    98         vars.put(NodeFactory.makeId("foo"), expr);  
    99         vars.put(NodeFactory.makeId("bar"), expr);  
     97        VarType expr = NodeFactory.makeVarType(NodeFactory.makeId("Expr")); 
     98        vars.put(NodeFactory.makeId("foo"), expr); 
     99        vars.put(NodeFactory.makeId("bar"), expr); 
    100100        vars.put(NodeFactory.makeId("Baz"), expr); 
    101101        FreshName.reset(); 
     
    113113        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    114114        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    115         VarType expr = new VarType(NodeFactory.makeId("Expr")); 
    116         vars.put(NodeFactory.makeId("foo"), expr);  
    117         vars.put(NodeFactory.makeId("bar"), expr);  
     115        VarType expr = NodeFactory.makeVarType(NodeFactory.makeId("Expr")); 
     116        vars.put(NodeFactory.makeId("foo"), expr); 
     117        vars.put(NodeFactory.makeId("bar"), expr); 
    118118        vars.put(NodeFactory.makeId("Baz"), expr); 
    119119        FreshName.reset(); 
     
    130130        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    131131        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    132         VarType expr = new VarType(NodeFactory.makeId("Expr")); 
    133         vars.put(NodeFactory.makeId("foo"), expr);  
    134         vars.put(NodeFactory.makeId("bar"), expr);  
    135         vars.put(NodeFactory.makeId("Baz"), expr);  
     132        VarType expr = NodeFactory.makeVarType(NodeFactory.makeId("Expr")); 
     133        vars.put(NodeFactory.makeId("foo"), expr); 
     134        vars.put(NodeFactory.makeId("bar"), expr); 
     135        vars.put(NodeFactory.makeId("Baz"), expr); 
    136136        vars.put(NodeFactory.makeId("Boz"), expr); 
    137137        FreshName.reset(); 
     
    150150        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    151151        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    152         VarType expr = new VarType(span, NodeFactory.makeId(span, "Expr")); 
     152        VarType expr = NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr")); 
    153153        vars.put(NodeFactory.makeId("foo"), expr); 
    154154        String r = tvr.rewriteVars("foo fooo foo"); 
     
    164164        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    165165        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    166         VarType expr = new VarType(span, NodeFactory.makeId(span, "Expr")); 
     166        VarType expr = NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr")); 
    167167        vars.put(NodeFactory.makeId("foo"), expr); 
    168168        vars.put(NodeFactory.makeId("bar"), expr); 
     
    174174        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    175175        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    176         VarType expr = new VarType(span, NodeFactory.makeId(span, "Expr")); 
     176        VarType expr = NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr")); 
    177177        vars.put(NodeFactory.makeId("e"), expr); 
    178178        String r = tvr.rewriteVars("(e \" world\""); 
     
    186186        Map<Id, BaseType> vars = new HashMap<Id, BaseType>(); 
    187187        TemplateVarRewriter tvr = new TemplateVarRewriter(emptyGapEnv, vars); 
    188         VarType expr = new VarType(span, NodeFactory.makeId(span, "Expr")); 
     188        VarType expr = NodeFactory.makeVarType(span, NodeFactory.makeId(span, "Expr")); 
    189189        vars.put(NodeFactory.makeId("e"), expr); 
    190190        String r = tvr.rewriteVars("\"e\""); 
  • trunk/ProjectFortress/src/com/sun/fortress/syntax_abstractions/util/FortressTypeToJavaTypeJUTest.java

    r3144 r3202  
    3838    private Span span = NodeFactory.makeSpan("bogus"); 
    3939 
    40     private VarType stringType = new VarType(span, NodeFactory.makeId("FortressBuiltin", "String")); 
     40    private VarType stringType = NodeFactory.makeVarType(span, NodeFactory.makeId("FortressBuiltin", "String")); 
    4141    private String stringTypeResult = "String"; 
    42     private VarType fortressASTType = new VarType(span, NodeFactory.makeId("FortressAst", "Decl")); 
     42    private VarType fortressASTType = NodeFactory.makeVarType(span, NodeFactory.makeId("FortressAst", "Decl")); 
    4343    private String fortressASTTypeResult = "Decl"; 
    4444 
     
    4747        List<StaticArg> args = new LinkedList<StaticArg>(); 
    4848        args.add(new TypeArg(span, typeArg)); 
    49         return new TraitType(span, name, args, Collections.<StaticParam>emptyList()); 
     49        return NodeFactory.makeTraitType(span, name, args); 
    5050    } 
    5151