re-enabled the Map.Entry key/value properties (not quite sure why they were disabled, tests all seem to work?) and tidied up the sample code for the kdocs

This commit is contained in:
James Strachan
2012-04-12 14:56:06 +01:00
parent f9b00ad3f9
commit 57a5e81db8
2 changed files with 11 additions and 25 deletions
+6 -9
View File
@@ -4,8 +4,7 @@ import java.util.Map as JMap
import java.util.HashMap
import java.util.Collections
// Temporary workaround: commenting out
//import java.util.Map.Entry as JEntry
import java.util.Map.Entry as JEntry
// Map APIs
@@ -26,14 +25,12 @@ public inline fun <K,V> java.util.Map<K,V>?.orEmpty() : java.util.Map<K,V>
/** Returns the key of the entry */
// Temporary workaround: commenting out
//val <K,V> JEntry<K,V>.key : K
// get() = getKey().sure()
val <K,V> JEntry<K,V>.key : K
get() = getKey().sure()
/** Returns the value of the entry */
// Temporary workaround: commenting out
//val <K,V> JEntry<K,V>.value : V
// get() = getValue().sure()
val <K,V> JEntry<K,V>.value : V
get() = getValue().sure()
/**
* Returns the value for the given key or returns the result of the defaultValue function if there was no entry for the given key
@@ -69,7 +66,7 @@ public inline fun <K,V> java.util.Map<K,V>.getOrPut(key: K, defaultValue: ()-> V
/**
* Returns an [[Iterator]] over the entries in the [[Map]]
*
* @includeFunctionBody ../../test/MapTest.kt iterate
* @includeFunctionBody ../../test/MapTest.kt iterateWithProperties
*/
public inline fun <K,V> java.util.Map<K,V>.iterator(): java.util.Iterator<java.util.Map.Entry<K,V>> {
val entrySet = this.entrySet()!!
+5 -16
View File
@@ -52,42 +52,31 @@ class MapTest {
map["location"] = "Mells"
map["name"] = "James"
var list = arrayList<String>()
val list = arrayList<String>()
for (e in map) {
println("key = ${e.getKey()}, value = ${e.getValue()}")
list.add(e.getKey())
list.add(e.getValue())
/*
// TODO compiler bug
list += e.getKey()
list += e.getValue()
*/
}
assertEquals(6, list.size())
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
}
/*
TODO compiler bug
test fun iteratorWithProperties() {
test fun iterateWithProperties() {
val map = TreeMap<String, String>()
map["beverage"] = "beer"
map["location"] = "Mells"
map["name"] = "James"
var list = arrayList<String>()
val list = arrayList<String>()
for (e in map) {
println("got $e")
println("key = ${e.key}, value = ${e.value}")
list += e.key
list += e.value
list.add(e.key)
list.add(e.value)
}
assertEquals(6, list.size())
assertEquals("beverage,beer,location,Mells,name,James", list.makeString(","))
}
*/
}