Parse expressions like '1._foo()' after dot as references

This commit is contained in:
Mikhail Zarechenskiy
2016-11-17 17:59:36 +03:00
parent c7c6a1998b
commit 4b23c50bf8
9 changed files with 145 additions and 7 deletions
@@ -100,7 +100,7 @@ LONG_SUFFIX=[Ll]
//FLOAT_LITERAL=(({FLOATING_POINT_LITERAL1})[Ff])|(({FLOATING_POINT_LITERAL2})[Ff])|(({FLOATING_POINT_LITERAL3})[Ff])|(({FLOATING_POINT_LITERAL4})[Ff])
//DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1})[Dd]?)|(({FLOATING_POINT_LITERAL2})[Dd]?)|(({FLOATING_POINT_LITERAL3})[Dd]?)|(({FLOATING_POINT_LITERAL4})[Dd])
DOUBLE_LITERAL={FLOATING_POINT_LITERAL1}|{FLOATING_POINT_LITERAL2}|{FLOATING_POINT_LITERAL3}|{FLOATING_POINT_LITERAL4}
FLOATING_POINT_LITERAL1=({DIGITS})"."({DIGIT_OR_UNDERSCORE})+({EXPONENT_PART})?({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL1=({DIGITS})"."({DIGITS})+({EXPONENT_PART})?({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL2="."({DIGITS})({EXPONENT_PART})?({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL3=({DIGITS})({EXPONENT_PART})({FLOATING_POINT_LITERAL_SUFFIX})?
FLOATING_POINT_LITERAL4=({DIGITS})({FLOATING_POINT_LITERAL_SUFFIX})
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2016 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.7.0-SNAPSHOT tweaked for IntelliJ platform */
package org.jetbrains.kotlin.lexer;
@@ -347,7 +363,7 @@ class _JetLexer implements FlexLexer {
"\4\76\4\0\21\76\20\0\7\206\2\0\72\206\1\0"+
"\3\76\1\0\2\76\6\0\4\76\1\0\2\76\3\0"+
"\1\76\2\0\1\76\1\207\2\76\4\0\21\76\57\0"+
"\1\210\55\0\1\211\111\0\1\212\62\0\2\126\12\0"+
"\1\210\55\0\1\211\111\0\1\212\62\0\1\126\13\0"+
"\1\126\3\0\1\213\62\0\2\214\12\0\1\214\4\0"+
"\1\110\1\0\1\214\24\0\1\110\13\0\1\214\15\0"+
"\7\112\1\215\1\0\72\112\1\0\3\113\1\0\2\113"+
@@ -411,7 +427,7 @@ class _JetLexer implements FlexLexer {
"\62\0\2\214\12\0\1\214\4\0\1\110\26\0\1\110"+
"\31\0\7\216\1\263\1\0\72\216\12\0\1\264\71\0"+
"\3\265\1\0\2\265\6\0\4\265\1\0\2\265\3\0"+
"\1\265\2\0\4\265\4\0\21\265\21\0\2\126\12\0"+
"\1\265\2\0\4\265\4\0\21\265\21\0\1\126\13\0"+
"\1\126\66\0\3\11\1\0\2\11\6\0\4\11\1\0"+
"\2\11\3\0\1\11\2\0\3\11\1\266\4\0\21\11"+
"\21\0\3\11\1\0\2\11\6\0\4\11\1\0\2\11"+