From c19c7d0ec788d72ed465809009603bb27b9796d7 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Mon, 13 Oct 2014 18:48:16 +0400 Subject: [PATCH] Store parameters' identifiers in ReifiedTypeParameterMappings --- .../src/org/jetbrains/jet/codegen/ExpressionCodegen.java | 3 ++- .../jetbrains/jet/codegen/inline/ReifiedTypeInliner.kt | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 950c09047a1..ba7f0944f29 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -2275,7 +2275,8 @@ public class ExpressionCodegen extends JetVisitor implem mappings.addParameterMappingToNewParameter( key.getIndex(), key.getName().getIdentifier(), - parameterDescriptor.getIndex() + parameterDescriptor.getIndex(), + parameterDescriptor.getName().getIdentifier() ); } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/ReifiedTypeInliner.kt b/compiler/backend/src/org/jetbrains/jet/codegen/inline/ReifiedTypeInliner.kt index f6b7531d9b7..23bd33ba03a 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/ReifiedTypeInliner.kt +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/ReifiedTypeInliner.kt @@ -162,12 +162,12 @@ public class ReifiedTypeParameterMappings(private val size: Int) { private val indexByParameterName = hashMapOf() public fun addParameterMappingToType(index: Int, name: String, asmType: Type) { - mappingsByIndex[index] = ReifiedTypeParameterMapping(name, asmType, null) + mappingsByIndex[index] = ReifiedTypeParameterMapping(name, asmType, null, null) indexByParameterName[name] = index } - public fun addParameterMappingToNewParameter(index: Int, name: String, newIndex: Int) { - mappingsByIndex[index] = ReifiedTypeParameterMapping(name, null, newIndex) + public fun addParameterMappingToNewParameter(index: Int, name: String, newIndex: Int, newName: String) { + mappingsByIndex[index] = ReifiedTypeParameterMapping(name, null, newIndex, newName) indexByParameterName[name] = index } @@ -177,7 +177,7 @@ public class ReifiedTypeParameterMappings(private val size: Int) { } } -public class ReifiedTypeParameterMapping(val name: String, val asmType: Type?, val newIndex: Int?) +public class ReifiedTypeParameterMapping(val name: String, val asmType: Type?, val newIndex: Int?, val newName: String?) private fun iconstInsn(n: Int): AbstractInsnNode { val node = MethodNode()