import net.sourceforge.phpdt.internal.compiler.parser.SyntaxError;
import net.sourceforge.phpdt.internal.compiler.util.Util;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;
-import net.sourceforge.phpeclipse.obfuscator.PHPIdentifier;
+//import net.sourceforge.phpeclipse.obfuscator.PHPIdentifier;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
return;
}
+ private void skipComments()
+ {
+ try {
+ getNextToken();
+ while (fToken == TokenNameCOMMENT_BLOCK || fToken == TokenNameCOMMENT_PHPDOC) {
+ getNextToken();
+ }
+ } catch (InvalidInputException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ }
+
private void parseDeclarations(char[] parent, StringBuffer buf,
boolean goBack) {
char[] ident;
}
}
if (fToken == TokenNamefunction) {
- getNextToken();
+ skipComments();
if (fToken == TokenNameAND) {
getNextToken();
}
phpdocOffset, phpdocLength);
}
}
- getNextToken();
+ skipComments();
parseDeclarations(null, buf, true);
}
} else if (fToken == TokenNameclass
|| fToken == TokenNameinterface) {
- getNextToken();
+ skipComments();
if (fToken == TokenNameIdentifier) {
ident = fScanner.getCurrentIdentifierSource();
addIdentifierInformation('c', ident, buf,
phpdocOffset, phpdocLength);
- getNextToken();
+ skipComments();
if (fToken == TokenNameextends) {
- getNextToken();
+ skipComments();
while (fToken == TokenNameIdentifier) {
ident = fScanner
.getCurrentIdentifierSource();
// extends ident
addIdentifierInformation('e', ident, buf);
- getNextToken();
- if (fToken == TokenNameCOMMA) {
- getNextToken();
+ skipComments();
+ if (fToken == TokenNameCOMMA) {
+ skipComments();
}
}
}
if (fToken == TokenNameimplements) {
- getNextToken();
+ skipComments();
while (fToken == TokenNameIdentifier) {
ident = fScanner
.getCurrentIdentifierSource();
// implements ident
addIdentifierInformation('e', ident, buf);
- getNextToken();
+ skipComments();
if (fToken == TokenNameCOMMA) {
- getNextToken();
+ skipComments();
+// getNextToken();
}
}
}
|| fToken == TokenNamepublic
|| fToken == TokenNameprotected
|| fToken == TokenNameprivate) {
- getNextToken();
+ skipComments();
}
while (fToken == TokenNameVariable) {
ident = fScanner.getCurrentIdentifierSource();
ident.length - 1);
addClassVariableInformation('v', classVariable,
buf, phpdocOffset, phpdocLength);
- getNextToken();
+ skipComments();
if (fToken == TokenNameCOMMA) {
- getNextToken();
+ skipComments();
}
}
} else if (!hasModifiers && fToken == TokenNameIdentifier) {
// TokenNameERROR) {
phpdocOffset = -1;
hasModifiers = false;
- if (fToken == TokenNameCOMMENT_PHPDOC) {
+ switch (fToken) {
+ case TokenNameCOMMENT_PHPDOC:
phpdocOffset = fScanner.getCurrentTokenStartPosition();
phpdocLength = fScanner.getCurrentTokenEndPosition()
- fScanner.getCurrentTokenStartPosition() + 1;
if (fToken == TokenNameEOF || fToken == TokenNameERROR) {
break;
}
- }
- if (fToken == TokenNamefunction) {
- getNextToken();
+ break;
+
+ case TokenNamefunction:
+ skipComments();
if (fToken == TokenNameAND) {
getNextToken();
}
ident = fScanner.getCurrentIdentifierSource();
addIdentifierInformation('f', ident, buf,
phpdocOffset, phpdocLength);
- getNextToken();
+ skipComments();
+ if (fToken == TokenNameLPAREN) {
+ skipComments();
+ do {
+ if (fToken == TokenNameVariable) {
+ ident = fScanner.getCurrentIdentifierSource();
+ addIdentifierInformation('v', ident, buf,
+ phpdocOffset, phpdocLength);
+ skipComments();
+ if (fToken == TokenNameCOMMA) {
+ skipComments();
+ }
+ }
+ } while (fToken != TokenNameRPAREN );
+ }
parseDeclarations(null, buf, true);
}
- } else if (fToken == TokenNameclass
- || fToken == TokenNameinterface) {
- getNextToken();
+ break;
+
+ case TokenNameclass:
+ case TokenNameinterface:
+ skipComments();
if (fToken == TokenNameIdentifier) {
ident = fScanner.getCurrentIdentifierSource();
addIdentifierInformation('c', ident, buf,
phpdocOffset, phpdocLength);
- getNextToken();
+ skipComments();
if (fToken == TokenNameextends) {
- getNextToken();
+ skipComments();
while (fToken == TokenNameIdentifier) {
ident = fScanner
.getCurrentIdentifierSource();
// extends ident
addIdentifierInformation('e', ident, buf);
- getNextToken();
+ skipComments();
if (fToken == TokenNameCOMMA) {
- getNextToken();
+ skipComments();
}
}
}
if (fToken == TokenNameimplements) {
- getNextToken();
+ skipComments();
while (fToken == TokenNameIdentifier) {
ident = fScanner
.getCurrentIdentifierSource();
// implements ident
addIdentifierInformation('e', ident, buf);
- getNextToken();
+ skipComments();
if (fToken == TokenNameCOMMA) {
- getNextToken();
+ skipComments();
}
}
}
}
parseDeclarations(ident, buf, true);
}
- } else if (fToken == TokenNameVariable) {
+ break;
+
+ case TokenNameVariable:
// global variable
ident = fScanner.getCurrentIdentifierSource();
addIdentifierInformation('g', ident, buf, phpdocOffset,
phpdocLength);
getNextToken();
- } else if (!hasModifiers && fToken == TokenNameIdentifier) {
- ident = fScanner.getCurrentIdentifierSource();
- getNextToken();
- if (ident.length == 6 && ident[0] == 'd'
- && ident[1] == 'e' && ident[2] == 'f'
- && ident[3] == 'i' && ident[4] == 'n'
- && ident[5] == 'e') {
- if (fToken == TokenNameLPAREN) {
- getNextToken();
- if (fToken == TokenNameStringDoubleQuote) {
- ident = fScanner
- .getCurrentStringLiteralSource();
- addIdentifierInformation('d', ident, buf,
- phpdocOffset, phpdocLength);
- getNextToken();
- } else if (fToken == TokenNameStringSingleQuote) {
- ident = fScanner
- .getCurrentStringLiteralSource();
- addIdentifierInformation('d', ident, buf,
- phpdocOffset, phpdocLength);
- getNextToken();
- }
- }
- }
- } else {
+ break;
+
+ default:
getNextToken();
}
+
}
} catch (InvalidInputException e) {
// ignore errors
}
}
}
-
+
class StringComparator implements Comparator {
public int compare(Object o1, Object o2) {
String s1 = (String) o1;
String line = (String) fFileMap.get(file.getProjectRelativePath()
.toString());
if (line != null) {
- PHPIdentifierLocation ident;
+ //PHPIdentifierLocation ident;
ArrayList allClassNames = new ArrayList();
addLine(treeMap, null, line, allClassNames);
int i = 0;
}
public void addIdentifiers(TreeMap treeMap, String startClazz) {
- PHPIdentifierLocation ident;
+ //PHPIdentifierLocation ident;
ArrayList allClassNames = new ArrayList();
addClassName(treeMap, startClazz, allClassNames);
int i = 0;