diff --git a/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/_KDocLexer.java b/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/_KDocLexer.java
index 3de87a5e060..008af783635 100644
--- a/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/_KDocLexer.java
+++ b/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/_KDocLexer.java
@@ -1,4 +1,20 @@
-/* The following code was generated by JFlex 1.4.3 on 5/27/14 6:18 PM */
+/*
+ * Copyright 2010-2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* The following code was generated by JFlex 1.4.3 on 7/15/14 9:40 PM */
package org.jetbrains.jet.kdoc.lexer;
@@ -12,8 +28,8 @@ import java.lang.Character;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 5/27/14 6:18 PM from the specification file
- * /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/KDoc.flex
+ * on 7/15/14 9:40 PM from the specification file
+ * C:/Projects/kotlin/compiler/frontend/src/org/jetbrains/jet/kdoc/lexer/KDoc.flex
*/
class _KDocLexer implements FlexLexer {
/** initial size of the lookahead buffer */
@@ -553,6 +569,11 @@ class _KDocLexer implements FlexLexer {
zzMarkedPos = zzMarkedPosL;
switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
+ case 5:
+ { if (isLastToken()) return KDocTokens.END;
+ else return KDocTokens.TEXT;
+ }
+ case 11: break;
case 3:
{ if (yytextContainLineBreaks()) {
yybegin(LINE_BEGINNING);
@@ -562,11 +583,6 @@ class _KDocLexer implements FlexLexer {
return KDocTokens.TEXT; // internal white space
}
}
- case 11: break;
- case 5:
- { if (isLastToken()) return KDocTokens.END;
- else return KDocTokens.TEXT;
- }
case 12: break;
case 9:
{ yybegin(CONTENTS);
@@ -578,9 +594,9 @@ class _KDocLexer implements FlexLexer {
return KDocTokens.WIKI_LINK_CLOSE;
}
case 14: break;
- case 8:
+ case 6:
{ yybegin(CONTENTS);
- return KDocTokens.WIKI_LINK_OPEN;
+ return KDocTokens.MARKDOWN_ESCAPED_CHAR;
}
case 15: break;
case 10:
@@ -588,24 +604,24 @@ class _KDocLexer implements FlexLexer {
return KDocTokens.START;
}
case 16: break;
- case 1:
- { return TokenType.BAD_CHARACTER;
- }
- case 17: break;
- case 6:
- { yybegin(CONTENTS);
- return KDocTokens.MARKDOWN_ESCAPED_CHAR;
- }
- case 18: break;
case 2:
{ yybegin(CONTENTS);
return KDocTokens.TEXT;
}
- case 19: break;
+ case 17: break;
+ case 1:
+ { return TokenType.BAD_CHARACTER;
+ }
+ case 18: break;
case 4:
{ yybegin(CONTENTS_BEGINNING);
return KDocTokens.LEADING_ASTERISK;
}
+ case 19: break;
+ case 8:
+ { yybegin(CONTENTS);
+ return KDocTokens.WIKI_LINK_OPEN;
+ }
case 20: break;
default:
if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
diff --git a/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex b/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex
index b4a3a7273ba..22d80b4a3a4 100644
--- a/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex
+++ b/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex
@@ -102,7 +102,7 @@ DOUBLE_LITERAL={FLOATING_POINT_LITERAL1}|{FLOATING_POINT_LITERAL2}|{FLOATING_POI
FLOATING_POINT_LITERAL1=({DIGIT})+"."({DIGIT})+({EXPONENT_PART})?({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL2="."({DIGIT})+({EXPONENT_PART})?({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL3=({DIGIT})+({EXPONENT_PART})({FLOATING_POINT_LITERAL_SUFFIX})?
-FLOATING_POINT_LITERAL4=({DIGIT})+({FLOATING_POINT_LITERAL_SUFFIX})?
+FLOATING_POINT_LITERAL4=({DIGIT})+({FLOATING_POINT_LITERAL_SUFFIX})
FLOATING_POINT_LITERAL_SUFFIX=[Ff]
EXPONENT_PART=[Ee]["+""-"]?({DIGIT})*
//HEX_DOUBLE_LITERAL={HEX_SIGNIFICAND}{BINARY_EXPONENT}[Dd]?
diff --git a/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java b/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
index 1745ca24c23..d7f666338f7 100644
--- a/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
+++ b/compiler/frontend/src/org/jetbrains/jet/lexer/_JetLexer.java
@@ -1,4 +1,20 @@
-/* The following code was generated by JFlex 1.4.3 on 5/27/14 6:18 PM */
+/*
+ * Copyright 2010-2014 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.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* The following code was generated by JFlex 1.4.3 on 7/15/14 9:40 PM */
package org.jetbrains.jet.lexer;
@@ -15,8 +31,8 @@ import org.jetbrains.jet.lexer.JetTokens;
/**
* This class is a scanner generated by
* JFlex 1.4.3
- * on 5/27/14 6:18 PM from the specification file
- * /Users/abreslav/work/kotlin/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex
+ * on 7/15/14 9:40 PM from the specification file
+ * C:/Projects/kotlin/compiler/frontend/src/org/jetbrains/jet/lexer/Jet.flex
*/
class _JetLexer implements FlexLexer {
/** initial size of the lookahead buffer */
@@ -131,7 +147,7 @@ class _JetLexer implements FlexLexer {
"\1\33\1\34\1\35\1\36\1\35\1\1\1\37\2\35"+
"\1\40\1\1\1\40\3\41\1\42\1\43\1\2\1\0"+
"\2\44\1\0\1\45\1\0\1\5\1\0\1\46\1\47"+
- "\1\50\1\51\1\0\1\52\1\44\2\2\1\44\1\53"+
+ "\1\50\1\51\1\0\1\52\1\0\2\2\1\44\1\53"+
"\1\54\1\55\1\56\2\13\1\0\3\3\1\57\1\60"+
"\1\61\1\3\1\62\6\3\1\63\10\3\1\64\1\65"+
"\1\66\1\67\1\70\1\71\1\72\1\73\1\74\1\75"+
@@ -530,13 +546,13 @@ class _JetLexer implements FlexLexer {
"\6\0\1\11\16\1\1\11\3\1\1\11\17\1\1\11"+
"\7\1\6\11\1\1\1\11\2\1\2\11\4\1\1\11"+
"\2\1\2\11\1\1\1\0\1\11\1\1\1\0\1\1"+
- "\1\0\1\1\1\0\2\1\1\11\1\1\1\0\5\1"+
- "\5\11\1\1\1\0\7\1\1\11\21\1\11\11\1\1"+
- "\1\0\2\11\1\1\2\0\1\1\2\11\1\0\1\11"+
- "\1\1\1\11\2\0\3\1\1\11\1\0\1\1\2\0"+
- "\1\11\15\1\1\11\12\1\1\11\2\0\1\1\1\11"+
- "\1\1\4\11\2\1\1\0\22\1\1\11\1\0\14\1"+
- "\1\0\7\1";
+ "\1\0\1\1\1\0\2\1\1\11\1\1\1\0\1\1"+
+ "\1\0\3\1\5\11\1\1\1\0\7\1\1\11\21\1"+
+ "\11\11\1\1\1\0\2\11\1\1\2\0\1\1\2\11"+
+ "\1\0\1\11\1\1\1\11\2\0\3\1\1\11\1\0"+
+ "\1\1\2\0\1\11\15\1\1\11\12\1\1\11\2\0"+
+ "\1\1\1\11\1\1\4\11\2\1\1\0\22\1\1\11"+
+ "\1\0\14\1\1\0\7\1";
private static int [] zzUnpackAttribute() {
int [] result = new int[232];
@@ -910,194 +926,185 @@ class _JetLexer implements FlexLexer {
{ return JetTokens.NULL_KEYWORD ;
}
case 107: break;
- case 35:
- { if (lBraceCount == 0) {
- popState();
- return JetTokens.LONG_TEMPLATE_ENTRY_END;
- }
- lBraceCount--;
- return JetTokens.RBRACE;
- }
- case 108: break;
case 19:
{ return JetTokens.LT ;
}
- case 109: break;
+ case 108: break;
case 52:
{ return JetTokens.DO_KEYWORD ;
}
- case 110: break;
+ case 109: break;
case 18:
{ return JetTokens.PLUS ;
}
- case 111: break;
+ case 110: break;
case 55:
{ return JetTokens.PLUSEQ ;
}
- case 112: break;
+ case 111: break;
case 91:
{ popState(); return JetTokens.THIS_KEYWORD;
}
- case 113: break;
+ case 112: break;
case 28:
{ return JetTokens.COMMA ;
}
- case 114: break;
+ case 113: break;
case 20:
{ return JetTokens.GT ;
}
- case 115: break;
+ case 114: break;
case 4:
{ return JetTokens.WHITE_SPACE;
}
- case 116: break;
+ case 115: break;
case 26:
{ return JetTokens.RPAR ;
}
- case 117: break;
+ case 116: break;
case 54:
{ return JetTokens.DOUBLE_ARROW;
}
- case 118: break;
+ case 117: break;
case 85:
{ return JetTokens.TRUE_KEYWORD ;
}
- case 119: break;
+ case 118: break;
case 37:
{ return JetTokens.FIELD_IDENTIFIER;
}
- case 120: break;
+ case 119: break;
case 59:
{ return JetTokens.ANDAND ;
}
- case 121: break;
+ case 120: break;
case 64:
{ pushState(LONG_TEMPLATE_ENTRY); return JetTokens.LONG_TEMPLATE_ENTRY_START;
}
- case 122: break;
+ case 121: break;
case 36:
{ return JetTokens.FLOAT_LITERAL;
}
- case 123: break;
+ case 122: break;
case 38:
{ return JetTokens.EOL_COMMENT;
}
- case 124: break;
+ case 123: break;
case 89:
{ return JetTokens.WHEN_KEYWORD ;
}
- case 125: break;
+ case 124: break;
case 73:
{ pushState(RAW_STRING); return JetTokens.OPEN_QUOTE;
}
- case 126: break;
+ case 125: break;
case 22:
{ return JetTokens.COLON ;
}
- case 127: break;
+ case 126: break;
case 57:
{ return JetTokens.LTEQ ;
}
- case 128: break;
+ case 127: break;
case 46:
{ return JetTokens.ARROW ;
}
- case 129: break;
+ case 128: break;
case 32:
{ popState(); return JetTokens.IDENTIFIER;
}
- case 130: break;
+ case 129: break;
case 23:
{ return JetTokens.LBRACKET ;
}
- case 131: break;
+ case 130: break;
case 68:
{ yypushback(2); return JetTokens.INTEGER_LITERAL;
}
- case 132: break;
+ case 131: break;
case 11:
{ return JetTokens.CHARACTER_LITERAL;
}
- case 133: break;
+ case 132: break;
case 78:
{ return JetTokens.VAR_KEYWORD ;
}
- case 134: break;
+ case 133: break;
case 58:
{ return JetTokens.GTEQ ;
}
- case 135: break;
+ case 134: break;
case 2:
{ return JetTokens.INTEGER_LITERAL;
}
- case 136: break;
+ case 135: break;
case 14:
{ return JetTokens.RBRACE ;
}
- case 137: break;
+ case 136: break;
case 95:
{ return JetTokens.CLASS_KEYWORD ;
}
- case 138: break;
+ case 137: break;
case 74:
{ return JetTokens.TRY_KEYWORD ;
}
- case 139: break;
+ case 138: break;
case 8:
{ return JetTokens.EXCL ;
}
- case 140: break;
+ case 139: break;
case 42:
{ return JetTokens.EXCLEQ ;
}
- case 141: break;
+ case 140: break;
case 45:
{ return JetTokens.MINUSEQ ;
}
- case 142: break;
+ case 141: break;
case 101:
{ return JetTokens.PACKAGE_KEYWORD ;
}
- case 143: break;
+ case 142: break;
case 92:
{ return JetTokens.THROW_KEYWORD ;
}
- case 144: break;
+ case 143: break;
case 94:
{ return JetTokens.SUPER_KEYWORD ;
}
- case 145: break;
- case 67:
- { if (commentDepth > 0) {
- commentDepth--;
- }
- else {
- int state = yystate();
- popState();
- zzStartRead = commentStart;
- return commentStateToTokenType(state);
- }
- }
- case 146: break;
+ case 144: break;
case 97:
{ return JetTokens.WHILE_KEYWORD ;
}
- case 147: break;
+ case 145: break;
case 44:
{ return JetTokens.MINUSMINUS;
}
- case 148: break;
+ case 146: break;
case 102:
{ return JetTokens.CONTINUE_KEYWORD ;
}
- case 149: break;
+ case 147: break;
case 71:
{ return JetTokens.NOT_IN;
}
- case 150: break;
+ case 148: break;
+ case 69:
+ { pushState(DOC_COMMENT);
+ commentDepth = 0;
+ commentStart = getTokenStart();
+ }
+ case 149: break;
case 6:
{ return JetTokens.DIV ;
}
+ case 150: break;
+ case 63:
+ { pushState(SHORT_TEMPLATE_ENTRY);
+ yypushback(yylength() - 1);
+ return JetTokens.SHORT_TEMPLATE_ENTRY_START;
+ }
case 151: break;
case 81:
{ int length = yytext().length();
@@ -1123,10 +1130,14 @@ class _JetLexer implements FlexLexer {
{ return JetTokens.QUEST ;
}
case 155: break;
- case 69:
- { pushState(DOC_COMMENT);
- commentDepth = 0;
- commentStart = getTokenStart();
+ case 41:
+ { if (zzCurrentPos == 0) {
+ return JetTokens.SHEBANG_COMMENT;
+ }
+ else {
+ yypushback(yylength() - 1);
+ return JetTokens.HASH;
+ }
}
case 156: break;
case 60:
@@ -1153,73 +1164,79 @@ class _JetLexer implements FlexLexer {
{ return TokenType.BAD_CHARACTER;
}
case 162: break;
- case 63:
- { pushState(SHORT_TEMPLATE_ENTRY);
- yypushback(yylength() - 1);
- return JetTokens.SHORT_TEMPLATE_ENTRY_START;
- }
- case 163: break;
case 70:
{ return JetTokens.NOT_IS;
}
- case 164: break;
+ case 163: break;
case 15:
{ return JetTokens.MUL ;
}
- case 165: break;
+ case 164: break;
case 24:
{ return JetTokens.RBRACKET ;
}
- case 166: break;
+ case 165: break;
case 56:
{ return JetTokens.PLUSPLUS ;
}
+ case 166: break;
+ case 84:
+ { return JetTokens.THIS_KEYWORD ;
+ }
case 167: break;
+ case 9:
+ { return JetTokens.DOT ;
+ }
+ case 168: break;
+ case 27:
+ { return JetTokens.SEMICOLON ;
+ }
+ case 169: break;
+ case 49:
+ { return JetTokens.IF_KEYWORD ;
+ }
+ case 170: break;
+ case 65:
+ { return JetTokens.ESCAPE_SEQUENCE;
+ }
+ case 171: break;
case 39:
{ pushState(BLOCK_COMMENT);
commentDepth = 0;
commentStart = getTokenStart();
}
- case 168: break;
- case 84:
- { return JetTokens.THIS_KEYWORD ;
- }
- case 169: break;
- case 9:
- { return JetTokens.DOT ;
- }
- case 170: break;
- case 27:
- { return JetTokens.SEMICOLON ;
- }
- case 171: break;
- case 49:
- { return JetTokens.IF_KEYWORD ;
- }
case 172: break;
- case 65:
- { return JetTokens.ESCAPE_SEQUENCE;
- }
- case 173: break;
case 31:
{ popState(); return JetTokens.CLOSING_QUOTE;
}
- case 174: break;
+ case 173: break;
case 16:
{ return JetTokens.EQ ;
}
- case 175: break;
+ case 174: break;
case 75:
{ return JetTokens.AS_SAFE;
}
- case 176: break;
+ case 175: break;
case 25:
{ return JetTokens.LPAR ;
}
- case 177: break;
+ case 176: break;
case 10:
{ return JetTokens.MINUS ;
}
+ case 177: break;
+ case 67:
+ { if (commentDepth > 0) {
+ commentDepth--;
+ }
+ else {
+ int state = yystate();
+ popState();
+ zzStartRead = commentStart;
+ return commentStateToTokenType(state);
+ }
+ }
case 178: break;
case 98:
{ return JetTokens.FALSE_KEYWORD ;
@@ -1289,43 +1306,42 @@ class _JetLexer implements FlexLexer {
{ return JetTokens.MULTEQ ;
}
case 195: break;
- case 41:
- { if (zzCurrentPos == 0) {
- return JetTokens.SHEBANG_COMMENT;
- }
- else {
- yypushback(yylength() - 1);
- return JetTokens.HASH;
- }
- }
- case 196: break;
case 13:
{ return JetTokens.LBRACE ;
}
- case 197: break;
+ case 196: break;
case 99:
{ return JetTokens.OBJECT_KEYWORD ;
}
- case 198: break;
+ case 197: break;
case 96:
{ return JetTokens.BREAK_KEYWORD ;
}
- case 199: break;
+ case 198: break;
case 82:
{ return JetTokens.BLOCK_COMMENT;
}
- case 200: break;
+ case 199: break;
case 93:
{ return JetTokens.TRAIT_KEYWORD ;
}
- case 201: break;
+ case 200: break;
case 62:
{ return JetTokens.COLONCOLON;
}
- case 202: break;
+ case 201: break;
case 33:
{
}
+ case 202: break;
+ case 35:
+ { if (lBraceCount == 0) {
+ popState();
+ return JetTokens.LONG_TEMPLATE_ENTRY_END;
+ }
+ lBraceCount--;
+ return JetTokens.RBRACE;
+ }
case 203: break;
case 7:
{ return JetTokens.HASH ;
diff --git a/compiler/testData/psi/IntegerLiteral.kt b/compiler/testData/psi/IntegerLiteral.kt
index ea0fc3d2d24..a3fb86188d7 100644
--- a/compiler/testData/psi/IntegerLiteral.kt
+++ b/compiler/testData/psi/IntegerLiteral.kt
@@ -14,4 +14,7 @@ val array = array(
0X1l,
0b1l,
0B1l,
-)
\ No newline at end of file
+ 0
+)
+
+val a = 01
\ No newline at end of file
diff --git a/compiler/testData/psi/IntegerLiteral.txt b/compiler/testData/psi/IntegerLiteral.txt
index 326e1158b8d..2df42f040f8 100644
--- a/compiler/testData/psi/IntegerLiteral.txt
+++ b/compiler/testData/psi/IntegerLiteral.txt
@@ -96,7 +96,21 @@ JetFile: IntegerLiteral.kt
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0B1l')
PsiElement(COMMA)(',')
- PsiErrorElement:Expecting an argument
-
+ PsiWhiteSpace('\n ')
+ VALUE_ARGUMENT
+ INTEGER_CONSTANT
+ PsiElement(INTEGER_LITERAL)('0')
PsiWhiteSpace('\n')
- PsiElement(RPAR)(')')
\ No newline at end of file
+ PsiElement(RPAR)(')')
+ PsiWhiteSpace('\n\n')
+ PROPERTY
+ PsiElement(val)('val')
+ PsiWhiteSpace(' ')
+ PsiElement(IDENTIFIER)('a')
+ PsiWhiteSpace(' ')
+ PsiElement(EQ)('=')
+ PsiWhiteSpace(' ')
+ INTEGER_CONSTANT
+ PsiElement(INTEGER_LITERAL)('0')
+ PsiErrorElement:Property getter or setter expected
+ PsiElement(INTEGER_LITERAL)('1')
\ No newline at end of file