changeset 69393 | ed0824ef337e |
parent 68715 | 8197c2857267 |
child 71164 | a21a29de5f57 |
69392:fe2c16d9367a | 69393:ed0824ef337e |
---|---|
14 |
14 |
15 object Library |
15 object Library |
16 { |
16 { |
17 /* resource management */ |
17 /* resource management */ |
18 |
18 |
19 def using[A <: { def close() }, B](x: A)(f: A => B): B = |
19 def using[A <: AutoCloseable, B](a: A)(f: A => B): B = |
20 { |
20 { |
21 import scala.language.reflectiveCalls |
21 try { f(a) } |
22 |
22 finally { if (a != null) a.close() } |
23 try { f(x) } |
|
24 finally { if (x != null) x.close() } |
|
25 } |
23 } |
26 |
24 |
27 |
25 |
28 /* integers */ |
26 /* integers */ |
29 |
27 |