public ICompilationUnit compilationUnit = null;
/**
+ * Determines if the specified character is permissible as the first character in a PHP identifier or
+ * variable
+ *
+ * The '$' character for PHP variables is regarded as a correct first character !
+ *
+ */
+ public static boolean isPHPIdentOrVarStart(char ch) {
+ return Character.isLetter(ch) || (ch == '$') ||(ch == '_') || (0x7F <= ch && ch <= 0xFF);
+ }
+
+ /**
* Determines if the specified character is permissible as the first character in a PHP identifier.
*
- * The '$' character for HP variables isn't regarded as the first character !
+ * The '$' character for PHP variables isn't regarded as the first character !
*/
public static boolean isPHPIdentifierStart(char ch) {
return Character.isLetter(ch) || (ch == '_') || (0x7F <= ch && ch <= 0xFF);
}
return result;
}
-
+
+ public final char[] getRawTokenSourceEnd() {
+ int length = this.eofPosition - this.currentPosition - 1;
+ char[] sourceEnd = new char[length];
+ System.arraycopy(this.source, this.currentPosition, sourceEnd, 0, length);
+ return sourceEnd;
+}
public int getCurrentTokenStartPosition() {
return this.startPosition;
}
continue nextTag;
// ensure tag is not leaded with letter if tag starts with a letter
- if (Character.isJavaIdentifierStart(tag[0])) {
- if (Character.isJavaIdentifierPart(previous)) {
+ if (Scanner.isPHPIdentifierStart(tag[0])) {
+ if (Scanner.isPHPIdentifierPart(previous)) {
continue nextTag;
}
}
}
}
// ensure tag is not followed with letter if tag finishes with a letter
- if (i + tagLength < commentEnd && Character.isJavaIdentifierPart(src[i + tagLength - 1])) {
- if (Character.isJavaIdentifierPart(src[i + tagLength]))
+ if (i + tagLength < commentEnd && Scanner.isPHPIdentifierPart(src[i + tagLength - 1])) {
+ if (Scanner.isPHPIdentifierPart(src[i + tagLength]))
continue nextTag;
}
if (this.foundTaskTags == null) {