diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/constants/evaluate/ConstantExpressionEvaluator.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/constants/evaluate/ConstantExpressionEvaluator.kt index 99309422e45..26dde803f2f 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/constants/evaluate/ConstantExpressionEvaluator.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/constants/evaluate/ConstantExpressionEvaluator.kt @@ -810,7 +810,7 @@ private class ConstantExpressionEvaluatorVisitor( val underlyingType = classDescriptor.underlyingRepresentation()?.type ?: return null - val argument = valueArguments.values.single().arguments.single() + val argument = valueArguments.values.singleOrNull()?.arguments?.singleOrNull() ?: return null val argumentExpression = argument.getArgumentExpression() ?: return null val compileTimeConstant = evaluate(argumentExpression, underlyingType) diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.kt b/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.kt new file mode 100644 index 00000000000..dc90b5324df --- /dev/null +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.kt @@ -0,0 +1 @@ +val foo = UInt() \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.txt b/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.txt new file mode 100644 index 00000000000..19e90e69134 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.txt @@ -0,0 +1,3 @@ +package + +public val foo: kotlin.UInt diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsWithUnsignedTypesGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsWithUnsignedTypesGenerated.java index c5f7c870cee..d61a2778c40 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsWithUnsignedTypesGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsWithUnsignedTypesGenerated.java @@ -34,6 +34,11 @@ public class DiagnosticsWithUnsignedTypesGenerated extends AbstractDiagnosticsWi runTest("compiler/testData/diagnostics/testsWithUnsignedTypes/allowedVarargsOfUnsignedTypes.kt"); } + @TestMetadata("callDefaultConstructorOfUnsignedType.kt") + public void testCallDefaultConstructorOfUnsignedType() throws Exception { + runTest("compiler/testData/diagnostics/testsWithUnsignedTypes/callDefaultConstructorOfUnsignedType.kt"); + } + @TestMetadata("explicitUnsignedLongTypeCheck.kt") public void testExplicitUnsignedLongTypeCheck() throws Exception { runTest("compiler/testData/diagnostics/testsWithUnsignedTypes/explicitUnsignedLongTypeCheck.kt");