Merge remote-tracking branch 'origin/master'
Conflicts: compiler/frontend/src/org/jetbrains/jet/lang/types/expressions/ControlStructureTypingVisitor.java
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
// http://youtrack.jetbrains.net/issue/KT-552
|
||||
// KT-552 For variable unresolved if loop body is not block
|
||||
|
||||
fun ff() {
|
||||
var i = 1
|
||||
for (j in 1..10)
|
||||
i += j
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
//KT-337 Can't break a line before a dot
|
||||
|
||||
class A() {
|
||||
fun foo() {}
|
||||
}
|
||||
|
||||
fun test() {
|
||||
val a = A()
|
||||
|
||||
a
|
||||
|
||||
.foo() // Should be a valid expression
|
||||
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
|
||||
fun f(p: Int): Int {
|
||||
val <!NAME_SHADOWING!>p<!> = 2
|
||||
return p
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fun f(i: Int) {
|
||||
for (j in 1..100) {
|
||||
{
|
||||
var <!NAME_SHADOWING!>i<!> = 12
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
val i = 17
|
||||
|
||||
val f = { (): Int => var i = 17; i }
|
||||
@@ -0,0 +1,11 @@
|
||||
class RedefinePropertyInFor() {
|
||||
|
||||
var i = 1
|
||||
|
||||
fun ff() {
|
||||
for (i in 0..10) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
class RedefinePropertyInFunction() {
|
||||
|
||||
var i = 17
|
||||
|
||||
fun f(): Int {
|
||||
var i = 18
|
||||
return i
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
fun ff(): Int {
|
||||
var i = 1
|
||||
for (<!NAME_SHADOWING!>i<!> in 0..10) {
|
||||
}
|
||||
return i
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
fun ff(): Int {
|
||||
var i = 1
|
||||
{
|
||||
val <!NAME_SHADOWING!>i<!> = 2
|
||||
}
|
||||
return i
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
fun f(): Int {
|
||||
var i = 17
|
||||
{ (): Unit => var <!NAME_SHADOWING!>i<!> = 18 }
|
||||
return i
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
fun ff(): Int {
|
||||
var i = 1
|
||||
{ (i: Int) => i }
|
||||
return i
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
namespace demo
|
||||
|
||||
public open class Identifier<T>(myName : T?, myHasDollar : Boolean) {
|
||||
{
|
||||
$myName = myName
|
||||
$myHasDollar = myHasDollar
|
||||
}
|
||||
|
||||
private val myName : T?
|
||||
private var myHasDollar : Boolean
|
||||
private var myNullable : Boolean = true
|
||||
|
||||
open public fun getName() : T? {
|
||||
return myName
|
||||
}
|
||||
|
||||
class object {
|
||||
open public fun init<T>(name : T?) : Identifier<T> {
|
||||
val __ = Identifier<T>(name, false)
|
||||
return __
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun box() : String {
|
||||
var i3 : Identifier<*>? = Identifier.init<String?>("name")
|
||||
System.out?.println("Hello, " + i3?.getName())
|
||||
return "OK"
|
||||
}
|
||||
@@ -1,4 +1,7 @@
|
||||
namespace Smoke
|
||||
|
||||
import std.io.*
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
print(args)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
fun test() {
|
||||
val str = ""
|
||||
|
||||
str
|
||||
|
||||
.length
|
||||
|
||||
str
|
||||
|
||||
?.length
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
JetFile: NewLinesValidOperations.jet
|
||||
NAMESPACE
|
||||
FUN
|
||||
PsiElement(fun)('fun')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('test')
|
||||
VALUE_PARAMETER_LIST
|
||||
PsiElement(LPAR)('(')
|
||||
PsiElement(RPAR)(')')
|
||||
PsiWhiteSpace(' ')
|
||||
BLOCK
|
||||
PsiElement(LBRACE)('{')
|
||||
PsiWhiteSpace('\n ')
|
||||
PROPERTY
|
||||
PsiElement(val)('val')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(IDENTIFIER)('str')
|
||||
PsiWhiteSpace(' ')
|
||||
PsiElement(EQ)('=')
|
||||
PsiWhiteSpace(' ')
|
||||
STRING_TEMPLATE
|
||||
PsiElement(OPEN_QUOTE)('"')
|
||||
PsiElement(CLOSING_QUOTE)('"')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
DOT_QUALIFIED_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('str')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
PsiElement(DOT)('.')
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('length')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
SAFE_ACCESS_EXPRESSION
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('str')
|
||||
PsiWhiteSpace('\n\n ')
|
||||
PsiElement(SAFE_ACCESS)('?.')
|
||||
REFERENCE_EXPRESSION
|
||||
PsiElement(IDENTIFIER)('length')
|
||||
PsiWhiteSpace('\n')
|
||||
PsiElement(RBRACE)('}')
|
||||
Reference in New Issue
Block a user