From da7f4f342121a3453425dccebc0b6b0f2a58b7d8 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 26 Dec 2012 22:29:36 +0400 Subject: [PATCH] Escaping parameter names in "where". --- .../org/jetbrains/jet/renderer/DescriptorRendererImpl.java | 2 +- compiler/testData/renderer/KeywordsInNames.kt | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java index ab35157083b..4e6b54c5f6c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/renderer/DescriptorRendererImpl.java @@ -455,7 +455,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer { for (TypeParameterDescriptor typeParameter : typeParameters) { if (typeParameter.getUpperBounds().size() > 1) { for (JetType upperBound : typeParameter.getUpperBounds()) { - upperBoundStrings.add(typeParameter.getName() + " : " + escape(renderType(upperBound))); + upperBoundStrings.add(renderName(typeParameter.getName()) + " : " + escape(renderType(upperBound))); } } } diff --git a/compiler/testData/renderer/KeywordsInNames.kt b/compiler/testData/renderer/KeywordsInNames.kt index e0b1bd40101..ac9bf0db3c5 100644 --- a/compiler/testData/renderer/KeywordsInNames.kt +++ b/compiler/testData/renderer/KeywordsInNames.kt @@ -11,7 +11,7 @@ class `class`<`in`>(p: `in`?) { val `is` = `class`.`class`() val `in` = `class`<`trait`>(null) -fun `trait`.`fun`(`false`: `trait`): `trait` +fun <`in`: `trait`> `trait`.`fun`(`false`: `trait`): `trait` where `in`: Number //internal final annotation class `true` : jet.Annotation defined in root package //public constructor `true`() defined in `true` @@ -25,5 +25,6 @@ fun `trait`.`fun`(`false`: `trait`): `trait` //public constructor `class`() defined in `class`.`class` //internal final val `is` : `class`.`class` defined in root package //internal final val `in` : `class`<`trait`> defined in root package -//internal final fun `trait`.`fun`(`false` : `trait`) : `trait` defined in root package +//internal final fun <`in`> `trait`.`fun`(`false` : `trait`) : `trait` where `in` : `trait`, `in` : jet.Number defined in root package +//<`in` : `trait` & jet.Number> defined in `fun` //value-parameter val `false` : `trait` defined in `fun` \ No newline at end of file