diff --git a/idea/src/org/jetbrains/jet/lexer/JetTokens.java b/idea/src/org/jetbrains/jet/lexer/JetTokens.java index dd10b34ca67..7d16a155577 100644 --- a/idea/src/org/jetbrains/jet/lexer/JetTokens.java +++ b/idea/src/org/jetbrains/jet/lexer/JetTokens.java @@ -111,7 +111,6 @@ public interface JetTokens { JetKeywordToken IMPORT_KEYWORD = JetKeywordToken.softKeyword("import"); JetKeywordToken WHERE_KEYWORD = JetKeywordToken.softKeyword("where"); JetKeywordToken BY_KEYWORD = JetKeywordToken.softKeyword("by"); - JetKeywordToken LAZY_KEYWORD = JetKeywordToken.softKeyword("lazy"); JetKeywordToken GET_KEYWORD = JetKeywordToken.softKeyword("get"); JetKeywordToken SET_KEYWORD = JetKeywordToken.softKeyword("set"); JetKeywordToken ABSTRACT_KEYWORD = JetKeywordToken.softKeyword("abstract"); @@ -125,12 +124,12 @@ public interface JetTokens { JetKeywordToken INTERNAL_KEYWORD = JetKeywordToken.softKeyword("internal"); JetKeywordToken PROTECTED_KEYWORD = JetKeywordToken.softKeyword("protected"); JetKeywordToken CATCH_KEYWORD = JetKeywordToken.softKeyword("catch"); - // TODO: support these as annotations on arguments. Then, they probably can not be har keywords JetKeywordToken OUT_KEYWORD = JetKeywordToken.softKeyword("out"); - JetKeywordToken REF_KEYWORD = JetKeywordToken.softKeyword("ref"); - JetKeywordToken FINALLY_KEYWORD = JetKeywordToken.softKeyword("finally"); + // TODO: support this as an annotation on arguments. Then, they it probably can not be a soft keyword + JetKeywordToken REF_KEYWORD = JetKeywordToken.softKeyword("ref"); + TokenSet KEYWORDS = TokenSet.create(NAMESPACE_KEYWORD, AS_KEYWORD, TYPE_KEYWORD, CLASS_KEYWORD, THIS_KEYWORD, VAL_KEYWORD, VAR_KEYWORD, FUN_KEYWORD, EXTENSION_KEYWORD, FOR_KEYWORD, NULL_KEYWORD, TYPEOF_KEYWORD, NEW_KEYWORD, TRUE_KEYWORD, FALSE_KEYWORD, IS_KEYWORD, @@ -139,13 +138,13 @@ public interface JetTokens { NOT_IN, NOT_IS, CAPITALIZED_THIS_KEYWORD ); - TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, LAZY_KEYWORD, GET_KEYWORD, + TokenSet SOFT_KEYWORDS = TokenSet.create(WRAPS_KEYWORD, IMPORT_KEYWORD, WHERE_KEYWORD, BY_KEYWORD, GET_KEYWORD, SET_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, CATCH_KEYWORD, FINALLY_KEYWORD, REF_KEYWORD, OUT_KEYWORD ); - TokenSet MODIFIER_KEYWORDS = TokenSet.create(LAZY_KEYWORD, ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, + TokenSet MODIFIER_KEYWORDS = TokenSet.create(ABSTRACT_KEYWORD, VIRTUAL_KEYWORD, ENUM_KEYWORD, OPEN_KEYWORD, ATTRIBUTE_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD, PUBLIC_KEYWORD, INTERNAL_KEYWORD, PROTECTED_KEYWORD, REF_KEYWORD, OUT_KEYWORD, IN_KEYWORD ); diff --git a/idea/testData/psi/Attributes.jet b/idea/testData/psi/Attributes.jet index d2d8bb0ec49..125c9417961 100644 --- a/idea/testData/psi/Attributes.jet +++ b/idea/testData/psi/Attributes.jet @@ -12,7 +12,7 @@ private protected public internal -lazy [foo(a, b),ina,foo.bar.goo.doo.foo.foo] +[foo(a, b),ina,foo.bar.goo.doo.foo.foo] [df] in [sdfsdf] @@ -34,7 +34,6 @@ private protected public internal -lazy in out ref T> { diff --git a/idea/testData/psi/Attributes.txt b/idea/testData/psi/Attributes.txt index 0ab8360a3ac..a265cf8e07c 100644 --- a/idea/testData/psi/Attributes.txt +++ b/idea/testData/psi/Attributes.txt @@ -35,8 +35,6 @@ JetFile: Attributes.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace(' ') ATTRIBUTE_ANNOTATION PsiElement(LBRACKET)('[') ATTRIBUTE @@ -274,8 +272,6 @@ JetFile: Attributes.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace('\n') PsiElement(in)('in') PsiWhiteSpace('\n') PsiElement(out)('out') diff --git a/idea/testData/psi/Attributes_ERR.jet b/idea/testData/psi/Attributes_ERR.jet index 812d5792e1c..6bfd5bd50eb 100644 --- a/idea/testData/psi/Attributes_ERR.jet +++ b/idea/testData/psi/Attributes_ERR.jet @@ -13,7 +13,7 @@ private protected public internal -lazy [foo(a, b), ina,foo.bar.goo.doo.foo.foo] +[foo(a, b), ina,foo.bar.goo.doo.foo.foo] [df] in [sdfsdf,] @@ -33,7 +33,6 @@ private protected public internal -lazy in out ref T> { diff --git a/idea/testData/psi/Attributes_ERR.txt b/idea/testData/psi/Attributes_ERR.txt index 7de13d6468f..4d963bcd561 100644 --- a/idea/testData/psi/Attributes_ERR.txt +++ b/idea/testData/psi/Attributes_ERR.txt @@ -40,8 +40,6 @@ JetFile: Attributes_ERR.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace(' ') ATTRIBUTE_ANNOTATION PsiElement(LBRACKET)('[') ATTRIBUTE @@ -241,8 +239,6 @@ JetFile: Attributes_ERR.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace('\n') PsiElement(in)('in') PsiWhiteSpace('\n') PsiElement(out)('out') diff --git a/idea/testData/psi/FunctionTypes.jet b/idea/testData/psi/FunctionTypes.jet index c0e1f3ee7ac..aa390d04819 100644 --- a/idea/testData/psi/FunctionTypes.jet +++ b/idea/testData/psi/FunctionTypes.jet @@ -13,7 +13,7 @@ type f = {(foo, a : a) : b} type f = {(foo, a : {(a) : b}) : b} type f = {(foo, a : {(a) : b}) : {() : ()}} -type f = {(lazy foo, out a : {(ref a) : b}) : {() : ()}} +type f = {(ref foo, ref a : {(ref a) : b}) : {() : ()}} type f = {T.() : ()} type f = {T.T.() : ()} diff --git a/idea/testData/psi/FunctionTypes.txt b/idea/testData/psi/FunctionTypes.txt index a33838460fe..90237c3bf3a 100644 --- a/idea/testData/psi/FunctionTypes.txt +++ b/idea/testData/psi/FunctionTypes.txt @@ -475,7 +475,7 @@ JetFile: FunctionTypes.jet VALUE_PARAMETER_LIST PsiElement(LPAR)('(') MODIFIER_LIST - PsiElement(lazy)('lazy') + PsiElement(ref)('ref') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE @@ -485,7 +485,7 @@ JetFile: FunctionTypes.jet PsiWhiteSpace(' ') VALUE_PARAMETER MODIFIER_LIST - PsiElement(out)('out') + PsiElement(ref)('ref') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('a') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/LocalDeclarations.jet b/idea/testData/psi/LocalDeclarations.jet index 2a423643000..ac8da9ffb17 100644 --- a/idea/testData/psi/LocalDeclarations.jet +++ b/idea/testData/psi/LocalDeclarations.jet @@ -1,10 +1,10 @@ fun foo() { - lazy + out 1 [a] abstract class foof {} abstract [a] class foof {} - lazy val foo = 5 + out val foo = 5 [a] var foo = 4 type f = {T.() : ()} diff --git a/idea/testData/psi/LocalDeclarations.txt b/idea/testData/psi/LocalDeclarations.txt index dcd6e9244bf..7ac43948697 100644 --- a/idea/testData/psi/LocalDeclarations.txt +++ b/idea/testData/psi/LocalDeclarations.txt @@ -14,7 +14,7 @@ JetFile: LocalDeclarations.jet PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') REFERENCE_EXPRESSION - PsiElement(IDENTIFIER)('lazy') + PsiElement(IDENTIFIER)('out') PsiWhiteSpace('\n ') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') @@ -67,7 +67,7 @@ JetFile: LocalDeclarations.jet PsiWhiteSpace('\n\n ') PROPERTY MODIFIER_LIST - PsiElement(lazy)('lazy') + PsiElement(out)('out') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/SimpleModifiers.jet b/idea/testData/psi/SimpleModifiers.jet index 783a1d748ad..004627a09f9 100644 --- a/idea/testData/psi/SimpleModifiers.jet +++ b/idea/testData/psi/SimpleModifiers.jet @@ -12,7 +12,6 @@ private protected public internal -lazy in out ref @@ -28,7 +27,6 @@ ref protected public internal - lazy in out ref T> { diff --git a/idea/testData/psi/SimpleModifiers.txt b/idea/testData/psi/SimpleModifiers.txt index 6adfe55d13a..9e29a05a5c6 100644 --- a/idea/testData/psi/SimpleModifiers.txt +++ b/idea/testData/psi/SimpleModifiers.txt @@ -35,8 +35,6 @@ JetFile: SimpleModifiers.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace('\n') PsiElement(in)('in') PsiWhiteSpace('\n') PsiElement(out)('out') @@ -74,8 +72,6 @@ JetFile: SimpleModifiers.jet PsiWhiteSpace('\n ') PsiElement(internal)('internal') PsiWhiteSpace('\n ') - PsiElement(lazy)('lazy') - PsiWhiteSpace('\n ') PsiElement(in)('in') PsiWhiteSpace('\n ') PsiElement(out)('out') diff --git a/idea/testData/psi/SoftKeywords.jet b/idea/testData/psi/SoftKeywords.jet index 0099e3b40e4..20e52c05e89 100644 --- a/idea/testData/psi/SoftKeywords.jet +++ b/idea/testData/psi/SoftKeywords.jet @@ -15,11 +15,10 @@ private protected public internal -lazy in out ref - class Bar wraps (a : B) : A by b { public protected private internal val abstract val virtual @@ -121,8 +119,7 @@ ref private protected public - internal - lazy open : t + internal open : t ) @@ -164,8 +161,7 @@ class F(val foo : bar, private protected public - internal - lazy open : b + internal open : b ) { } diff --git a/idea/testData/psi/SoftKeywords.txt b/idea/testData/psi/SoftKeywords.txt index 2b94d257a6c..d7aeede08a6 100644 --- a/idea/testData/psi/SoftKeywords.txt +++ b/idea/testData/psi/SoftKeywords.txt @@ -48,8 +48,6 @@ JetFile: SoftKeywords.jet PsiWhiteSpace('\n') PsiElement(internal)('internal') PsiWhiteSpace('\n') - PsiElement(lazy)('lazy') - PsiWhiteSpace('\n') PsiElement(in)('in') PsiWhiteSpace('\n') PsiElement(out)('out') @@ -81,7 +79,7 @@ JetFile: SoftKeywords.jet PsiWhiteSpace(' ') TYPE_PARAMETER MODIFIER_LIST - PsiElement(lazy)('lazy') + PsiElement(out)('out') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('virtual') PsiElement(COMMA)(',') @@ -119,8 +117,6 @@ JetFile: SoftKeywords.jet PsiElement(public)('public') PsiWhiteSpace('\n ') PsiElement(internal)('internal') - PsiWhiteSpace('\n ') - PsiElement(lazy)('lazy') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('open') PsiWhiteSpace('\n ') @@ -1028,8 +1024,6 @@ JetFile: SoftKeywords.jet PsiElement(public)('public') PsiWhiteSpace('\n ') PsiElement(internal)('internal') - PsiWhiteSpace('\n ') - PsiElement(lazy)('lazy') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('open') PsiWhiteSpace(' ') @@ -1351,8 +1345,6 @@ JetFile: SoftKeywords.jet PsiElement(public)('public') PsiWhiteSpace('\n ') PsiElement(internal)('internal') - PsiWhiteSpace('\n ') - PsiElement(lazy)('lazy') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('open') PsiWhiteSpace(' ') diff --git a/idea/testData/psi/examples/Builder.jet b/idea/testData/psi/examples/Builder.jet index 8aaf8c6dc85..addd01cd65d 100644 --- a/idea/testData/psi/examples/Builder.jet +++ b/idea/testData/psi/examples/Builder.jet @@ -1,16 +1,16 @@ val foo = object AntBuilder() { - lazy val groovy = library { + [lazy] val groovy = library { classpath("$libs/groovy-...") } - lazy val gant = library { + [lazy] val gant = library { new File("$gantHome/lib").files.each { classpath(it) } } - lazy val JPS = module { + [lazy] val JPS = module { targetLevel = "1.5" classpath(antLayout, gant, groovy) src("$projectHome/antLayout/src") diff --git a/idea/testData/psi/examples/Builder.txt b/idea/testData/psi/examples/Builder.txt index 4e91a145395..afbad7a046a 100644 --- a/idea/testData/psi/examples/Builder.txt +++ b/idea/testData/psi/examples/Builder.txt @@ -27,7 +27,14 @@ JetFile: Builder.jet PsiWhiteSpace('\n\n ') PROPERTY MODIFIER_LIST - PsiElement(lazy)('lazy') + ATTRIBUTE_ANNOTATION + PsiElement(LBRACKET)('[') + ATTRIBUTE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('lazy') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') @@ -57,7 +64,14 @@ JetFile: Builder.jet PsiWhiteSpace('\n\n ') PROPERTY MODIFIER_LIST - PsiElement(lazy)('lazy') + ATTRIBUTE_ANNOTATION + PsiElement(LBRACKET)('[') + ATTRIBUTE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('lazy') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') @@ -116,7 +130,14 @@ JetFile: Builder.jet PsiWhiteSpace('\n\n ') PROPERTY MODIFIER_LIST - PsiElement(lazy)('lazy') + ATTRIBUTE_ANNOTATION + PsiElement(LBRACKET)('[') + ATTRIBUTE + TYPE_REFERENCE + USER_TYPE + REFERENCE_EXPRESSION + PsiElement(IDENTIFIER)('lazy') + PsiElement(RBRACKET)(']') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ')