Refactored packagename to net.sourceforge.phpdt.internal.compiler.ast
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / ast / MemberTypeDeclaration.java
diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/MemberTypeDeclaration.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/internal/compiler/ast/MemberTypeDeclaration.java
new file mode 100644 (file)
index 0000000..7320bbd
--- /dev/null
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials 
+ * are made available under the terms of the Common Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/cpl-v10.html
+ * 
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package net.sourceforge.phpdt.internal.compiler.ast;
+
+import net.sourceforge.phpdt.internal.compiler.ASTVisitor;
+import net.sourceforge.phpdt.internal.compiler.CompilationResult;
+import net.sourceforge.phpdt.internal.compiler.lookup.ClassScope;
+import net.sourceforge.phpdt.internal.compiler.problem.AbortType;
+
+public class MemberTypeDeclaration extends InnerTypeDeclaration {
+       public TypeDeclaration enclosingType;
+       
+public MemberTypeDeclaration(CompilationResult compilationResult){
+       super(compilationResult);
+}              
+/**
+ *     Iteration for a member innertype
+ *
+ */
+public void traverse(ASTVisitor visitor, ClassScope classScope) {
+       if (ignoreFurtherInvestigation)
+               return;
+       try {
+               if (visitor.visit(this, classScope)) {
+                       if (superclass != null)
+                               superclass.traverse(visitor, scope);
+                       if (superInterfaces != null) {
+                               int superInterfaceLength = superInterfaces.length;
+                               for (int i = 0; i < superInterfaceLength; i++)
+                                       superInterfaces[i].traverse(visitor, scope);
+                       }
+                       if (memberTypes != null) {
+                               int memberTypesLength = memberTypes.length;
+                               for (int i = 0; i < memberTypesLength; i++)
+                                       memberTypes[i].traverse(visitor, scope);
+                       }
+                       if (fields != null) {
+                               int fieldsLength = fields.length;
+                               for (int i = 0; i < fieldsLength; i++) {
+                                       FieldDeclaration field;
+                                       if ((field = fields[i]).isStatic()) {
+                                               field.traverse(visitor, staticInitializerScope);
+                                       } else {
+                                               field.traverse(visitor, initializerScope);
+                                       }
+                               }
+                       }
+                       if (methods != null) {
+                               int methodsLength = methods.length;
+                               for (int i = 0; i < methodsLength; i++)
+                                       methods[i].traverse(visitor, scope);
+                       }
+               }
+               visitor.endVisit(this, classScope);
+       } catch (AbortType e) {
+       }
+}
+}