1 2 3 package soot.jimple.parser.node; 4 5 import java.util.*; 6 import soot.jimple.parser.analysis.*; 7 8 public final class ACastExpression extends PExpression 9 { 10 private TLParen _lParen_; 11 private PNonvoidType _nonvoidType_; 12 private TRParen _rParen_; 13 private PImmediate _immediate_; 14 15 public ACastExpression() 16 { 17 } 18 19 public ACastExpression( 20 TLParen _lParen_, 21 PNonvoidType _nonvoidType_, 22 TRParen _rParen_, 23 PImmediate _immediate_) 24 { 25 setLParen(_lParen_); 26 27 setNonvoidType(_nonvoidType_); 28 29 setRParen(_rParen_); 30 31 setImmediate(_immediate_); 32 33 } 34 public Object clone() 35 { 36 return new ACastExpression( 37 (TLParen) cloneNode(_lParen_), 38 (PNonvoidType) cloneNode(_nonvoidType_), 39 (TRParen) cloneNode(_rParen_), 40 (PImmediate) cloneNode(_immediate_)); 41 } 42 43 public void apply(Switch sw) 44 { 45 ((Analysis) sw).caseACastExpression(this); 46 } 47 48 public TLParen getLParen() 49 { 50 return _lParen_; 51 } 52 53 public void setLParen(TLParen node) 54 { 55 if(_lParen_ != null) 56 { 57 _lParen_.parent(null); 58 } 59 60 if(node != null) 61 { 62 if(node.parent() != null) 63 { 64 node.parent().removeChild(node); 65 } 66 67 node.parent(this); 68 } 69 70 _lParen_ = node; 71 } 72 73 public PNonvoidType getNonvoidType() 74 { 75 return _nonvoidType_; 76 } 77 78 public void setNonvoidType(PNonvoidType node) 79 { 80 if(_nonvoidType_ != null) 81 { 82 _nonvoidType_.parent(null); 83 } 84 85 if(node != null) 86 { 87 if(node.parent() != null) 88 { 89 node.parent().removeChild(node); 90 } 91 92 node.parent(this); 93 } 94 95 _nonvoidType_ = node; 96 } 97 98 public TRParen getRParen() 99 { 100 return _rParen_; 101 } 102 103 public void setRParen(TRParen node) 104 { 105 if(_rParen_ != null) 106 { 107 _rParen_.parent(null); 108 } 109 110 if(node != null) 111 { 112 if(node.parent() != null) 113 { 114 node.parent().removeChild(node); 115 } 116 117 node.parent(this); 118 } 119 120 _rParen_ = node; 121 } 122 123 public PImmediate getImmediate() 124 { 125 return _immediate_; 126 } 127 128 public void setImmediate(PImmediate node) 129 { 130 if(_immediate_ != null) 131 { 132 _immediate_.parent(null); 133 } 134 135 if(node != null) 136 { 137 if(node.parent() != null) 138 { 139 node.parent().removeChild(node); 140 } 141 142 node.parent(this); 143 } 144 145 _immediate_ = node; 146 } 147 148 public String toString() 149 { 150 return "" 151 + toString(_lParen_) 152 + toString(_nonvoidType_) 153 + toString(_rParen_) 154 + toString(_immediate_); 155 } 156 157 void removeChild(Node child) 158 { 159 if(_lParen_ == child) 160 { 161 _lParen_ = null; 162 return; 163 } 164 165 if(_nonvoidType_ == child) 166 { 167 _nonvoidType_ = null; 168 return; 169 } 170 171 if(_rParen_ == child) 172 { 173 _rParen_ = null; 174 return; 175 } 176 177 if(_immediate_ == child) 178 { 179 _immediate_ = null; 180 return; 181 } 182 183 } 184 185 void replaceChild(Node oldChild, Node newChild) 186 { 187 if(_lParen_ == oldChild) 188 { 189 setLParen((TLParen) newChild); 190 return; 191 } 192 193 if(_nonvoidType_ == oldChild) 194 { 195 setNonvoidType((PNonvoidType) newChild); 196 return; 197 } 198 199 if(_rParen_ == oldChild) 200 { 201 setRParen((TRParen) newChild); 202 return; 203 } 204 205 if(_immediate_ == oldChild) 206 { 207 setImmediate((PImmediate) newChild); 208 return; 209 } 210 211 } 212 } 213 | Popular Tags |