00001 package edu.ksu.cis.bandera.specification.predicate.node;
00002
00003
00004
00005 import edu.ksu.cis.bandera.specification.predicate.analysis.*;
00006
00007 public final class X1PComment extends XPComment
00008 {
00009 private XPComment _xPComment_;
00010 private PComment _pComment_;
00011
00012 public X1PComment()
00013 {
00014 }
00015 public X1PComment(
00016 XPComment _xPComment_,
00017 PComment _pComment_)
00018 {
00019 setXPComment(_xPComment_);
00020 setPComment(_pComment_);
00021 }
00022 public void apply(Switch sw)
00023 {
00024 throw new RuntimeException("Switch not supported.");
00025 }
00026 public Object clone()
00027 {
00028 throw new RuntimeException("Unsupported Operation");
00029 }
00030 public PComment getPComment()
00031 {
00032 return _pComment_;
00033 }
00034 public XPComment getXPComment()
00035 {
00036 return _xPComment_;
00037 }
00038 void removeChild(Node child)
00039 {
00040 if(_xPComment_ == child)
00041 {
00042 _xPComment_ = null;
00043 }
00044
00045 if(_pComment_ == child)
00046 {
00047 _pComment_ = null;
00048 }
00049 }
00050 void replaceChild(Node oldChild, Node newChild)
00051 {
00052 }
00053 public void setPComment(PComment node)
00054 {
00055 if(_pComment_ != null)
00056 {
00057 _pComment_.parent(null);
00058 }
00059
00060 if(node != null)
00061 {
00062 if(node.parent() != null)
00063 {
00064 node.parent().removeChild(node);
00065 }
00066
00067 node.parent(this);
00068 }
00069
00070 _pComment_ = node;
00071 }
00072 public void setXPComment(XPComment node)
00073 {
00074 if(_xPComment_ != null)
00075 {
00076 _xPComment_.parent(null);
00077 }
00078
00079 if(node != null)
00080 {
00081 if(node.parent() != null)
00082 {
00083 node.parent().removeChild(node);
00084 }
00085
00086 node.parent(this);
00087 }
00088
00089 _xPComment_ = node;
00090 }
00091 public String toString()
00092 {
00093 return "" +
00094 toString(_xPComment_) +
00095 toString(_pComment_);
00096 }
00097 }