Changeset 3120
- Timestamp:
- 11/29/08 06:56:10 (12 months ago)
- Location:
- trunk/ProjectFortress
- Files:
-
- 5 modified
-
astgen/Fortress.ast (modified) (2 diffs)
-
src/com/sun/fortress/nodes_util/ExprFactory.java (modified) (2 diffs)
-
src/com/sun/fortress/nodes_util/NodeFactory.java (modified) (2 diffs)
-
src/com/sun/fortress/nodes_util/OprUtil.java (modified) (4 diffs)
-
src/com/sun/fortress/tools/FortressAstToConcrete.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ProjectFortress/astgen/Fortress.ast
r3118 r3120 1896 1896 * e.g.) === 1897 1897 */ 1898 Op(String text, 1899 Option<Fixity> fixity = Option.<Fixity>none()); 1898 Op(String text, Fixity fixity); 1900 1899 /** 1901 1900 * pair of enclosing operators … … 2101 2100 */ 2102 2101 BigFixity(); 2102 /** 2103 * Fixity is not yet known 2104 * This should not appear after parsing. 2105 */ 2106 UnknownFixity(); 2103 2107 /* 2104 2108 * A Link in a ChainExpr is a pair of OpRef and the next Expr in the chain. -
trunk/ProjectFortress/src/com/sun/fortress/nodes_util/ExprFactory.java
r3111 r3120 660 660 661 661 public static _RewriteObjectExpr make_RewriteObjectExpr(ObjectExpr expr, 662 BATree<String, StaticParam> implicit_type_parameters) {662 BATree<String, StaticParam> implicit_type_parameters) { 663 663 List<StaticArg> staticArgs = 664 664 new ArrayList<StaticArg>(implicit_type_parameters.size()); … … 675 675 } 676 676 return new _RewriteObjectExpr(expr.getSpan(), false, 677 expr.getExtendsClause(), expr.getDecls(),678 implicit_type_parameters, WellKnownNames.objectExprName(expr),679 stParams, staticArgs,680 Option.some(Collections.<Param>emptyList()));677 expr.getExtendsClause(), expr.getDecls(), 678 implicit_type_parameters, WellKnownNames.objectExprName(expr), 679 stParams, staticArgs, 680 Option.some(Collections.<Param>emptyList())); 681 681 } 682 682 -
trunk/ProjectFortress/src/com/sun/fortress/nodes_util/NodeFactory.java
r3118 r3120 845 845 846 846 // All of these should go away, except for the gross overhead of allocating separate items. 847 private static Option<Fixity> infix = Option.<Fixity>some(new InFixity(makeSpan("singleton")));848 private static Option<Fixity> prefix = Option.<Fixity>some(new PreFixity(makeSpan("singleton")));849 private static Option<Fixity> postfix = Option.<Fixity>some(new PostFixity(makeSpan("singleton")));850 private static Option<Fixity> nofix = Option.<Fixity>some(new NoFixity(makeSpan("singleton")));851 private static Option<Fixity> multifix = Option.<Fixity>some(new MultiFixity(makeSpan("singleton")));852 private static Option<Fixity> enclosing = Option.<Fixity>some(new EnclosingFixity(makeSpan("singleton")));853 private static Option<Fixity> big = Option.<Fixity>some(new BigFixity(makeSpan("singleton")));854 private static Option<Fixity> unknownFix = Option.<Fixity>none();847 private static Fixity infix = new InFixity(makeSpan("singleton")); 848 private static Fixity prefix = new PreFixity(makeSpan("singleton")); 849 private static Fixity postfix = new PostFixity(makeSpan("singleton")); 850 private static Fixity nofix = new NoFixity(makeSpan("singleton")); 851 private static Fixity multifix = new MultiFixity(makeSpan("singleton")); 852 private static Fixity enclosing = new EnclosingFixity(makeSpan("singleton")); 853 private static Fixity big = new BigFixity(makeSpan("singleton")); 854 private static Fixity unknownFix = new UnknownFixity(makeSpan("singleton")); 855 855 856 856 public static Op makeOp(String name) { … … 862 862 } 863 863 864 public static Op makeOp(Span span, String name, Option<Fixity>fixity) {864 public static Op makeOp(Span span, String name, Fixity fixity) { 865 865 return new Op(span, PrecedenceMap.ONLY.canon(name), fixity); 866 866 } -
trunk/ProjectFortress/src/com/sun/fortress/nodes_util/OprUtil.java
r2690 r3120 24 24 import com.sun.fortress.nodes.Op; 25 25 import com.sun.fortress.nodes.OpName; 26 import com.sun.fortress.nodes.UnknownFixity; 26 27 import com.sun.fortress.nodes.PostFixity; 27 28 import com.sun.fortress.nodes.PreFixity; … … 38 39 39 40 public static boolean isUnknownFixity(Op name) { 40 return name.getFixity() .isNone();41 return name.getFixity() instanceof UnknownFixity; 41 42 } 42 43 … … 48 49 49 50 private static boolean isPostfix(Op name) { 50 return name.getFixity() .unwrap(null)instanceof PostFixity;51 return name.getFixity() instanceof PostFixity; 51 52 } 52 53 … … 132 133 } 133 134 134 public static String fixityDecorator(final Option<Fixity> of, final String s) { 135 if (of.isNone()) { 136 return s; 137 } 138 return of.unwrap().accept(new NodeAbstractVisitor<String>() { 135 public static String fixityDecorator(final Fixity of, final String s) { 136 return of.accept(new NodeAbstractVisitor<String>() { 139 137 // @Override public String forInFixity(InFixity that) { 140 138 // return "infix "+s; -
trunk/ProjectFortress/src/com/sun/fortress/tools/FortressAstToConcrete.java
r3115 r3120 631 631 @Override public String forOp(final Op opThat) { 632 632 final String oper = opThat.getText(); 633 /* fixity shouldnt be null */ 634 assert(opThat.getFixity().isSome()); 635 return opThat.getFixity().unwrap().accept( new NodeDepthFirstVisitor<String>(){ 633 return opThat.getFixity().accept( new NodeDepthFirstVisitor<String>(){ 636 634 @Override public String forPreFixityOnly(PreFixity that) { 637 635 return "opr " + oper + sparams + inParentheses(vparams); … … 1816 1814 @Override public String forOp(final Op opThat) { 1817 1815 final String oper = canonicalOp( opThat.getText() ); 1818 /* fixity shouldnt be null */ 1819 assert(opThat.getFixity().isSome()); 1820 return opThat.getFixity().unwrap().accept( new NodeDepthFirstVisitor<String>(){ 1816 return opThat.getFixity().accept( new NodeDepthFirstVisitor<String>(){ 1821 1817 @Override public String forPreFixityOnly(PreFixity that) { 1822 1818 assert( args_result.size() == 1 ); … … 2746 2742 @Override public String forOpOnly(Op that, 2747 2743 Option<String> api_result, 2748 Option<String>fixity_result) {2744 String fixity_result) { 2749 2745 return canonicalOp( that.getText() ); 2750 2746 }

