KT-1130 Remove ref from keywords

This commit is contained in:
Andrey Breslav
2012-01-25 13:13:38 +04:00
parent 90b98a63b5
commit 408b91e43d
2 changed files with 77 additions and 33 deletions
@@ -46,14 +46,14 @@ class BinaryTree<T> : IMutableSet<T> {
// In principle, this has access to item anyway, but then it's unreachable code
// BAD: the naive implementation of ref will create H(T) ref objects, but can be optimized to create only one
fun add(node : Ref<TreeNode?>, parent : TreeNode) : Boolean {
if (node[] == null) {
node[] = TreeNode(item, parent)
if (node.value == null) {
node.value = TreeNode(item, parent)
return true
}
when (compare(item, node[].value)) {
when (compare(item, node.value.value)) {
EQ -> false
LS -> add(ref node[].left, node)
GT -> add(ref node[].right, node)
LS -> add(ref node.value.left, node)
GT -> add(ref node.value.right, node)
}
}