Working on constructors: references on 'this()' calls, etc. Many checks pending

This commit is contained in:
Andrey Breslav
2011-04-22 21:45:44 +04:00
parent 913a01c107
commit 968e22f999
14 changed files with 266 additions and 120 deletions
+9
View File
@@ -0,0 +1,9 @@
class Z {
this() : this(1, true) {}
this(x : Int, y : Boolean) : this<error>(1)</error> {}
}
class Foo() : <error>Z</error>, <error>this</error>() {
}
+4 -2
View File
@@ -20,7 +20,8 @@ JetFile: Constructors.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -78,7 +79,8 @@ JetFile: Constructors.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
+8 -4
View File
@@ -101,7 +101,8 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -343,7 +344,8 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -428,7 +430,8 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -477,7 +480,8 @@ JetFile: SimpleClassMembers.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
+4 -2
View File
@@ -91,7 +91,8 @@ JetFile: SimpleClassMembers_ERR.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -141,7 +142,8 @@ JetFile: SimpleClassMembers_ERR.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
+2 -1
View File
@@ -210,7 +210,8 @@ JetFile: BinaryTree.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -975,7 +975,8 @@ JetFile: HashMap.jet
PsiWhiteSpace(' ')
INITIALIZER_LIST
THIS_CALL
PsiElement(this)('this')
THIS_CONSTRUCTOR_REFERENCE
PsiElement(this)('this')
VALUE_ARGUMENT_LIST
PsiElement(LPAR)('(')
VALUE_ARGUMENT
@@ -0,0 +1,12 @@
class Z {
~c1~this() : `c2`this(1, true) {}
~c2~this(x : Int, y : Boolean) : `c1`this() {}
}
~Z1.c()~class Z1() : Z {
this(x : Int, y : Boolean) : `Z1.c()`this() {}
}
class Foo