mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
Merge branch 'master' into upsource-master
This commit is contained in:
@@ -671,15 +671,14 @@ public class ExpressionParser {
|
||||
final PsiBuilder.Marker newExpr = (start != null ? start.precede() : builder.mark());
|
||||
builder.advanceLexer();
|
||||
|
||||
final boolean parseDiamonds = areDiamondsSupported(builder);
|
||||
myReferenceParser.parseReferenceParameterList(builder, false, parseDiamonds);
|
||||
myReferenceParser.parseReferenceParameterList(builder, false, true);
|
||||
|
||||
final PsiBuilder.Marker refOrType;
|
||||
final boolean parseAnnotations = areTypeAnnotationsSupported(builder) && builder.getTokenType() == JavaTokenType.AT;
|
||||
|
||||
final IElementType tokenType = builder.getTokenType();
|
||||
if (tokenType == JavaTokenType.IDENTIFIER || parseAnnotations) {
|
||||
refOrType = myReferenceParser.parseJavaCodeReference(builder, true, true, parseAnnotations, true, parseDiamonds);
|
||||
refOrType = myReferenceParser.parseJavaCodeReference(builder, true, true, parseAnnotations, true, true);
|
||||
if (refOrType == null) {
|
||||
error(builder, JavaErrorMessages.message("expected.identifier"));
|
||||
newExpr.done(JavaElementType.NEW_EXPRESSION);
|
||||
|
||||
@@ -133,17 +133,6 @@ public class JavaParserUtil {
|
||||
builder.putUserDataUnprotected(LANG_LEVEL_KEY, level);
|
||||
}
|
||||
|
||||
// todo[r.sh] join all JDK 7 check clauses into single method (IDEA 11)
|
||||
public static boolean areDiamondsSupported(final PsiBuilder builder) {
|
||||
return getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_7);
|
||||
}
|
||||
public static boolean areMultiCatchSupported(final PsiBuilder builder) {
|
||||
return getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_7);
|
||||
}
|
||||
public static boolean areTryWithResourcesSupported(final PsiBuilder builder) {
|
||||
return getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_7);
|
||||
}
|
||||
|
||||
public static boolean areTypeAnnotationsSupported(final PsiBuilder builder) {
|
||||
return getLanguageLevel(builder).isAtLeast(LanguageLevel.JDK_1_8);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2011 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -622,9 +622,8 @@ public class StatementParser {
|
||||
final PsiBuilder.Marker statement = builder.mark();
|
||||
builder.advanceLexer();
|
||||
|
||||
boolean hasResourceList = false;
|
||||
if (areTryWithResourcesSupported(builder) && builder.getTokenType() == JavaTokenType.LPARENTH) {
|
||||
hasResourceList = true;
|
||||
final boolean hasResourceList = builder.getTokenType() == JavaTokenType.LPARENTH;
|
||||
if (hasResourceList) {
|
||||
myDeclarationParser.parseResourceList(builder);
|
||||
}
|
||||
|
||||
@@ -667,7 +666,7 @@ public class StatementParser {
|
||||
return false;
|
||||
}
|
||||
|
||||
final PsiBuilder.Marker param = myDeclarationParser.parseParameter(builder, false, areMultiCatchSupported(builder));
|
||||
final PsiBuilder.Marker param = myDeclarationParser.parseParameter(builder, false, true);
|
||||
if (param == null) {
|
||||
error(builder, JavaErrorMessages.message("expected.parameter"));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
* Copyright 2000-2012 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -23,50 +23,51 @@ import com.intellij.psi.impl.source.tree.JavaDocElementType;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.util.text.CharArrayUtil;
|
||||
import gnu.trove.THashSet;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Set;
|
||||
|
||||
public class JavaLexer extends LexerBase {
|
||||
private JavaLexer(boolean isAssertKeywordEnabled, boolean isJDK15) {
|
||||
myTable = getTable(isAssertKeywordEnabled, isJDK15);
|
||||
myFlexLexer = new _JavaLexer(isAssertKeywordEnabled, isJDK15);
|
||||
}
|
||||
private static final HashTable[] TABLES = new HashTable[]{
|
||||
new HashTable(LanguageLevel.JDK_1_8),
|
||||
new HashTable(LanguageLevel.JDK_1_5),
|
||||
new HashTable(LanguageLevel.JDK_1_4),
|
||||
new HashTable(LanguageLevel.JDK_1_3)
|
||||
};
|
||||
|
||||
public JavaLexer(LanguageLevel level) {
|
||||
this(level.hasAssertKeyword(), level.hasEnumKeywordAndAutoboxing());
|
||||
private static HashTable getTable(final LanguageLevel level) {
|
||||
for (HashTable table : TABLES) {
|
||||
if (level.isAtLeast(table.myLevel)) {
|
||||
return table;
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("Unsupported level: " + level);
|
||||
}
|
||||
|
||||
private static HashTable getTable(boolean isAssertKeywordEnabled, boolean isJDK15) {
|
||||
return isAssertKeywordEnabled
|
||||
? isJDK15 ? ourTableWithAssertAndJDK15 : ourTableWithAssert
|
||||
: isJDK15 ? ourTableWithJDK15 : ourTableWithoutAssert;
|
||||
}
|
||||
|
||||
private static HashTable getTable(LanguageLevel level) {
|
||||
return getTable(level.hasAssertKeyword(), level.hasEnumKeywordAndAutoboxing());
|
||||
}
|
||||
|
||||
|
||||
public static boolean isKeyword(String id, LanguageLevel level) {
|
||||
return getTable(level).contains(id);
|
||||
}
|
||||
|
||||
private final _JavaLexer myFlexLexer;
|
||||
private final HashTable myTable;
|
||||
private CharSequence myBuffer;
|
||||
private char[] myBufferArray;
|
||||
private int myBufferIndex;
|
||||
private int myBufferEndOffset;
|
||||
|
||||
private int myTokenEndOffset; // positioned after the last symbol of the current token
|
||||
private IElementType myTokenType;
|
||||
private _JavaLexer myFlexLexer;
|
||||
|
||||
//Positioned after the last symbol of the current token
|
||||
private int myTokenEndOffset;
|
||||
public JavaLexer(@NotNull final LanguageLevel level) {
|
||||
myFlexLexer = new _JavaLexer(level);
|
||||
myTable = getTable(level);
|
||||
}
|
||||
|
||||
private static final class HashTable {
|
||||
private static final int NUM_ENTRIES = 999;
|
||||
private static final Logger LOG = Logger.getInstance("com.intellij.Lexer.JavaLexer");
|
||||
|
||||
private final LanguageLevel myLevel;
|
||||
private final char[][] myTable = new char[NUM_ENTRIES][];
|
||||
private final IElementType[] myKeywords = new IElementType[NUM_ENTRIES];
|
||||
private final Set<String> myKeywordsInSet = new THashSet<String>();
|
||||
@@ -111,12 +112,16 @@ public class JavaLexer extends LexerBase {
|
||||
}
|
||||
|
||||
@SuppressWarnings({"HardCodedStringLiteral"})
|
||||
private HashTable(boolean isAssertKeywordEnabled, boolean isJDK15) {
|
||||
if (isAssertKeywordEnabled) {
|
||||
private HashTable(final LanguageLevel level) {
|
||||
myLevel = level;
|
||||
if (level.isAtLeast(LanguageLevel.JDK_1_4)) {
|
||||
add("assert", JavaTokenType.ASSERT_KEYWORD);
|
||||
}
|
||||
if (isJDK15) {
|
||||
add("enum", JavaTokenType.ENUM_KEYWORD);
|
||||
if (level.isAtLeast(LanguageLevel.JDK_1_5)) {
|
||||
add("enum", JavaTokenType.ENUM_KEYWORD);
|
||||
if (level.isAtLeast(LanguageLevel.JDK_1_8)) {
|
||||
add("none", JavaTokenType.NONE_KEYWORD);
|
||||
}
|
||||
}
|
||||
}
|
||||
add("abstract", JavaTokenType.ABSTRACT_KEYWORD);
|
||||
add("default", JavaTokenType.DEFAULT_KEYWORD);
|
||||
@@ -172,12 +177,6 @@ public class JavaLexer extends LexerBase {
|
||||
}
|
||||
}
|
||||
|
||||
private final HashTable myTable;
|
||||
private static final HashTable ourTableWithoutAssert = new HashTable(false, false);
|
||||
private static final HashTable ourTableWithAssert = new HashTable(true, false);
|
||||
private static final HashTable ourTableWithAssertAndJDK15 = new HashTable(true, true);
|
||||
private static final HashTable ourTableWithJDK15 = new HashTable(false, true);
|
||||
|
||||
@Override
|
||||
public final void start(CharSequence buffer, int startOffset, int endOffset, int initialState) {
|
||||
myBuffer = buffer;
|
||||
|
||||
@@ -0,0 +1,212 @@
|
||||
/* It's an automatically generated code. Do not modify it. */
|
||||
package com.intellij.lexer;
|
||||
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.JavaTokenType;
|
||||
import com.intellij.psi.impl.source.tree.JavaDocElementType;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
|
||||
@SuppressWarnings({"ALL"})
|
||||
%%
|
||||
|
||||
%{
|
||||
private boolean myAssertKeyword;
|
||||
private boolean myEnumKeyword;
|
||||
private boolean myNoneKeyword;
|
||||
|
||||
public _JavaLexer(LanguageLevel level) {
|
||||
this((java.io.Reader)null);
|
||||
myAssertKeyword = level.isAtLeast(LanguageLevel.JDK_1_4);
|
||||
myEnumKeyword = level.isAtLeast(LanguageLevel.JDK_1_5);
|
||||
myNoneKeyword = level.isAtLeast(LanguageLevel.JDK_1_8);
|
||||
}
|
||||
|
||||
public void goTo(int offset) {
|
||||
zzCurrentPos = zzMarkedPos = zzStartRead = offset;
|
||||
zzPushbackPos = 0;
|
||||
zzAtEOF = offset < zzEndRead;
|
||||
}
|
||||
%}
|
||||
|
||||
%unicode
|
||||
%class _JavaLexer
|
||||
%implements FlexLexer
|
||||
%function advance
|
||||
%type IElementType
|
||||
%eof{ return;
|
||||
%eof}
|
||||
|
||||
WHITE_SPACE_CHAR=[\ \n\r\t\f]
|
||||
|
||||
IDENTIFIER=[:jletter:] [:jletterdigit:]*
|
||||
|
||||
C_STYLE_COMMENT=("/*"[^"*"]{COMMENT_TAIL})|"/*"
|
||||
DOC_COMMENT="/*""*"+("/"|([^"/""*"]{COMMENT_TAIL}))?
|
||||
COMMENT_TAIL=([^"*"]*("*"+[^"*""/"])?)*("*"+"/")?
|
||||
END_OF_LINE_COMMENT="/""/"[^\r\n]*
|
||||
|
||||
DIGIT=[0-9]
|
||||
DIGIT_OR_UNDERSCORE=[_0-9]
|
||||
OCTAL_DIGIT=[0-7]
|
||||
OCTAL_DIGIT_OR_UNDERSCORE=[_0-7]
|
||||
HEX_DIGIT=[0-9A-Fa-f]
|
||||
HEX_DIGIT_OR_UNDERSCORE=[_0-9A-Fa-f]
|
||||
BINARY_DIGIT=[01]
|
||||
BINARY_DIGIT_OR_UNDERSCORE=[_01]
|
||||
|
||||
DIGITS={DIGIT}|({DIGIT}{DIGIT_OR_UNDERSCORE}*{DIGIT})
|
||||
HEX_DIGITS={HEX_DIGIT}|({HEX_DIGIT}{HEX_DIGIT_OR_UNDERSCORE}*{HEX_DIGIT})
|
||||
BINARY_DIGITS={BINARY_DIGIT}|({BINARY_DIGIT}{BINARY_DIGIT_OR_UNDERSCORE}*{BINARY_DIGIT})
|
||||
|
||||
INTEGER_LITERAL={DECIMAL_INTEGER_LITERAL}|{OCTAL_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}|{BINARY_INTEGER_LITERAL}
|
||||
DECIMAL_INTEGER_LITERAL=0|([1-9]({DIGIT_OR_UNDERSCORE}*{DIGIT})?)
|
||||
OCTAL_INTEGER_LITERAL=0{OCTAL_DIGIT_OR_UNDERSCORE}*{OCTAL_DIGIT}
|
||||
HEX_INTEGER_LITERAL=0[Xx]{HEX_DIGITS}?
|
||||
BINARY_INTEGER_LITERAL=0[Bb]{BINARY_DIGITS}?
|
||||
LONG_LITERAL={INTEGER_LITERAL}[Ll]
|
||||
|
||||
FLOAT_LITERAL=({FLOATING_POINT_LITERAL1}|{FLOATING_POINT_LITERAL2}|{FLOATING_POINT_LITERAL3}|{FLOATING_POINT_LITERAL4})[Ff]
|
||||
DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1}|{FLOATING_POINT_LITERAL2}|{FLOATING_POINT_LITERAL3})[Dd]?)|({FLOATING_POINT_LITERAL4}[Dd])
|
||||
FLOATING_POINT_LITERAL1={DIGITS}"."{DIGITS}?{EXPONENT_PART}?
|
||||
FLOATING_POINT_LITERAL2="."{DIGITS}{EXPONENT_PART}?
|
||||
FLOATING_POINT_LITERAL3={DIGITS}{EXPONENT_PART}
|
||||
FLOATING_POINT_LITERAL4={DIGITS}
|
||||
EXPONENT_PART=[Ee]["+""-"]?{DIGITS}?
|
||||
|
||||
HEX_FLOAT_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}[Ff]
|
||||
HEX_DOUBLE_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}[Dd]?
|
||||
BINARY_EXPONENT=[Pp][+-]?{DIGITS}
|
||||
HEX_SIGNIFICAND={HEX_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}.|0[Xx]{HEX_DIGITS}?.{HEX_DIGITS}
|
||||
|
||||
CHARACTER_LITERAL="'"([^\\\'\r\n]|{ESCAPE_SEQUENCE})*("'"|\\)?
|
||||
STRING_LITERAL=\"([^\\\"\r\n]|{ESCAPE_SEQUENCE})*(\"|\\)?
|
||||
ESCAPE_SEQUENCE=\\[^\r\n]
|
||||
|
||||
%%
|
||||
|
||||
<YYINITIAL> {WHITE_SPACE_CHAR}+ { return JavaTokenType.WHITE_SPACE; }
|
||||
|
||||
<YYINITIAL> {C_STYLE_COMMENT} { return JavaTokenType.C_STYLE_COMMENT; }
|
||||
<YYINITIAL> {END_OF_LINE_COMMENT} { return JavaTokenType.END_OF_LINE_COMMENT; }
|
||||
<YYINITIAL> {DOC_COMMENT} { return JavaDocElementType.DOC_COMMENT; }
|
||||
|
||||
<YYINITIAL> {LONG_LITERAL} { return JavaTokenType.LONG_LITERAL; }
|
||||
<YYINITIAL> {INTEGER_LITERAL} { return JavaTokenType.INTEGER_LITERAL; }
|
||||
<YYINITIAL> {FLOAT_LITERAL} { return JavaTokenType.FLOAT_LITERAL; }
|
||||
<YYINITIAL> {HEX_FLOAT_LITERAL} { return JavaTokenType.FLOAT_LITERAL; }
|
||||
<YYINITIAL> {DOUBLE_LITERAL} { return JavaTokenType.DOUBLE_LITERAL; }
|
||||
<YYINITIAL> {HEX_DOUBLE_LITERAL} { return JavaTokenType.DOUBLE_LITERAL; }
|
||||
|
||||
<YYINITIAL> {CHARACTER_LITERAL} { return JavaTokenType.CHARACTER_LITERAL; }
|
||||
<YYINITIAL> {STRING_LITERAL} { return JavaTokenType.STRING_LITERAL; }
|
||||
|
||||
<YYINITIAL> "true" { return JavaTokenType.TRUE_KEYWORD; }
|
||||
<YYINITIAL> "false" { return JavaTokenType.FALSE_KEYWORD; }
|
||||
<YYINITIAL> "null" { return JavaTokenType.NULL_KEYWORD; }
|
||||
|
||||
<YYINITIAL> "abstract" { return JavaTokenType.ABSTRACT_KEYWORD; }
|
||||
<YYINITIAL> "assert" { return myAssertKeyword ? JavaTokenType.ASSERT_KEYWORD : JavaTokenType.IDENTIFIER; }
|
||||
<YYINITIAL> "boolean" { return JavaTokenType.BOOLEAN_KEYWORD; }
|
||||
<YYINITIAL> "break" { return JavaTokenType.BREAK_KEYWORD; }
|
||||
<YYINITIAL> "byte" { return JavaTokenType.BYTE_KEYWORD; }
|
||||
<YYINITIAL> "case" { return JavaTokenType.CASE_KEYWORD; }
|
||||
<YYINITIAL> "catch" { return JavaTokenType.CATCH_KEYWORD; }
|
||||
<YYINITIAL> "char" { return JavaTokenType.CHAR_KEYWORD; }
|
||||
<YYINITIAL> "class" { return JavaTokenType.CLASS_KEYWORD; }
|
||||
<YYINITIAL> "const" { return JavaTokenType.CONST_KEYWORD; }
|
||||
<YYINITIAL> "continue" { return JavaTokenType.CONTINUE_KEYWORD; }
|
||||
<YYINITIAL> "default" { return JavaTokenType.DEFAULT_KEYWORD; }
|
||||
<YYINITIAL> "do" { return JavaTokenType.DO_KEYWORD; }
|
||||
<YYINITIAL> "double" { return JavaTokenType.DOUBLE_KEYWORD; }
|
||||
<YYINITIAL> "else" { return JavaTokenType.ELSE_KEYWORD; }
|
||||
<YYINITIAL> "enum" { return myEnumKeyword ? JavaTokenType.ENUM_KEYWORD : JavaTokenType.IDENTIFIER; }
|
||||
<YYINITIAL> "extends" { return JavaTokenType.EXTENDS_KEYWORD; }
|
||||
<YYINITIAL> "final" { return JavaTokenType.FINAL_KEYWORD; }
|
||||
<YYINITIAL> "finally" { return JavaTokenType.FINALLY_KEYWORD; }
|
||||
<YYINITIAL> "float" { return JavaTokenType.FLOAT_KEYWORD; }
|
||||
<YYINITIAL> "for" { return JavaTokenType.FOR_KEYWORD; }
|
||||
<YYINITIAL> "goto" { return JavaTokenType.GOTO_KEYWORD; }
|
||||
<YYINITIAL> "if" { return JavaTokenType.IF_KEYWORD; }
|
||||
<YYINITIAL> "implements" { return JavaTokenType.IMPLEMENTS_KEYWORD; }
|
||||
<YYINITIAL> "import" { return JavaTokenType.IMPORT_KEYWORD; }
|
||||
<YYINITIAL> "instanceof" { return JavaTokenType.INSTANCEOF_KEYWORD; }
|
||||
<YYINITIAL> "int" { return JavaTokenType.INT_KEYWORD; }
|
||||
<YYINITIAL> "interface" { return JavaTokenType.INTERFACE_KEYWORD; }
|
||||
<YYINITIAL> "long" { return JavaTokenType.LONG_KEYWORD; }
|
||||
<YYINITIAL> "native" { return JavaTokenType.NATIVE_KEYWORD; }
|
||||
<YYINITIAL> "new" { return JavaTokenType.NEW_KEYWORD; }
|
||||
<YYINITIAL> "package" { return JavaTokenType.PACKAGE_KEYWORD; }
|
||||
<YYINITIAL> "private" { return JavaTokenType.PRIVATE_KEYWORD; }
|
||||
<YYINITIAL> "public" { return JavaTokenType.PUBLIC_KEYWORD; }
|
||||
<YYINITIAL> "short" { return JavaTokenType.SHORT_KEYWORD; }
|
||||
<YYINITIAL> "super" { return JavaTokenType.SUPER_KEYWORD; }
|
||||
<YYINITIAL> "switch" { return JavaTokenType.SWITCH_KEYWORD; }
|
||||
<YYINITIAL> "synchronized" { return JavaTokenType.SYNCHRONIZED_KEYWORD; }
|
||||
<YYINITIAL> "this" { return JavaTokenType.THIS_KEYWORD; }
|
||||
<YYINITIAL> "throw" { return JavaTokenType.THROW_KEYWORD; }
|
||||
<YYINITIAL> "protected" { return JavaTokenType.PROTECTED_KEYWORD; }
|
||||
<YYINITIAL> "transient" { return JavaTokenType.TRANSIENT_KEYWORD; }
|
||||
<YYINITIAL> "return" { return JavaTokenType.RETURN_KEYWORD; }
|
||||
<YYINITIAL> "void" { return JavaTokenType.VOID_KEYWORD; }
|
||||
<YYINITIAL> "static" { return JavaTokenType.STATIC_KEYWORD; }
|
||||
<YYINITIAL> "strictfp" { return JavaTokenType.STRICTFP_KEYWORD; }
|
||||
<YYINITIAL> "while" { return JavaTokenType.WHILE_KEYWORD; }
|
||||
<YYINITIAL> "try" { return JavaTokenType.TRY_KEYWORD; }
|
||||
<YYINITIAL> "volatile" { return JavaTokenType.VOLATILE_KEYWORD; }
|
||||
<YYINITIAL> "throws" { return JavaTokenType.THROWS_KEYWORD; }
|
||||
<YYINITIAL> "none" { return myNoneKeyword ? JavaTokenType.NONE_KEYWORD : JavaTokenType.IDENTIFIER; }
|
||||
|
||||
<YYINITIAL> {IDENTIFIER} { return JavaTokenType.IDENTIFIER; }
|
||||
|
||||
<YYINITIAL> "==" { return JavaTokenType.EQEQ; }
|
||||
<YYINITIAL> "!=" { return JavaTokenType.NE; }
|
||||
<YYINITIAL> "||" { return JavaTokenType.OROR; }
|
||||
<YYINITIAL> "++" { return JavaTokenType.PLUSPLUS; }
|
||||
<YYINITIAL> "--" { return JavaTokenType.MINUSMINUS; }
|
||||
|
||||
<YYINITIAL> "<" { return JavaTokenType.LT; }
|
||||
<YYINITIAL> "<=" { return JavaTokenType.LE; }
|
||||
<YYINITIAL> "<<=" { return JavaTokenType.LTLTEQ; }
|
||||
<YYINITIAL> "<<" { return JavaTokenType.LTLT; }
|
||||
<YYINITIAL> ">" { return JavaTokenType.GT; }
|
||||
<YYINITIAL> "&" { return JavaTokenType.AND; }
|
||||
<YYINITIAL> "&&" { return JavaTokenType.ANDAND; }
|
||||
|
||||
<YYINITIAL> "+=" { return JavaTokenType.PLUSEQ; }
|
||||
<YYINITIAL> "-=" { return JavaTokenType.MINUSEQ; }
|
||||
<YYINITIAL> "*=" { return JavaTokenType.ASTERISKEQ; }
|
||||
<YYINITIAL> "/=" { return JavaTokenType.DIVEQ; }
|
||||
<YYINITIAL> "&=" { return JavaTokenType.ANDEQ; }
|
||||
<YYINITIAL> "|=" { return JavaTokenType.OREQ; }
|
||||
<YYINITIAL> "^=" { return JavaTokenType.XOREQ; }
|
||||
<YYINITIAL> "%=" { return JavaTokenType.PERCEQ; }
|
||||
|
||||
<YYINITIAL> "(" { return JavaTokenType.LPARENTH; }
|
||||
<YYINITIAL> ")" { return JavaTokenType.RPARENTH; }
|
||||
<YYINITIAL> "{" { return JavaTokenType.LBRACE; }
|
||||
<YYINITIAL> "}" { return JavaTokenType.RBRACE; }
|
||||
<YYINITIAL> "[" { return JavaTokenType.LBRACKET; }
|
||||
<YYINITIAL> "]" { return JavaTokenType.RBRACKET; }
|
||||
<YYINITIAL> ";" { return JavaTokenType.SEMICOLON; }
|
||||
<YYINITIAL> "," { return JavaTokenType.COMMA; }
|
||||
<YYINITIAL> "..." { return JavaTokenType.ELLIPSIS; }
|
||||
<YYINITIAL> "." { return JavaTokenType.DOT; }
|
||||
|
||||
<YYINITIAL> "=" { return JavaTokenType.EQ; }
|
||||
<YYINITIAL> "!" { return JavaTokenType.EXCL; }
|
||||
<YYINITIAL> "~" { return JavaTokenType.TILDE; }
|
||||
<YYINITIAL> "?" { return JavaTokenType.QUEST; }
|
||||
<YYINITIAL> ":" { return JavaTokenType.COLON; }
|
||||
<YYINITIAL> "+" { return JavaTokenType.PLUS; }
|
||||
<YYINITIAL> "-" { return JavaTokenType.MINUS; }
|
||||
<YYINITIAL> "*" { return JavaTokenType.ASTERISK; }
|
||||
<YYINITIAL> "/" { return JavaTokenType.DIV; }
|
||||
<YYINITIAL> "|" { return JavaTokenType.OR; }
|
||||
<YYINITIAL> "^" { return JavaTokenType.XOR; }
|
||||
<YYINITIAL> "%" { return JavaTokenType.PERC; }
|
||||
<YYINITIAL> "@" { return JavaTokenType.AT; }
|
||||
|
||||
<YYINITIAL> "::" { return JavaTokenType.DOUBLE_COLON; }
|
||||
<YYINITIAL> "->" { return JavaTokenType.ARROW; }
|
||||
|
||||
<YYINITIAL> . { return JavaTokenType.BAD_CHARACTER; }
|
||||
File diff suppressed because it is too large
Load Diff
@@ -41,7 +41,6 @@ annotation.target.PACKAGE=package
|
||||
generics.holder.type=Type
|
||||
generics.holder.method=Method
|
||||
|
||||
generics.are.not.supported=Generics are not supported at this language level
|
||||
generics.inferred.type.for.type.parameter.is.not.within.its.bound.extend=Inferred type ''{2}'' for type parameter ''{0}'' is not within its bound; should extend ''{1}''
|
||||
generics.inferred.type.for.type.parameter.is.not.within.its.bound.implement=Inferred type ''{2}'' for type parameter ''{0}'' is not within its bound; should implement ''{1}''
|
||||
generics.type.parameter.is.not.within.its.bound.extend=Type parameter ''{0}'' is not within its bound; should extend ''{1}''
|
||||
@@ -83,7 +82,6 @@ generics.type.arguments.on.raw.type=Type arguments given on a raw type
|
||||
generics.type.arguments.on.raw.method=Type arguments given on a raw method
|
||||
classes.extends.enum=Classes cannot directly extend 'java.lang.Enum'
|
||||
unchecked.overriding.incompatible.return.type=Unchecked overriding: return type requires unchecked conversion. Found ''{0}'', required ''{1}''
|
||||
unchecked.overriding=Unchecked overriding
|
||||
local.enum=Enum must not be local
|
||||
|
||||
interface.expected=Interface expected here
|
||||
@@ -237,10 +235,6 @@ static.member.accessed.via.instance.reference=Static member ''{0}.{1}'' accessed
|
||||
unresolved.label=Undefined label: ''{0}''
|
||||
deprecated.symbol=''{0}'' is deprecated
|
||||
cannot.resolve.symbol=Cannot resolve symbol ''{0}''
|
||||
static.imports.prior.15=Static imports are not supported at this language level
|
||||
varargs.prior.15=Variable arity methods are not supported at this language level
|
||||
foreach.prior.15=Foreach loops are not supported at this language level
|
||||
annotations.prior.15=Annotations are not supported at this language level
|
||||
class.is.already.defined.in.single.static.import=Class ''{0}'' is already defined in a single static import
|
||||
class.is.ambiguous.in.single.static.import=Class ''{0}'' is ambiguous in a single static import
|
||||
field.is.already.defined.in.single.static.import=Field ''{0}'' is already defined in a single static import
|
||||
@@ -264,8 +258,6 @@ private.inner.interface.is.not.used=Private inner interface ''{0}'' is never use
|
||||
type.parameter.is.not.used=Type parameter ''{0}'' is never used
|
||||
local.class.is.not.used=Local class ''{0}'' is never used
|
||||
class.is.not.used=Class ''{0}'' is never used
|
||||
uidesigned.field.is.overwritten.by.generated.code=Field ''{0}'' is overwritten by generated code
|
||||
uidesigner.bound.field.type.mismatch=Types of GUI component (''{0}'') and bound field (''{1}'') do not match
|
||||
|
||||
hexadecimal.numbers.must.contain.at.least.one.hexadecimal.digit=Hexadecimal numbers must contain at least one hexadecimal digit
|
||||
binary.numbers.must.contain.at.least.one.hexadecimal.digit=Binary numbers must contain at least one binary digit
|
||||
@@ -322,7 +314,6 @@ expected.resource=Resource definition expected
|
||||
expected.type.parameter=Type parameter expected
|
||||
expected.comma=',' expected
|
||||
expected.comma.or.rparen=',' or ')' expected
|
||||
unexpected.tokens.beyond.the.end.of.expression=Unexpected token(s) beyond the end of expression
|
||||
expected.colon=':' expected
|
||||
expected.type=Type expected
|
||||
expected.lbracket='[' expected
|
||||
@@ -352,3 +343,13 @@ cannot.resolve.package=Cannot resolve package {0}
|
||||
override.not.allowed.in.interfaces=@Override is not allowed when implementing interface method
|
||||
wildcard.not.expected=Unexpected wildcard
|
||||
bound.not.expected=Unexpected bound
|
||||
|
||||
feature.generics=Generics
|
||||
feature.annotations=Annotations
|
||||
feature.static.imports=Static imports
|
||||
feature.for.each=For-each loops
|
||||
feature.varargs=Variable arity methods
|
||||
feature.diamond.types=Diamond types
|
||||
feature.try.with.resources=Try-with-resources
|
||||
feature.multi.catch=Multi-catches
|
||||
insufficient.language.level={0} are not supported at this language level
|
||||
|
||||
Reference in New Issue
Block a user