Existing tests for 'val reassignment' of function parameters fixed

This commit is contained in:
svtk
2011-10-28 13:41:07 +04:00
parent 7db6752e20
commit c7bb6a08d4
8 changed files with 19 additions and 12 deletions
@@ -52,7 +52,7 @@ abstract class Sum() : Iteratee<Int, Int> {
}
abstract class Collection<E> : Iterable<E> {
fun iterate<O>(iteratee : Iteratee<E, O>) : O {
fun iterate<O>(var iteratee : Iteratee<E, O>) : O {
for (x in this) {
val it = iteratee.process(x)
if (it.isDone) return it.result
@@ -1,4 +1,4 @@
class Foo(var bar : Int, barr : Int, val barrr : Int) {
class Foo(var bar : Int, var barr : Int, var barrr : Int) {
{
bar = 1
barr = 1
@@ -7,7 +7,7 @@
this : Foo
}
this(val bar : Int) : this(1, 1, 1) {
this(var bar : Int) : this(1, 1, 1) {
bar = 1
this.bar
1 : Int
@@ -48,6 +48,13 @@ fun t2() {
fun doSmth(s: String) {}
fun doSmth(i: Int) {}
class A() {}
fun t4(a: A, val b: A, var c: A) {
<!VAL_REASSIGNMENT!>a<!> = A()
<!VAL_REASSIGNMENT!>b<!> = A()
c = A()
}
}
namespace reassigned_vals {
@@ -52,7 +52,7 @@ abstract class Sum() : Iteratee<Int, Int> {
}
abstract class Collection<E> : Iterable<E> {
fun iterate<O>(iteratee : Iteratee<E, O>) : O {
fun iterate<O>(var iteratee : Iteratee<E, O>) : O {
for (x in this) {
val it = iteratee.process(x)
if (it.isDone) return it.result
@@ -1,4 +1,4 @@
class Foo(var bar : Int, barr : Int, val barrr : Int) {
class Foo(var bar : Int, var barr : Int, var barrr : Int) {
{
bar = 1
barr = 1
@@ -7,7 +7,7 @@
this : Foo
}
this(val bar : Int) : this(1, 1, 1) {
this(var bar : Int) : this(1, 1, 1) {
bar = 1
this.bar
1 : Int
@@ -1,4 +1,4 @@
fun loop(times : Int) {
fun loop(var times : Int) {
while(times > 0) {
val u : fun(value : Int) : Unit = {
System.out?.println(it)
@@ -1,5 +1,5 @@
class C(x: Int, val y : Int) {
fun initChild(x: Int) : java.lang.Object {
fun initChild(var x: Int) : java.lang.Object {
return object : java.lang.Object() {
override fun toString(): String? {
x = x + y
@@ -169,25 +169,25 @@ public class PrimitiveTypesTest extends CodegenTestCase {
}
public void testPreDecrement() throws Exception {
loadText("fun foo(a: Int): Int { return --a;}");
loadText("fun foo(var a: Int): Int { return --a;}");
final Method main = generateFunction();
assertEquals(9, main.invoke(null, 10));
}
public void testPreIncrementLong() throws Exception {
loadText("fun foo(a: Long): Long = ++a");
loadText("fun foo(var a: Long): Long = ++a");
final Method main = generateFunction();
assertEquals(11L, main.invoke(null, 10L));
}
public void testPreIncrementFloat() throws Exception {
loadText("fun foo(a: Float): Float = ++a");
loadText("fun foo(var a: Float): Float = ++a");
final Method main = generateFunction();
assertEquals(2.0f, main.invoke(null, 1.0f));
}
public void testPreIncrementDouble() throws Exception {
loadText("fun foo(a: Double): Double = ++a");
loadText("fun foo(var a: Double): Double = ++a");
final Method main = generateFunction();
assertEquals(2.0, main.invoke(null, 1.0));
}