Raw FIR: handle local visibility for functions & classes

This commit is contained in:
Mikhail Glukhikh
2019-03-26 12:31:36 +03:00
parent 4187ea1f86
commit 61c2e4e590
3 changed files with 7 additions and 7 deletions
@@ -498,7 +498,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
classOrObject, classOrObject,
FirClassSymbol(currentClassId), FirClassSymbol(currentClassId),
classOrObject.nameAsSafeName, classOrObject.nameAsSafeName,
classOrObject.visibility, if (classOrObject.isLocal) Visibilities.LOCAL else classOrObject.visibility,
classOrObject.modality, classOrObject.modality,
classOrObject.hasExpectModifier(), classOrObject.hasExpectModifier(),
classOrObject.hasActualModifier(), classOrObject.hasActualModifier(),
@@ -596,7 +596,7 @@ class RawFirBuilder(val session: FirSession, val stubMode: Boolean) {
function, function,
FirFunctionSymbol(callableIdForName(function.nameAsSafeName, function.isLocal)), FirFunctionSymbol(callableIdForName(function.nameAsSafeName, function.isLocal)),
function.nameAsSafeName, function.nameAsSafeName,
function.visibility, if (function.isLocal) Visibilities.LOCAL else function.visibility,
function.modality, function.modality,
function.hasExpectModifier(), function.hasExpectModifier(),
function.hasActualModifier(), function.hasActualModifier(),
@@ -1,6 +1,6 @@
FILE: locals.kt FILE: locals.kt
public? final? fun withLocals(p: Int): Int { public? final? fun withLocals(p: Int): Int {
public? final? class Local : kotlin/Any { local final? class Local : kotlin/Any {
public? constructor(pp: Int): super<kotlin/Any>() public? constructor(pp: Int): super<kotlin/Any>()
public? final? val pp: Int = R|<local>/pp| public? final? val pp: Int = R|<local>/pp|
@@ -13,7 +13,7 @@ FILE: locals.kt
} }
lval x: <implicit> = Local#(Int(42)).diff#() lval x: <implicit> = Local#(Int(42)).diff#()
public? final? fun sum(y: Int, z: Int, f: ( (Int, Int) -> Int )): Int { local final? fun sum(y: Int, z: Int, f: ( (Int, Int) -> Int )): Int {
^sum plus#(x#, f#(plus#(y#, z#))) ^sum plus#(x#, f#(plus#(y#, z#)))
} }
@@ -51,14 +51,14 @@ FILE: access.kt
lval d: R|kotlin/String| = String() lval d: R|kotlin/String| = String()
lval c: <ERROR TYPE REF: Unresolved name: c> = <Unresolved name: c># lval c: <ERROR TYPE REF: Unresolved name: c> = <Unresolved name: c>#
<Unresolved name: abc>#() <Unresolved name: abc>#()
public final fun bcd(): R|kotlin/Unit| { local final fun bcd(): R|kotlin/Unit| {
} }
public final fun abc(): R|kotlin/Unit| { local final fun abc(): R|kotlin/Unit| {
lval a: R|kotlin/String| = R|<local>/d| lval a: R|kotlin/String| = R|<local>/d|
lval b: R|kotlin/String| = R|<local>/a| lval b: R|kotlin/String| = R|<local>/a|
R|<local>/bcd|() R|<local>/bcd|()
public final fun dcb(): R|kotlin/Unit| { local final fun dcb(): R|kotlin/Unit| {
} }
R|<local>/dcb|() R|<local>/dcb|()