import net.sourceforge.phpdt.core.compiler.IScanner;
import net.sourceforge.phpdt.core.compiler.ITerminalSymbols;
import net.sourceforge.phpdt.core.compiler.InvalidInputException;
+import net.sourceforge.phpdt.internal.compiler.parser.Scanner;
import net.sourceforge.phpdt.internal.ui.text.DocumentCharacterIterator;
import net.sourceforge.phpdt.ui.IWorkingCopyManager;
import net.sourceforge.phpdt.ui.PreferenceConstants;
private boolean fCollapseJavadoc = false;
-// private boolean fCollapseImportContainer = true;
+ // private boolean fCollapseImportContainer = true;
private boolean fCollapseInnerTypes = true;
ICompilationUnit unit = (ICompilationUnit) fInput;
synchronized (unit) {
try {
-// unit.reconcile(ICompilationUnit.NO_AST, false, null, null);
+ // unit.reconcile(ICompilationUnit.NO_AST, false, null, null);
unit.reconcile();
} catch (JavaModelException x) {
}
private void initializePreferences() {
IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
fCollapseInnerTypes = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_INNERTYPES);
-// fCollapseImportContainer = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_IMPORTS);
+ // fCollapseImportContainer =
+ // store.getBoolean(PreferenceConstants.EDITOR_FOLDING_IMPORTS);
fCollapseJavadoc = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_JAVADOC);
fCollapseMethods = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_METHODS);
fCollapseHeaderComments = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_HEADERS);
private Map computeAdditions(IParent parent) {
Map map = new LinkedHashMap(); // use a linked map to maintain ordering of
- // comments
+ // comments
try {
computeAdditions(parent.getChildren(), map);
} catch (JavaModelException x) {
boolean collapse = false;
switch (element.getElementType()) {
-// case IJavaElement.IMPORT_CONTAINER:
-// collapse = fAllowCollapsing && fCollapseImportContainer;
-// createProjection = true;
-// break;
+ // case IJavaElement.IMPORT_CONTAINER:
+ // collapse = fAllowCollapsing && fCollapseImportContainer;
+ // createProjection = true;
+ // break;
case IJavaElement.TYPE:
collapse = fAllowCollapsing && fCollapseInnerTypes && isInnerType((IType) element);
createProjection = true;
}
}
- IScanner scanner = ToolFactory.createScanner(true, false, false, false);
- scanner.setSource(contents.toCharArray());
final int shift = range.getOffset();
int start = shift;
- while (true) {
+ regions.add(new Region(range.getOffset(), range.getLength()));
+ if (element instanceof IType) {
+ Scanner scanner = ToolFactory.createScanner(true, false, false, false);
+ scanner.setSource(contents.toCharArray());
+ scanner.setPHPMode(true);
int token = scanner.getNextToken();
- start = shift + scanner.getCurrentTokenStartPosition();
+ while (token != ITerminalSymbols.TokenNameEOF) {
- switch (token) {
- case ITerminalSymbols.TokenNameCOMMENT_PHPDOC:
- case ITerminalSymbols.TokenNameCOMMENT_BLOCK: {
- int end = shift + scanner.getCurrentTokenEndPosition() + 1;
- regions.add(new Region(start, end - start));
- }
- case ITerminalSymbols.TokenNameCOMMENT_LINE:
- continue;
- }
+ token = scanner.getNextToken();
+ start = shift + scanner.getCurrentTokenStartPosition();
- break;
+ switch (token) {
+ case ITerminalSymbols.TokenNameCOMMENT_PHPDOC:
+ case ITerminalSymbols.TokenNameCOMMENT_BLOCK: {
+ int end = shift + scanner.getCurrentTokenEndPosition() + 1;
+ regions.add(new Region(start, end - start));
+ }
+ case ITerminalSymbols.TokenNameCOMMENT_LINE:
+ continue;
+ }
+ }
+ regions.add(new Region(start, shift + range.getLength() - start));
}
- regions.add(new Region(start, shift + range.getLength() - start));
if (regions.size() > 0) {
IRegion[] result = new IRegion[regions.size()];
regions.toArray(result);
return result;
}
+
}
} catch (JavaModelException e) {
} catch (InvalidInputException e) {