58 lines
12 KiB
Plaintext
Vendored
58 lines
12 KiB
Plaintext
Vendored
== sample ==
|
|
fun sample(): String? {
|
|
try {
|
|
if (false) {
|
|
return "fail"
|
|
} else {
|
|
if (false) {
|
|
if (false) {
|
|
var foo: String? = null
|
|
try {
|
|
foo = "test"
|
|
} catch (e: Exception) {
|
|
return "fail"
|
|
} finally {
|
|
println(foo) // Variable 'foo' must be initialized
|
|
}
|
|
}
|
|
return "fail"
|
|
}
|
|
}
|
|
} finally {}
|
|
return null
|
|
}
|
|
---------------------
|
|
<v8>: {<: Exception /* = Exception */} NEW: magic[FAKE_INITIALIZER](e: Exception) -> <v8>
|
|
false <v0>: Boolean NEW: r(false) -> <v0>
|
|
"fail" <v1>: {<: String?} NEW: r("fail") -> <v1>
|
|
return "fail" !<v2>: *
|
|
{ return "fail" } !<v2>: * COPY
|
|
false <v3>: Boolean NEW: r(false) -> <v3>
|
|
false <v4>: Boolean NEW: r(false) -> <v4>
|
|
null <v5>: {<: String?} NEW: r(null) -> <v5>
|
|
"test" <v6>: {<: String?} NEW: r("test") -> <v6>
|
|
foo = "test" !<v7>: *
|
|
{ foo = "test" } !<v7>: * COPY
|
|
"fail" <v9>: {<: String?} NEW: r("fail") -> <v9>
|
|
return "fail" !<v13>: *
|
|
{ return "fail" } !<v13>: * COPY
|
|
println !<v11>: *
|
|
foo <v10>: * NEW: r(foo) -> <v10>
|
|
println(foo) <v12>: * NEW: magic[UNRESOLVED_CALL](println(foo)|<v10>, !<v11>) -> <v12>
|
|
{ println(foo) // Variable 'foo' must be initialized } <v12>: * COPY
|
|
try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } <v14>: * NEW: merge(try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized }|!<v7>, !<v13>) -> <v14>
|
|
{ var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } <v14>: * COPY
|
|
if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } <v15>: * NEW: merge(if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } }|<v14>) -> <v15>
|
|
"fail" <v16>: {<: String?} NEW: r("fail") -> <v16>
|
|
return "fail" !<v17>: *
|
|
{ if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } !<v17>: * COPY
|
|
if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } <v18>: * NEW: merge(if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" }|!<v17>) -> <v18>
|
|
{ if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } <v18>: * COPY
|
|
if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } <v19>: * NEW: merge(if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } }|!<v2>, <v18>) -> <v19>
|
|
{ if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } } <v19>: * COPY
|
|
try { if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } } finally {} <v20>: * NEW: merge(try { if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } } finally {}|<v19>) -> <v20>
|
|
null <v21>: {<: String?} NEW: r(null) -> <v21>
|
|
return null !<v22>: *
|
|
{ try { if (false) { return "fail" } else { if (false) { if (false) { var foo: String? = null try { foo = "test" } catch (e: Exception) { return "fail" } finally { println(foo) // Variable 'foo' must be initialized } } return "fail" } } } finally {} return null } !<v22>: * COPY
|
|
=====================
|