backend refactoring from extension properties and proper naming scheme of inner classes and objects

This commit is contained in:
Alex Tkachman
2011-11-13 21:08:35 +02:00
parent 1927eeef2c
commit 3904b91e4c
25 changed files with 453 additions and 370 deletions
@@ -1,7 +1,6 @@
namespace x
class Outer() {
class object {
class Inner() {
}
+14 -14
View File
@@ -176,21 +176,21 @@ fun t12(x: Int) : Int {
fun box(): String {
/*
if (!s0()) return "fail"
if (!s1()) return "fail"
if (!t1()) return "fail"
if (!t2()) return "fail"
if (!t3()) return "fail"
if (!t4()) return "fail"
if (!t5()) return "fail"
if (!t6()) return "fail"
if (!t7()) return "fail"
if (!t8()) return "fail"
if (!t9(0)) return "fail"
if (!t10()) return "fail"
if (t11(1) != 104) return "fail"
if (!s0()) return "s0 fail"
if (!s1()) return "s1 fail"
if (!t1()) return "t1 fail"
if (!t2()) return "t2 fail"
if (!t3()) return "t3 fail"
if (!t4()) return "t4 fail"
if (!t5()) return "t5 fail"
if (!t6()) return "t6 fail"
if (!t7()) return "t7 fail"
if (!t8()) return "t8 fail"
if (!t9(0)) return "t9 fail"
if (!t10()) return "t10 fail"
if (t11(1) != 104) return "t11 fail"
*/
if (t12(0) != 100) return "fail"
if (t12(0) != 100) return "t12 fail"
return "OK"
}
@@ -1,14 +1,18 @@
import java.math.BigDecimal
import java.util.ArrayList
fun box() : String {
// Easy to make BigDecimals user-friendly
System.out?.println(
"2.00".bd - "1.00"
)
return "OK"
val array = ArrayList<String>()
array.add("0")
array.add("1")
array.add("2")
array.last = "5"
return if(array.length == 3 && array.last == "5") "OK" else "fail"
}
val String.bd = BigDecimal(this)
var <T> ArrayList<T>.length : Int
get() = size()
set(value: Int) = throw java.lang.Error()
fun BigDecimal.minus(other : BigDecimal) = this.subtract(other)
fun BigDecimal.minus(other : String) = subtract(other.bd) // this can be omitted
var <T> ArrayList<T>.last : T
get() = get(size()-1)
set(el : T) { set(size()-1, el) }
@@ -1,4 +1,5 @@
import java.util.ArrayList
trait Tr {
fun extra() : String = "_"
}