Parse integers with unsigned ('u') suffix

This commit is contained in:
Mikhail Zarechenskiy
2018-05-24 14:28:29 +03:00
parent e5958d228a
commit bf5f710f39
6 changed files with 776 additions and 540 deletions
+13
View File
@@ -0,0 +1,13 @@
val array = array<Any>(
1u,
0u,
1_1u,
-2u,
0xFFu,
0b100u,
3.14u,
1e1u,
1.0e1u,
2_2.0fu,
6.022_137e+2_3fu
)
+109
View File
@@ -0,0 +1,109 @@
KtFile: UnsignedLiteral.kt
PACKAGE_DIRECTIVE
<empty list>
IMPORT_LIST
<empty list>
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('array')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
CALL_EXPRESSION
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('array')
TYPE_ARGUMENT_LIST
PsiElement(LT)('<')
TYPE_PROJECTION
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Any')
PsiElement(GT)('>')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1_1u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
PREFIX_EXPRESSION
OPERATION_REFERENCE
PsiElement(MINUS)('-')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('2u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0xFFu')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('0b100u')
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('3.14')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1e1')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('1.0e1')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('2_2.0f')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiElement(COMMA)(',')
PsiWhiteSpace('\n ')
VALUE_ARGUMENT
BINARY_EXPRESSION
FLOAT_CONSTANT
PsiElement(FLOAT_CONSTANT)('6.022_137e+2_3f')
OPERATION_REFERENCE
PsiElement(IDENTIFIER)('u')
PsiErrorElement:Expecting an element
<empty list>
PsiWhiteSpace('\n')
PsiElement(RPAR)(')')