JET-94 Support enum classes

This commit is contained in:
Andrey Breslav
2011-06-14 22:06:56 +04:00
parent 400e939c21
commit e4e5c7b0dc
17 changed files with 157 additions and 43 deletions
@@ -11,4 +11,4 @@ class Y1 {
}
class Z : Y<error>()</error> {
}
}
+10 -5
View File
@@ -28,7 +28,8 @@ JetFile: Enums.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('RED')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('RED')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -48,7 +49,8 @@ JetFile: Enums.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('GREEN')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('GREEN')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -68,7 +70,8 @@ JetFile: Enums.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('BLUE')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('BLUE')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -123,7 +126,8 @@ JetFile: Enums.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('Nil')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('Nil')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -151,7 +155,8 @@ JetFile: Enums.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('Cons')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('Cons')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
@@ -135,12 +135,14 @@ JetFile: AnonymousObjects.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('TOO_MANY_CLICKS')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('TOO_MANY_CLICKS')
PsiWhiteSpace('\n ')
TYPE_PARAMETER_LIST
<empty list>
ENUM_ENTRY
PsiElement(IDENTIFIER)('ONE_MORE_MESSAGE')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('ONE_MORE_MESSAGE')
PsiWhiteSpace('\n')
TYPE_PARAMETER_LIST
<empty list>
+6 -3
View File
@@ -54,7 +54,8 @@ JetFile: Color.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('RED')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('RED')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -84,7 +85,8 @@ JetFile: Color.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('GREEN')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('GREEN')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -114,7 +116,8 @@ JetFile: Color.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('BLUE')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('BLUE')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -49,7 +49,8 @@ JetFile: List.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('Nil')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('Nil')
PsiWhiteSpace(' ')
TYPE_PARAMETER_LIST
<empty list>
@@ -77,7 +78,8 @@ JetFile: List.jet
PsiElement(RPAR)(')')
PsiWhiteSpace('\n\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('Cons')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('Cons')
TYPE_PARAMETER_LIST
PsiElement(LT)('<')
TYPE_PARAMETER
@@ -218,19 +218,22 @@ JetFile: Comparison.jet
PsiElement(LBRACE)('{')
PsiWhiteSpace('\n ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('LS')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('LS')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(SEMICOLON)(';')
PsiWhiteSpace(' ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('EQ')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('EQ')
TYPE_PARAMETER_LIST
<empty list>
PsiElement(SEMICOLON)(';')
PsiWhiteSpace(' ')
ENUM_ENTRY
PsiElement(IDENTIFIER)('GR')
OBJECT_DECLARATION_NAME
PsiElement(IDENTIFIER)('GR')
PsiWhiteSpace('\n')
TYPE_PARAMETER_LIST
<empty list>
@@ -7,6 +7,8 @@ class C(~x~x : Int, ~y~val y : Int) : Base(`x`x /*parameter*/), Base1 by new Bas
val z = `x`x // parameter
}
val foo = `$y`y
this() : this(1, 2) {
val z = x // inaccessible
val zz = `$y`y // property