added class fields to outline
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / core / CompilationUnitStructureRequestor.java
index 7b672a1..cada744 100644 (file)
@@ -13,12 +13,7 @@ package net.sourceforge.phpdt.internal.core;
 import java.util.Map;
 import java.util.Stack;
 
-import net.sourceforge.phpdt.internal.core.JavaElement;
-import net.sourceforge.phpdt.internal.core.SourceField;
-import net.sourceforge.phpdt.internal.core.SourceFieldElementInfo;
-import net.sourceforge.phpdt.internal.core.SourceMethod;
-import net.sourceforge.phpdt.internal.core.SourceTypeElementInfo;
-
+import net.sourceforge.phpdt.core.Flags;
 import net.sourceforge.phpdt.core.ICompilationUnit;
 import net.sourceforge.phpdt.core.IField;
 import net.sourceforge.phpdt.core.IJavaElement;
@@ -530,30 +525,30 @@ public class CompilationUnitStructureRequestor extends ReferenceInfoAdapter impl
   public void exitConstructor(int declarationEnd) {
     exitMember(declarationEnd);
   }
-  ///**
-  // * @see ISourceElementRequestor
-  // */
-  //public void exitField(int initializationStart, int declarationEnd, int declarationSourceEnd) {
-  //   SourceFieldElementInfo info = (SourceFieldElementInfo) fInfoStack.pop();
-  //   info.setSourceRangeEnd(declarationSourceEnd);
-  //   
-  //   // remember initializer source if field is a constant
-  //   if (initializationStart != -1) {
-  //           int flags = info.flags;
-  //           Object typeInfo;
-  //           if (Flags.isStatic(flags) && Flags.isFinal(flags)
-  //                           || ((typeInfo = fInfoStack.peek()) instanceof SourceTypeElementInfo
-  //                                    && (Flags.isInterface(((SourceTypeElementInfo)typeInfo).flags)))) {
-  //                   int length = declarationEnd - initializationStart;
-  //                   if (length > 0) {
-  //                           char[] initializer = new char[length];
-  //                           System.arraycopy(this.parser.scanner.source, initializationStart, initializer, 0, length);
-  //                           info.initializationSource = initializer;
-  //                   }
-  //           }
-  //   }
-  //   fHandleStack.pop();
-  //}
+  /**
+   * @see ISourceElementRequestor
+   */
+  public void exitField(int initializationStart, int declarationEnd, int declarationSourceEnd) {
+       SourceFieldElementInfo info = (SourceFieldElementInfo) fInfoStack.pop();
+       info.setSourceRangeEnd(declarationSourceEnd);
+       
+       // remember initializer source if field is a constant
+       if (initializationStart != -1) {
+               int flags = info.flags;
+               Object typeInfo;
+               if (Flags.isStatic(flags) && Flags.isFinal(flags)
+                               || ((typeInfo = fInfoStack.peek()) instanceof SourceTypeElementInfo
+                                        && (Flags.isInterface(((SourceTypeElementInfo)typeInfo).flags)))) {
+                       int length = declarationEnd - initializationStart;
+                       if (length > 0) {
+                               char[] initializer = new char[length];
+                               System.arraycopy(this.parser.scanner.source, initializationStart, initializer, 0, length);
+                               info.initializationSource = initializer;
+                       }
+               }
+       }
+       fHandleStack.pop();
+  }
   /**
    * @see ISourceElementRequestor
    */