Don't run ExpectedActualDeclarationChecker on property accessors

One might think that it shouldn't be run because of 'if (declaration
!is KtNamedDeclaration) return' check in the 'check'-overload.

However, for default accessors we pass PSI for property, i.e.
KtProperty (see 'DeclarationCheckers.checkAccessors'), which
obviously passes this check

Note that we can't use `DescriptorToSourceUtils` here, because it's
returns `KtProperty` for default accessor too.

This commits adds specific check for that case, to avoid exception in
KT-28385. Ideal solution would be to either don't launch checkers on
such parameters, or explicitly declare semantic of the
'declaration'-parameter, e.g. to rename it to 'reportOn' (see KT-28403
for discussion)

^KT-28385 Fixed
This commit is contained in:
Dmitry Savvinov
2018-11-23 15:44:39 +03:00
parent 415fcf70e9
commit f174ee863d
2 changed files with 19 additions and 186 deletions
+16 -186
View File
@@ -3,190 +3,20 @@ Exit code: OK
Output:
-- JVM --
Exit code: INTERNAL_ERROR
Exit code: COMPILATION_ERROR
Output:
ERROR: Rewrite at slice FUNCTION key: FUN old value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@3993ecb3]@965995699 new value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@41a50f9f]@1101336479
File name: jvm.kt Physical: true Injected: false
<caret>{
println("Ha")
}
java.lang.Throwable: Rewrite at slice FUNCTION key: FUN old value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@3993ecb3]@965995699 new value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@41a50f9f]@1101336479
File name: jvm.kt Physical: true Injected: false
<caret>{
println("Ha")
}
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
at org.jetbrains.kotlin.util.slicedMap.Slices.logErrorAboutRewritingNonEqualObjects(Slices.java:158)
at org.jetbrains.kotlin.util.slicedMap.Slices.access$000(Slices.java:30)
at org.jetbrains.kotlin.util.slicedMap.Slices$1.processRewrite(Slices.java:42)
at org.jetbrains.kotlin.util.slicedMap.SlicedMapImpl.put(SlicedMapImpl.java:65)
at org.jetbrains.kotlin.resolve.BindingTraceContext.record(BindingTraceContext.java:135)
at org.jetbrains.kotlin.cli.jvm.compiler.NoScopeRecordCliBindingTrace.record(CliTrace.kt:52)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace$record$1.invoke(LockBasedLazyResolveStorageManager.kt:71)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace$record$1.invoke(LockBasedLazyResolveStorageManager.kt:59)
at org.jetbrains.kotlin.storage.LockBasedStorageManager.compute(LockBasedStorageManager.java:231)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace.record(LockBasedLazyResolveStorageManager.kt:71)
at org.jetbrains.kotlin.resolve.BindingContextUtils.recordFunctionDeclarationToDescriptor(BindingContextUtils.java:86)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolveFunctionDescriptor(FunctionDescriptorResolver.kt:137)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolveFunctionDescriptor(FunctionDescriptorResolver.kt:94)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.doGetFunctions(AbstractLazyMemberScope.kt:99)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.access$doGetFunctions(AbstractLazyMemberScope.kt:38)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:50)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:38)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:448)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:523)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.getContributedFunctions(AbstractLazyMemberScope.kt:90)
at org.jetbrains.kotlin.resolve.scopes.ChainedMemberScope.getContributedFunctions(ChainedMemberScope.kt:39)
at org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter.getContributedFunctions(AbstractScopeAdapter.kt:40)
at org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver.findNamesakesFromModule(ExpectedActualResolver.kt:125)
at org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver.findExpectedForActual(ExpectedActualResolver.kt:79)
at org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker.checkActualDeclarationHasExpected(ExpectedActualDeclarationChecker.kt:126)
at org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker.check(ExpectedActualDeclarationChecker.kt:61)
at org.jetbrains.kotlin.resolve.ModifiersChecker$ModifiersCheckingProcedure.runDeclarationCheckers(ModifiersChecker.java:272)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkAccessors(DeclarationsChecker.kt:850)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkProperty(DeclarationsChecker.kt:593)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.process(DeclarationsChecker.kt:103)
at org.jetbrains.kotlin.resolve.BodyResolver.resolveBodies(BodyResolver.java:244)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:226)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:61)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:110)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:385)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:68)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:376)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyzeAndGenerate(KotlinToJVMBytecodeCompiler.kt:358)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileBunchOfSources(KotlinToJVMBytecodeCompiler.kt:256)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:205)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:57)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:95)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:71)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:39)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:202)
at org.jetbrains.kotlin.test.CompilerTestUtil.executeCompiler(CompilerTestUtil.kt:40)
at org.jetbrains.kotlin.cli.AbstractCliTest.executeCompilerGrabOutput(AbstractCliTest.java:64)
at org.jetbrains.kotlin.multiplatform.AbstractMultiPlatformIntegrationTest.compile(AbstractMultiPlatformIntegrationTest.kt:104)
at org.jetbrains.kotlin.multiplatform.AbstractMultiPlatformIntegrationTest.doTest(AbstractMultiPlatformIntegrationTest.kt:63)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest0(KotlinTestUtils.java:1055)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest(KotlinTestUtils.java:1031)
at org.jetbrains.kotlin.multiplatform.MultiPlatformIntegrationTestGenerated$Regressions.runTest(MultiPlatformIntegrationTestGenerated.java:667)
at org.jetbrains.kotlin.multiplatform.MultiPlatformIntegrationTestGenerated$Regressions.testKt28385(MultiPlatformIntegrationTestGenerated.java:686)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:176)
at org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase.lambda$runTest$0(KtUsefulTestCase.java:226)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:28)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:26)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtilKt$sam$java_lang_Runnable$0.run(EdtTestUtil.kt)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
exception: java.lang.AssertionError: Rewrite at slice FUNCTION key: FUN old value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@3993ecb3]@965995699 new value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@41a50f9f]@1101336479
File name: jvm.kt Physical: true Injected: false
<caret>{
println("Ha")
}
at com.intellij.testFramework.LoggedErrorProcessor.processError(LoggedErrorProcessor.java:61)
at com.intellij.testFramework.TestLogger.error(TestLogger.java:40)
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:123)
at org.jetbrains.kotlin.util.slicedMap.Slices.logErrorAboutRewritingNonEqualObjects(Slices.java:158)
at org.jetbrains.kotlin.util.slicedMap.Slices.access$000(Slices.java:30)
at org.jetbrains.kotlin.util.slicedMap.Slices$1.processRewrite(Slices.java:42)
at org.jetbrains.kotlin.util.slicedMap.SlicedMapImpl.put(SlicedMapImpl.java:65)
at org.jetbrains.kotlin.resolve.BindingTraceContext.record(BindingTraceContext.java:135)
at org.jetbrains.kotlin.cli.jvm.compiler.NoScopeRecordCliBindingTrace.record(CliTrace.kt:52)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace$record$1.invoke(LockBasedLazyResolveStorageManager.kt:71)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace$record$1.invoke(LockBasedLazyResolveStorageManager.kt:59)
at org.jetbrains.kotlin.storage.LockBasedStorageManager.compute(LockBasedStorageManager.java:231)
at org.jetbrains.kotlin.storage.LockBasedLazyResolveStorageManager$LockProtectedTrace.record(LockBasedLazyResolveStorageManager.kt:71)
at org.jetbrains.kotlin.resolve.BindingContextUtils.recordFunctionDeclarationToDescriptor(BindingContextUtils.java:86)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolveFunctionDescriptor(FunctionDescriptorResolver.kt:137)
at org.jetbrains.kotlin.resolve.FunctionDescriptorResolver.resolveFunctionDescriptor(FunctionDescriptorResolver.kt:94)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.doGetFunctions(AbstractLazyMemberScope.kt:99)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.access$doGetFunctions(AbstractLazyMemberScope.kt:38)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:50)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope$functionDescriptors$1.invoke(AbstractLazyMemberScope.kt:38)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunction.invoke(LockBasedStorageManager.java:448)
at org.jetbrains.kotlin.storage.LockBasedStorageManager$MapBasedMemoizedFunctionToNotNull.invoke(LockBasedStorageManager.java:523)
at org.jetbrains.kotlin.resolve.lazy.descriptors.AbstractLazyMemberScope.getContributedFunctions(AbstractLazyMemberScope.kt:90)
at org.jetbrains.kotlin.resolve.scopes.ChainedMemberScope.getContributedFunctions(ChainedMemberScope.kt:39)
at org.jetbrains.kotlin.resolve.scopes.AbstractScopeAdapter.getContributedFunctions(AbstractScopeAdapter.kt:40)
at org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver.findNamesakesFromModule(ExpectedActualResolver.kt:125)
at org.jetbrains.kotlin.resolve.multiplatform.ExpectedActualResolver.findExpectedForActual(ExpectedActualResolver.kt:79)
at org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker.checkActualDeclarationHasExpected(ExpectedActualDeclarationChecker.kt:126)
at org.jetbrains.kotlin.resolve.checkers.ExpectedActualDeclarationChecker.check(ExpectedActualDeclarationChecker.kt:61)
at org.jetbrains.kotlin.resolve.ModifiersChecker$ModifiersCheckingProcedure.runDeclarationCheckers(ModifiersChecker.java:272)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkAccessors(DeclarationsChecker.kt:850)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.checkProperty(DeclarationsChecker.kt:593)
at org.jetbrains.kotlin.resolve.DeclarationsChecker.process(DeclarationsChecker.kt:103)
at org.jetbrains.kotlin.resolve.BodyResolver.resolveBodies(BodyResolver.java:244)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations(LazyTopDownAnalyzer.kt:226)
at org.jetbrains.kotlin.resolve.LazyTopDownAnalyzer.analyzeDeclarations$default(LazyTopDownAnalyzer.kt:61)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:110)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:82)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:385)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:68)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:376)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyzeAndGenerate(KotlinToJVMBytecodeCompiler.kt:358)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileBunchOfSources(KotlinToJVMBytecodeCompiler.kt:256)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:205)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:57)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:95)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:93)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:71)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:39)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:202)
at org.jetbrains.kotlin.test.CompilerTestUtil.executeCompiler(CompilerTestUtil.kt:40)
at org.jetbrains.kotlin.cli.AbstractCliTest.executeCompilerGrabOutput(AbstractCliTest.java:64)
at org.jetbrains.kotlin.multiplatform.AbstractMultiPlatformIntegrationTest.compile(AbstractMultiPlatformIntegrationTest.kt:104)
at org.jetbrains.kotlin.multiplatform.AbstractMultiPlatformIntegrationTest.doTest(AbstractMultiPlatformIntegrationTest.kt:63)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest0(KotlinTestUtils.java:1055)
at org.jetbrains.kotlin.test.KotlinTestUtils.runTest(KotlinTestUtils.java:1031)
at org.jetbrains.kotlin.multiplatform.MultiPlatformIntegrationTestGenerated$Regressions.runTest(MultiPlatformIntegrationTestGenerated.java:667)
at org.jetbrains.kotlin.multiplatform.MultiPlatformIntegrationTestGenerated$Regressions.testKt28385(MultiPlatformIntegrationTestGenerated.java:686)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:176)
at org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase.lambda$runTest$0(KtUsefulTestCase.java:226)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:28)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtil$Companion$runInEdtAndWait$1.invoke(EdtTestUtil.kt:26)
at org.jetbrains.kotlin.test.testFramework.EdtTestUtilKt$sam$java_lang_Runnable$0.run(EdtTestUtil.kt)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.Throwable: Rewrite at slice FUNCTION key: FUN old value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@3993ecb3]@965995699 new value: public fun <no name provided>(): kotlin.Unit defined in sample in file jvm.kt[SimpleFunctionDescriptorImpl@41a50f9f]@1101336479
File name: jvm.kt Physical: true Injected: false
<caret>{
println("Ha")
}
... 81 more
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:1: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:6: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: expecting a top level declaration
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:5:8: error: function declaration must have a name
sdax = {
^
compiler/testData/multiplatform/regressions/kt28385/jvm.kt:3:1: error: property must be initialized
val dasda
^