1 2 3 package soot.jimple.parser.node; 4 5 import java.util.*; 6 import soot.jimple.parser.analysis.*; 7 8 public final class ALabelStatement extends PStatement 9 { 10 private PLabelName _labelName_; 11 private TColon _colon_; 12 13 public ALabelStatement() 14 { 15 } 16 17 public ALabelStatement( 18 PLabelName _labelName_, 19 TColon _colon_) 20 { 21 setLabelName(_labelName_); 22 23 setColon(_colon_); 24 25 } 26 public Object clone() 27 { 28 return new ALabelStatement( 29 (PLabelName) cloneNode(_labelName_), 30 (TColon) cloneNode(_colon_)); 31 } 32 33 public void apply(Switch sw) 34 { 35 ((Analysis) sw).caseALabelStatement(this); 36 } 37 38 public PLabelName getLabelName() 39 { 40 return _labelName_; 41 } 42 43 public void setLabelName(PLabelName node) 44 { 45 if(_labelName_ != null) 46 { 47 _labelName_.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 _labelName_ = node; 61 } 62 63 public TColon getColon() 64 { 65 return _colon_; 66 } 67 68 public void setColon(TColon node) 69 { 70 if(_colon_ != null) 71 { 72 _colon_.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 _colon_ = node; 86 } 87 88 public String toString() 89 { 90 return "" 91 + toString(_labelName_) 92 + toString(_colon_); 93 } 94 95 void removeChild(Node child) 96 { 97 if(_labelName_ == child) 98 { 99 _labelName_ = null; 100 return; 101 } 102 103 if(_colon_ == child) 104 { 105 _colon_ = null; 106 return; 107 } 108 109 } 110 111 void replaceChild(Node oldChild, Node newChild) 112 { 113 if(_labelName_ == oldChild) 114 { 115 setLabelName((PLabelName) newChild); 116 return; 117 } 118 119 if(_colon_ == oldChild) 120 { 121 setColon((TColon) newChild); 122 return; 123 } 124 125 } 126 } 127 | Popular Tags |