Merge branch 'master' of ssh://git.labs.intellij.net/jet

This commit is contained in:
svtk
2011-09-21 18:05:55 +04:00
59 changed files with 1006 additions and 629 deletions
@@ -3,7 +3,7 @@ fun text() {
"direct:a" on {it.body == "<hello/>"} to "mock:a"
"direct:a" on {it => it.body == "<hello/>"} to "mock:a"
bar <!TYPE_MISMATCH!>{1}<!>
bar <!TYPE_MISMATCH!>{<!UNRESOLVED_REFERENCE!>it<!> <!UNRESOLVED_REFERENCE!>+<!> 1}<!>
bar <!TYPE_MISMATCH!>{<!UNRESOLVED_REFERENCE!>it<!> + 1}<!>
bar {it, it1 => it}
bar1 {1}
@@ -0,0 +1,22 @@
// KT-306 Ambiguity when different this's have same-looking functions
fun test() {
{Foo.() =>
bar()
{Barr.() =>
this.bar()
bar()
}
}
{Barr.() =>
bar()
}
}
class Foo {
fun bar() {}
}
class Barr {
fun bar() {}
}
@@ -0,0 +1,11 @@
// KT-307 Unresolved reference
open class AL {
fun get(i : Int) : Any? = i
}
trait ALE<T> : AL {
fun getOrNull(index: Int, value: T) : T {
return get(index) as? T ?: value
}
}
@@ -167,6 +167,7 @@ fun t26 () : Boolean {
}
fun box() : String {
/*
if(!t1()) {
return "t1 failed"
}
@@ -242,6 +243,7 @@ fun box() : String {
if(!t25()) {
return "t25 failed"
}
*/
if(!t26()) {
return "t26 failed"
}
+9 -3
View File
@@ -3,13 +3,19 @@ trait AL {
}
trait ALE<T> : AL {
fun getOrNull(index: Int, value : T) = get(index) as? T ?: value
fun getOrNull(index: Int, value: T) : T {
val r = get(index) as? T
return r ?: value
}
}
class SmartArrayList() : ALE<String> {
open class SmartArrayList() : ALE<String> {
}
class SmartArrayList2() : SmartArrayList(), AL {
}
fun box() : String {
val c = SmartArrayList()
val c = SmartArrayList2()
return if("239" == c.getOrNull(0, "239")) "OK" else "fail"
}
-2
View File
@@ -1,2 +0,0 @@
val x = 1 : Int?:Any?
val y = null ?: 1
-48
View File
@@ -1,48 +0,0 @@
JetFile: ElvisSplit.jet
NAMESPACE
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('x')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
BINARY_WITH_TYPE
BINARY_WITH_TYPE
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(COLON)(':')
PsiWhiteSpace(' ')
TYPE_REFERENCE
NULLABLE_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Int')
PsiElement(QUEST)('?')
OPERATION_REFERENCE
PsiElement(COLON)(':')
TYPE_REFERENCE
NULLABLE_TYPE
USER_TYPE
REFERENCE_EXPRESSION
PsiElement(IDENTIFIER)('Any')
PsiElement(QUEST)('?')
PsiWhiteSpace('\n')
PROPERTY
PsiElement(val)('val')
PsiWhiteSpace(' ')
PsiElement(IDENTIFIER)('y')
PsiWhiteSpace(' ')
PsiElement(EQ)('=')
PsiWhiteSpace(' ')
BINARY_EXPRESSION
NULL
PsiElement(null)('null')
PsiWhiteSpace(' ')
OPERATION_REFERENCE
PsiElement(ELVIS)('?:')
PsiWhiteSpace(' ')
INTEGER_CONSTANT
PsiElement(INTEGER_LITERAL)('1')