001 /* This file was generated with JastAdd2 (http://jastadd.org) version R20130213 */ 002 package AST; 003 004 import java.util.HashSet; 005 import java.io.File; 006 import java.util.*; 007 import beaver.*; 008 import java.util.ArrayList; 009 import java.util.zip.*; 010 import java.io.*; 011 import java.io.FileNotFoundException; 012 import java.util.Collection; 013 /** 014 * @production MemberInterfaceDecl : {@link MemberTypeDecl} ::= <span class="component">{@link InterfaceDecl}</span>; 015 * @ast node 016 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/java.ast:100 017 */ 018 public class MemberInterfaceDecl extends MemberTypeDecl implements Cloneable { 019 /** 020 * @apilevel low-level 021 */ 022 public void flushCache() { 023 } 024 /** 025 * @apilevel internal 026 */ 027 public void flushCollectionCache() { 028 } 029 /** 030 * @apilevel internal 031 */ 032 @SuppressWarnings({"unchecked", "cast"}) 033 public MemberInterfaceDecl clone() throws CloneNotSupportedException { 034 MemberInterfaceDecl node = (MemberInterfaceDecl)super.clone(); 035 node.in$Circle(false); 036 node.is$Final(false); 037 return node; 038 } 039 /** 040 * @apilevel internal 041 */ 042 @SuppressWarnings({"unchecked", "cast"}) 043 public MemberInterfaceDecl copy() { 044 045 try { 046 MemberInterfaceDecl node = (MemberInterfaceDecl) clone(); 047 node.parent = null; 048 if(children != null) 049 node.children = (ASTNode[]) children.clone(); 050 051 return node; 052 } catch (CloneNotSupportedException e) { 053 throw new Error("Error: clone not supported for " + getClass().getName()); 054 } 055 056 }/** 057 * Create a deep copy of the AST subtree at this node. 058 * The copy is dangling, i.e. has no parent. 059 * @return dangling copy of the subtree at this node 060 * @apilevel low-level 061 */ 062 @SuppressWarnings({"unchecked", "cast"}) 063 public MemberInterfaceDecl fullCopy() { 064 065 MemberInterfaceDecl tree = (MemberInterfaceDecl) copy(); 066 if (children != null) { 067 for (int i = 0; i < children.length; ++i) { 068 069 ASTNode child = (ASTNode) children[i]; 070 if(child != null) { 071 child = child.fullCopy(); 072 tree.setChild(child, i); 073 } 074 } 075 } 076 return tree; 077 078 } /** 079 * @ast method 080 * @aspect Modifiers 081 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/Modifiers.jrag:186 082 */ 083 public void checkModifiers() { 084 super.checkModifiers(); 085 if(hostType().isInnerClass()) 086 error("*** Inner classes may not declare member interfaces"); 087 } 088 /** 089 * @ast method 090 * @aspect PrettyPrint 091 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/PrettyPrint.jadd:211 092 */ 093 public void toString(StringBuffer s) { 094 s.append(indent()); 095 getInterfaceDecl().toString(s); 096 } 097 /** 098 * @ast method 099 * 100 */ 101 public MemberInterfaceDecl() { 102 super(); 103 104 105 } 106 /** 107 * Initializes the child array to the correct size. 108 * Initializes List and Opt nta children. 109 * @apilevel internal 110 * @ast method 111 * @ast method 112 * 113 */ 114 public void init$Children() { 115 children = new ASTNode[1]; 116 } 117 /** 118 * @ast method 119 * 120 */ 121 public MemberInterfaceDecl(InterfaceDecl p0) { 122 setChild(p0, 0); 123 } 124 /** 125 * @apilevel low-level 126 * @ast method 127 * 128 */ 129 protected int numChildren() { 130 return 1; 131 } 132 /** 133 * @apilevel internal 134 * @ast method 135 * 136 */ 137 public boolean mayHaveRewrite() { 138 return false; 139 } 140 /** 141 * Replaces the InterfaceDecl child. 142 * @param node The new node to replace the InterfaceDecl child. 143 * @apilevel high-level 144 * @ast method 145 * 146 */ 147 public void setInterfaceDecl(InterfaceDecl node) { 148 setChild(node, 0); 149 } 150 /** 151 * Retrieves the InterfaceDecl child. 152 * @return The current node used as the InterfaceDecl child. 153 * @apilevel high-level 154 * @ast method 155 * 156 */ 157 public InterfaceDecl getInterfaceDecl() { 158 return (InterfaceDecl)getChild(0); 159 } 160 /** 161 * Retrieves the InterfaceDecl child. 162 * <p><em>This method does not invoke AST transformations.</em></p> 163 * @return The current node used as the InterfaceDecl child. 164 * @apilevel low-level 165 * @ast method 166 * 167 */ 168 public InterfaceDecl getInterfaceDeclNoTransform() { 169 return (InterfaceDecl)getChildNoTransform(0); 170 } 171 /** 172 * @attribute syn 173 * @aspect TypeScopePropagation 174 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/LookupType.jrag:484 175 */ 176 public TypeDecl typeDecl() { 177 ASTNode$State state = state(); 178 try { return getInterfaceDecl(); } 179 finally { 180 } 181 } 182 /** 183 * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:528 184 * @apilevel internal 185 */ 186 public boolean Define_boolean_isMemberType(ASTNode caller, ASTNode child) { 187 if(caller == getInterfaceDeclNoTransform()) { 188 return true; 189 } 190 else { return getParent().Define_boolean_isMemberType(this, caller); 191 } 192 } 193 /** 194 * @apilevel internal 195 */ 196 public ASTNode rewriteTo() { 197 return super.rewriteTo(); 198 } 199 }