001 /* This file was generated with JastAdd2 (http://jastadd.org) version 2.1.13-12-g880e696 */ 002 package org.extendj.ast; 003 004 import java.util.HashSet; 005 import java.io.File; 006 import java.util.Set; 007 import java.util.Collections; 008 import java.util.Collection; 009 import java.util.ArrayList; 010 import beaver.*; 011 import java.util.*; 012 import java.io.ByteArrayOutputStream; 013 import java.io.PrintStream; 014 import java.lang.reflect.InvocationTargetException; 015 import java.lang.reflect.Method; 016 import org.jastadd.util.*; 017 import java.util.zip.*; 018 import java.io.*; 019 import org.jastadd.util.PrettyPrintable; 020 import org.jastadd.util.PrettyPrinter; 021 import java.io.FileNotFoundException; 022 import java.io.BufferedInputStream; 023 import java.io.DataInputStream; 024 /** 025 * @ast node 026 * @declaredat /home/jesper/git/extendj/java4/grammar/Java.ast:95 027 * @production MemberTypeDecl : {@link MemberDecl}; 028 029 */ 030 public abstract class MemberTypeDecl extends MemberDecl implements Cloneable { 031 /** 032 * @declaredat ASTNode:1 033 */ 034 public MemberTypeDecl() { 035 super(); 036 } 037 /** 038 * Initializes the child array to the correct size. 039 * Initializes List and Opt nta children. 040 * @apilevel internal 041 * @ast method 042 * @declaredat ASTNode:10 043 */ 044 public void init$Children() { 045 } 046 /** 047 * @apilevel low-level 048 * @declaredat ASTNode:15 049 */ 050 protected int numChildren() { 051 return 0; 052 } 053 /** 054 * @apilevel internal 055 * @declaredat ASTNode:21 056 */ 057 public boolean mayHaveRewrite() { 058 return false; 059 } 060 /** 061 * @apilevel internal 062 * @declaredat ASTNode:27 063 */ 064 public void flushAttrCache() { 065 super.flushAttrCache(); 066 } 067 /** 068 * @apilevel internal 069 * @declaredat ASTNode:33 070 */ 071 public void flushCollectionCache() { 072 super.flushCollectionCache(); 073 } 074 /** 075 * @apilevel internal 076 * @declaredat ASTNode:39 077 */ 078 public void flushRewriteCache() { 079 super.flushRewriteCache(); 080 } 081 /** 082 * @apilevel internal 083 * @declaredat ASTNode:45 084 */ 085 public MemberTypeDecl clone() throws CloneNotSupportedException { 086 MemberTypeDecl node = (MemberTypeDecl) super.clone(); 087 return node; 088 } 089 /** 090 * Create a deep copy of the AST subtree at this node. 091 * The copy is dangling, i.e. has no parent. 092 * @return dangling copy of the subtree at this node 093 * @apilevel low-level 094 * @deprecated Please use treeCopy or treeCopyNoTransform instead 095 * @declaredat ASTNode:56 096 */ 097 @Deprecated 098 public abstract MemberTypeDecl fullCopy(); 099 /** 100 * Create a deep copy of the AST subtree at this node. 101 * The copy is dangling, i.e. has no parent. 102 * @return dangling copy of the subtree at this node 103 * @apilevel low-level 104 * @declaredat ASTNode:64 105 */ 106 public abstract MemberTypeDecl treeCopyNoTransform(); 107 /** 108 * Create a deep copy of the AST subtree at this node. 109 * The subtree of this node is traversed to trigger rewrites before copy. 110 * The copy is dangling, i.e. has no parent. 111 * @return dangling copy of the subtree at this node 112 * @apilevel low-level 113 * @declaredat ASTNode:72 114 */ 115 public abstract MemberTypeDecl treeCopy(); 116 /** 117 * @attribute syn 118 * @aspect TypeScopePropagation 119 * @declaredat /home/jesper/git/extendj/java4/frontend/LookupType.jrag:604 120 */ 121 @ASTNodeAnnotation.Attribute 122 public abstract TypeDecl typeDecl(); 123 /** 124 * @attribute syn 125 * @aspect TypeScopePropagation 126 * @declaredat /home/jesper/git/extendj/java4/frontend/LookupType.jrag:599 127 */ 128 @ASTNodeAnnotation.Attribute 129 public boolean declaresType(String name) { 130 boolean declaresType_String_value = typeDecl().name().equals(name); 131 132 return declaresType_String_value; 133 } 134 /** 135 * @attribute syn 136 * @aspect TypeScopePropagation 137 * @declaredat /home/jesper/git/extendj/java4/frontend/LookupType.jrag:601 138 */ 139 @ASTNodeAnnotation.Attribute 140 public TypeDecl type(String name) { 141 TypeDecl type_String_value = declaresType(name) ? typeDecl() : null; 142 143 return type_String_value; 144 } 145 /** 146 * @attribute syn 147 * @aspect Modifiers 148 * @declaredat /home/jesper/git/extendj/java4/frontend/Modifiers.jrag:263 149 */ 150 @ASTNodeAnnotation.Attribute 151 public boolean isStatic() { 152 boolean isStatic_value = typeDecl().isStatic(); 153 154 return isStatic_value; 155 } 156 /** 157 * @attribute syn 158 * @aspect Annotations 159 * @declaredat /home/jesper/git/extendj/java5/frontend/Annotations.jrag:356 160 */ 161 @ASTNodeAnnotation.Attribute 162 public boolean hasAnnotationSuppressWarnings(String annot) { 163 boolean hasAnnotationSuppressWarnings_String_value = typeDecl().hasAnnotationSuppressWarnings(annot); 164 165 return hasAnnotationSuppressWarnings_String_value; 166 } 167 /** 168 * @attribute syn 169 * @aspect Annotations 170 * @declaredat /home/jesper/git/extendj/java5/frontend/Annotations.jrag:398 171 */ 172 @ASTNodeAnnotation.Attribute 173 public boolean isDeprecated() { 174 boolean isDeprecated_value = typeDecl().isDeprecated(); 175 176 return isDeprecated_value; 177 } 178 /** 179 * @attribute syn 180 * @aspect GenericsParTypeDecl 181 * @declaredat /home/jesper/git/extendj/java5/frontend/GenericsParTypeDecl.jrag:90 182 */ 183 @ASTNodeAnnotation.Attribute 184 public boolean visibleTypeParameters() { 185 boolean visibleTypeParameters_value = !isStatic(); 186 187 return visibleTypeParameters_value; 188 } 189 /** 190 * @return true if the modifier list includes the SafeVarargs annotation 191 * @attribute syn 192 * @aspect SafeVarargs 193 * @declaredat /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag:42 194 */ 195 @ASTNodeAnnotation.Attribute 196 public boolean hasAnnotationSafeVarargs() { 197 boolean hasAnnotationSafeVarargs_value = typeDecl().hasAnnotationSafeVarargs(); 198 199 return hasAnnotationSafeVarargs_value; 200 } 201 /** 202 * @apilevel internal 203 */ 204 public ASTNode rewriteTo() { 205 return super.rewriteTo(); 206 } 207 }