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 AssignMultiplicativeExpr : {@link AssignExpr}; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:110 017 */ 018 public abstract class AssignMultiplicativeExpr extends AssignExpr 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 AssignMultiplicativeExpr clone() throws CloneNotSupportedException { 034 AssignMultiplicativeExpr node = (AssignMultiplicativeExpr)super.clone(); 035 node.in$Circle(false); 036 node.is$Final(false); 037 return node; 038 } 039 /** 040 * @ast method 041 * @aspect TypeCheck 042 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeCheck.jrag:65 043 */ 044 public void typeCheck() { 045 if(sourceType().isBoolean() || getDest().type().isBoolean()) 046 error("Multiplicative operators do not operate on boolean types"); 047 super.typeCheck(); 048 } 049 /** 050 * @ast method 051 * 052 */ 053 public AssignMultiplicativeExpr() { 054 super(); 055 056 057 } 058 /** 059 * Initializes the child array to the correct size. 060 * Initializes List and Opt nta children. 061 * @apilevel internal 062 * @ast method 063 * @ast method 064 * 065 */ 066 public void init$Children() { 067 children = new ASTNode[2]; 068 } 069 /** 070 * @ast method 071 * 072 */ 073 public AssignMultiplicativeExpr(Expr p0, Expr p1) { 074 setChild(p0, 0); 075 setChild(p1, 1); 076 } 077 /** 078 * @apilevel low-level 079 * @ast method 080 * 081 */ 082 protected int numChildren() { 083 return 2; 084 } 085 /** 086 * @apilevel internal 087 * @ast method 088 * 089 */ 090 public boolean mayHaveRewrite() { 091 return false; 092 } 093 /** 094 * Replaces the Dest child. 095 * @param node The new node to replace the Dest child. 096 * @apilevel high-level 097 * @ast method 098 * 099 */ 100 public void setDest(Expr node) { 101 setChild(node, 0); 102 } 103 /** 104 * Retrieves the Dest child. 105 * @return The current node used as the Dest child. 106 * @apilevel high-level 107 * @ast method 108 * 109 */ 110 public Expr getDest() { 111 return (Expr)getChild(0); 112 } 113 /** 114 * Retrieves the Dest child. 115 * <p><em>This method does not invoke AST transformations.</em></p> 116 * @return The current node used as the Dest child. 117 * @apilevel low-level 118 * @ast method 119 * 120 */ 121 public Expr getDestNoTransform() { 122 return (Expr)getChildNoTransform(0); 123 } 124 /** 125 * Replaces the Source child. 126 * @param node The new node to replace the Source child. 127 * @apilevel high-level 128 * @ast method 129 * 130 */ 131 public void setSource(Expr node) { 132 setChild(node, 1); 133 } 134 /** 135 * Retrieves the Source child. 136 * @return The current node used as the Source child. 137 * @apilevel high-level 138 * @ast method 139 * 140 */ 141 public Expr getSource() { 142 return (Expr)getChild(1); 143 } 144 /** 145 * Retrieves the Source child. 146 * <p><em>This method does not invoke AST transformations.</em></p> 147 * @return The current node used as the Source child. 148 * @apilevel low-level 149 * @ast method 150 * 151 */ 152 public Expr getSourceNoTransform() { 153 return (Expr)getChildNoTransform(1); 154 } 155 /** 156 * @apilevel internal 157 */ 158 public ASTNode rewriteTo() { 159 return super.rewriteTo(); 160 } 161 }