001/* This file was generated by SableCC (http://www.sablecc.org/). */ 002 003package org.anarres.graphviz.parser.node; 004 005import org.anarres.graphviz.parser.analysis.*; 006 007@SuppressWarnings("nls") 008public final class ALinkEdge extends PEdge 009{ 010 private TTokLink _tokLink_; 011 012 public ALinkEdge() 013 { 014 // Constructor 015 } 016 017 public ALinkEdge( 018 @SuppressWarnings("hiding") TTokLink _tokLink_) 019 { 020 // Constructor 021 setTokLink(_tokLink_); 022 023 } 024 025 @Override 026 public Object clone() 027 { 028 return new ALinkEdge( 029 cloneNode(this._tokLink_)); 030 } 031 032 public void apply(Switch sw) 033 { 034 ((Analysis) sw).caseALinkEdge(this); 035 } 036 037 public TTokLink getTokLink() 038 { 039 return this._tokLink_; 040 } 041 042 public void setTokLink(TTokLink node) 043 { 044 if(this._tokLink_ != null) 045 { 046 this._tokLink_.parent(null); 047 } 048 049 if(node != null) 050 { 051 if(node.parent() != null) 052 { 053 node.parent().removeChild(node); 054 } 055 056 node.parent(this); 057 } 058 059 this._tokLink_ = node; 060 } 061 062 @Override 063 public String toString() 064 { 065 return "" 066 + toString(this._tokLink_); 067 } 068 069 @Override 070 void removeChild(@SuppressWarnings("unused") Node child) 071 { 072 // Remove child 073 if(this._tokLink_ == child) 074 { 075 this._tokLink_ = null; 076 return; 077 } 078 079 throw new RuntimeException("Not a child."); 080 } 081 082 @Override 083 void replaceChild(@SuppressWarnings("unused") Node oldChild, @SuppressWarnings("unused") Node newChild) 084 { 085 // Replace child 086 if(this._tokLink_ == oldChild) 087 { 088 setTokLink((TTokLink) newChild); 089 return; 090 } 091 092 throw new RuntimeException("Not a child."); 093 } 094}