diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ReifiedTypeParameterSubstitutionCheck.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ReifiedTypeParameterSubstitutionCheck.java index 6590c411d2a..4079392d62d 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ReifiedTypeParameterSubstitutionCheck.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/calls/ReifiedTypeParameterSubstitutionCheck.java @@ -46,7 +46,7 @@ public class ReifiedTypeParameterSubstitutionCheck implements CallResolverExtens !((TypeParameterDescriptor) argumentDeclarationDescription).isReified() ) { context.trace.report( - Errors.TYPE_PARAMETER_AS_REIFIED.on(getCallElement(context), typeArguments.keySet().iterator().next()) + Errors.TYPE_PARAMETER_AS_REIFIED.on(getCallElement(context), parameter) ); } else if (KotlinBuiltIns.getInstance().isNothingOrNullableNothing(argument)) { diff --git a/idea/testData/diagnosticMessage/typeParameterAsReified.kt b/idea/testData/diagnosticMessage/typeParameterAsReified.kt new file mode 100644 index 00000000000..9f506ce7a88 --- /dev/null +++ b/idea/testData/diagnosticMessage/typeParameterAsReified.kt @@ -0,0 +1,8 @@ +// !DIAGNOSTICS_NUMBER: 1 +// !DIAGNOSTICS: TYPE_PARAMETER_AS_REIFIED + +public data class Pair() + +inline fun f(): Pair, Array> = throw UnsupportedOperationException() + +fun test(): Pair, Array> = f() diff --git a/idea/testData/diagnosticMessage/typeParameterAsReified1.txt b/idea/testData/diagnosticMessage/typeParameterAsReified1.txt new file mode 100644 index 00000000000..e46661941cc --- /dev/null +++ b/idea/testData/diagnosticMessage/typeParameterAsReified1.txt @@ -0,0 +1,2 @@ + +Cannot use 'T' as reified type parameter. Use a class instead. \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/plugin/highlighter/DiagnosticMessageTestGenerated.java b/idea/tests/org/jetbrains/jet/plugin/highlighter/DiagnosticMessageTestGenerated.java index b19da582c73..633b02a7237 100644 --- a/idea/tests/org/jetbrains/jet/plugin/highlighter/DiagnosticMessageTestGenerated.java +++ b/idea/tests/org/jetbrains/jet/plugin/highlighter/DiagnosticMessageTestGenerated.java @@ -162,6 +162,12 @@ public class DiagnosticMessageTestGenerated extends AbstractDiagnosticMessageTes doTest(fileName); } + @TestMetadata("typeParameterAsReified.kt") + public void testTypeParameterAsReified() throws Exception { + String fileName = JetTestUtils.navigationMetadata("idea/testData/diagnosticMessage/typeParameterAsReified.kt"); + doTest(fileName); + } + @TestMetadata("unusedParameter.kt") public void testUnusedParameter() throws Exception { String fileName = JetTestUtils.navigationMetadata("idea/testData/diagnosticMessage/unusedParameter.kt");