001 /* This file was generated with JastAdd2 (http://jastadd.org) version R20130213 */ 002 package AST; 003 004 import java.util.HashSet; 005 import java.io.File; 006 import java.util.*; 007 import beaver.*; 008 import java.util.ArrayList; 009 import java.util.zip.*; 010 import java.io.*; 011 import java.io.FileNotFoundException; 012 import java.util.Collection; 013 /** 014 * @production ArithmeticExpr : {@link Binary}; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:152 017 */ 018 public abstract class ArithmeticExpr extends Binary implements Cloneable { 019 /** 020 * @apilevel low-level 021 */ 022 public void flushCache() { 023 } 024 /** 025 * @apilevel internal 026 */ 027 public void flushCollectionCache() { 028 } 029 /** 030 * @apilevel internal 031 */ 032 @SuppressWarnings({"unchecked", "cast"}) 033 public ArithmeticExpr clone() throws CloneNotSupportedException { 034 ArithmeticExpr node = (ArithmeticExpr)super.clone(); 035 node.in$Circle(false); 036 node.is$Final(false); 037 return node; 038 } 039 /** 040 * @ast method 041 * 042 */ 043 public ArithmeticExpr() { 044 super(); 045 046 047 } 048 /** 049 * Initializes the child array to the correct size. 050 * Initializes List and Opt nta children. 051 * @apilevel internal 052 * @ast method 053 * @ast method 054 * 055 */ 056 public void init$Children() { 057 children = new ASTNode[2]; 058 } 059 /** 060 * @ast method 061 * 062 */ 063 public ArithmeticExpr(Expr p0, Expr p1) { 064 setChild(p0, 0); 065 setChild(p1, 1); 066 } 067 /** 068 * @apilevel low-level 069 * @ast method 070 * 071 */ 072 protected int numChildren() { 073 return 2; 074 } 075 /** 076 * @apilevel internal 077 * @ast method 078 * 079 */ 080 public boolean mayHaveRewrite() { 081 return false; 082 } 083 /** 084 * Replaces the LeftOperand child. 085 * @param node The new node to replace the LeftOperand child. 086 * @apilevel high-level 087 * @ast method 088 * 089 */ 090 public void setLeftOperand(Expr node) { 091 setChild(node, 0); 092 } 093 /** 094 * Retrieves the LeftOperand child. 095 * @return The current node used as the LeftOperand child. 096 * @apilevel high-level 097 * @ast method 098 * 099 */ 100 public Expr getLeftOperand() { 101 return (Expr)getChild(0); 102 } 103 /** 104 * Retrieves the LeftOperand child. 105 * <p><em>This method does not invoke AST transformations.</em></p> 106 * @return The current node used as the LeftOperand child. 107 * @apilevel low-level 108 * @ast method 109 * 110 */ 111 public Expr getLeftOperandNoTransform() { 112 return (Expr)getChildNoTransform(0); 113 } 114 /** 115 * Replaces the RightOperand child. 116 * @param node The new node to replace the RightOperand child. 117 * @apilevel high-level 118 * @ast method 119 * 120 */ 121 public void setRightOperand(Expr node) { 122 setChild(node, 1); 123 } 124 /** 125 * Retrieves the RightOperand child. 126 * @return The current node used as the RightOperand child. 127 * @apilevel high-level 128 * @ast method 129 * 130 */ 131 public Expr getRightOperand() { 132 return (Expr)getChild(1); 133 } 134 /** 135 * Retrieves the RightOperand child. 136 * <p><em>This method does not invoke AST transformations.</em></p> 137 * @return The current node used as the RightOperand child. 138 * @apilevel low-level 139 * @ast method 140 * 141 */ 142 public Expr getRightOperandNoTransform() { 143 return (Expr)getChildNoTransform(1); 144 } 145 /** 146 * @apilevel internal 147 */ 148 public ASTNode rewriteTo() { 149 return super.rewriteTo(); 150 } 151 }