1 2 3 package soot.jimple.parser.node; 4 5 import java.util.*; 6 import soot.jimple.parser.analysis.*; 7 8 public final class ANopStatement extends PStatement 9 { 10 private TNop _nop_; 11 private TSemicolon _semicolon_; 12 13 public ANopStatement() 14 { 15 } 16 17 public ANopStatement( 18 TNop _nop_, 19 TSemicolon _semicolon_) 20 { 21 setNop(_nop_); 22 23 setSemicolon(_semicolon_); 24 25 } 26 public Object clone() 27 { 28 return new ANopStatement( 29 (TNop) cloneNode(_nop_), 30 (TSemicolon) cloneNode(_semicolon_)); 31 } 32 33 public void apply(Switch sw) 34 { 35 ((Analysis) sw).caseANopStatement(this); 36 } 37 38 public TNop getNop() 39 { 40 return _nop_; 41 } 42 43 public void setNop(TNop node) 44 { 45 if(_nop_ != null) 46 { 47 _nop_.parent(null); 48 } 49 50 if(node != null) 51 { 52 if(node.parent() != null) 53 { 54 node.parent().removeChild(node); 55 } 56 57 node.parent(this); 58 } 59 60 _nop_ = node; 61 } 62 63 public TSemicolon getSemicolon() 64 { 65 return _semicolon_; 66 } 67 68 public void setSemicolon(TSemicolon node) 69 { 70 if(_semicolon_ != null) 71 { 72 _semicolon_.parent(null); 73 } 74 75 if(node != null) 76 { 77 if(node.parent() != null) 78 { 79 node.parent().removeChild(node); 80 } 81 82 node.parent(this); 83 } 84 85 _semicolon_ = node; 86 } 87 88 public String toString() 89 { 90 return "" 91 + toString(_nop_) 92 + toString(_semicolon_); 93 } 94 95 void removeChild(Node child) 96 { 97 if(_nop_ == child) 98 { 99 _nop_ = null; 100 return; 101 } 102 103 if(_semicolon_ == child) 104 { 105 _semicolon_ = null; 106 return; 107 } 108 109 } 110 111 void replaceChild(Node oldChild, Node newChild) 112 { 113 if(_nop_ == oldChild) 114 { 115 setNop((TNop) newChild); 116 return; 117 } 118 119 if(_semicolon_ == oldChild) 120 { 121 setSemicolon((TSemicolon) newChild); 122 return; 123 } 124 125 } 126 } 127 | Popular Tags |