// FIR_DIFFERENCE // The difference is okay: K1 and K2 report a bit differently // ERROR_POLICY: SEMANTIC fun testValFromThisFunction() { val valFromThisFunction = "valFromThisFunction" val valFromThisFunction2 = valFromThisFunction + "2" js("var ${valFromThisFunction} = 1;") js("var " + valFromThisFunction + " = 1;") js("var ${valFromThisFunction2} = 1;") js("var " + valFromThisFunction2 + " = 1;") } fun testVarFromThisFunction() { var varFromThisFunction = "varFromThisFunction" var varFromThisFunction2 = varFromThisFunction + "2" js("var ${varFromThisFunction} = 1;") js("var " + varFromThisFunction + " = 1;") js("var ${varFromThisFunction2} = 1;") js("var " + varFromThisFunction2 + " = 1;") } fun testValFromParam(valFromParam: String) { js("var ${valFromParam} = 1;") js("var " + valFromParam + " = 1;") } class Class { val valFromClass = "valFromClass" val valWithGetter: String get() = "valWithGetter" fun testValFromThis() { js("var ${valFromClass} = 1;") js("var " + valFromClass + " = 1;") } fun testValWithGetterThis() { js("var ${valWithGetter} = 1;") js("var " + valWithGetter + " = 1;") } } fun testValFromClassObject() { val c = Class() js("var ${c.valFromClass} = 1;") js("var " + c.valFromClass + " = 1;") js("var ${c.valWithGetter} = 1;") js("var " + c.valWithGetter + " = 1;") } fun testValFromObject() { val o = object { val valFromObject = "valFromClass" } js("var ${o.valFromObject} = 1;") js("var " + o.valFromObject + " = 1;") }