bugfix 1412408
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / text / folding / DefaultJavaFoldingStructureProvider.java
index 2396518..48be71c 100644 (file)
@@ -630,6 +630,7 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener,
                                        return null;
 
                                List regions = new ArrayList();
+                               // now add all comments first to the regions list
                                if (fFirstType == null && element instanceof IType) {
                                        fFirstType = (IType) element;
                                        IRegion headerComment = computeHeaderComment(fFirstType);
@@ -641,7 +642,6 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener,
 
                                final int shift = range.getOffset();
                                int start = shift;
-                               regions.add(new Region(range.getOffset(), range.getLength()));
                                if (element instanceof IType) {
                                        Scanner scanner = ToolFactory.createScanner(true, false, false, false);
                                        scanner.setSource(contents.toCharArray());
@@ -663,9 +663,9 @@ public class DefaultJavaFoldingStructureProvider implements IProjectionListener,
                                                        continue;
                                                }
                                        }
-                                       regions.add(new Region(start, shift + range.getLength() - start));
                                }
-
+                               // at the end add the element region
+                               regions.add(new Region(range.getOffset(), range.getLength()));
 
                                if (regions.size() > 0) {
                                        IRegion[] result = new IRegion[regions.size()];