Store presence of spread operator for value argument in stubs

This commit is contained in:
Nikolay Krasko
2018-11-12 13:36:05 +03:00
parent 4c64db66dc
commit 2d1c76344c
13 changed files with 147 additions and 48 deletions
+46 -28
View File
@@ -58,27 +58,27 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=Simple]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=12]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=12L]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=12]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
FLOAT_CONSTANT[kind=FLOAT_CONSTANT, value=3.3]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=f]
FLOAT_CONSTANT[kind=FLOAT_CONSTANT, value=3.3F]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=c]
CHARACTER_CONSTANT[kind=CHARACTER_CONSTANT, value='a']
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=b1]
BOOLEAN_CONSTANT[kind=BOOLEAN_CONSTANT, value=true]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=b2]
BOOLEAN_CONSTANT[kind=BOOLEAN_CONSTANT, value=false]
@@ -108,12 +108,12 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=StringLiteral]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
STRING_TEMPLATE
LITERAL_STRING_TEMPLATE_ENTRY[text=some]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
STRING_TEMPLATE
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
STRING_TEMPLATE
LITERAL_STRING_TEMPLATE_ENTRY[text=H]
SHORT_STRING_TEMPLATE_ENTRY[text=$CONSTANT]
@@ -147,13 +147,13 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=EnumLiteral]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
REFERENCE_EXPRESSION[referencedName=E1]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
DOT_QUALIFIED_EXPRESSION
REFERENCE_EXPRESSION[referencedName=E]
REFERENCE_EXPRESSION[referencedName=E2]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=e3]
DOT_QUALIFIED_EXPRESSION
@@ -178,11 +178,11 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=VarArg]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=1]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=2]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
INTEGER_CONSTANT[kind=INTEGER_CONSTANT, value=3]
CLASS[fqName=test.Arrays, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Arrays, superNames=[]]
MODIFIER_LIST[annotation]
@@ -220,12 +220,12 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=Arrays]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
CLASS[fqName=test.ClassLiteral, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ClassLiteral, superNames=[]]
MODIFIER_LIST[annotation]
PRIMARY_CONSTRUCTOR
@@ -256,9 +256,9 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=ClassLiteral]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT[isSpread=false]
TYPE_PARAMETER_LIST
TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=T]
CLASS[fqName=test.Nested, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=Nested, superNames=[]]
@@ -293,9 +293,27 @@ PsiJetFileStubImpl[package=test]
USER_TYPE
REFERENCE_EXPRESSION[referencedName=Outer]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
STRING_TEMPLATE
LITERAL_STRING_TEMPLATE_ENTRY[text=value]
VALUE_ARGUMENT
VALUE_ARGUMENT[isSpread=false]
VALUE_ARGUMENT_NAME
REFERENCE_EXPRESSION[referencedName=nested]
CLASS[fqName=test.ArraysSpread, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=ArraysSpread, superNames=[]]
MODIFIER_LIST[annotation]
PRIMARY_CONSTRUCTOR
VALUE_PARAMETER_LIST
VALUE_PARAMETER[fqName=test.ArraysSpread.ia, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=ia]
MODIFIER_LIST[vararg]
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=Int]
CLASS[fqName=test.WithSpreadOperatorArrays, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=WithSpreadOperatorArrays, superNames=[]]
MODIFIER_LIST[]
ANNOTATION_ENTRY[hasValueArguments=true, shortName=ArraysSpread]
CONSTRUCTOR_CALLEE
TYPE_REFERENCE
USER_TYPE
REFERENCE_EXPRESSION[referencedName=ArraysSpread]
VALUE_ARGUMENT_LIST
VALUE_ARGUMENT[isSpread=true]