Do not generate separate type parameter declarations for constructors

This commit is contained in:
Dmitry Petrov
2017-04-19 18:05:00 +03:00
parent 57b2a4461c
commit 1bf6f8fc57
12 changed files with 1 additions and 20 deletions
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.psi2ir.generators
import com.sun.org.apache.xpath.internal.operations.Mod
import org.jetbrains.kotlin.descriptors.*
import org.jetbrains.kotlin.ir.declarations.*
import org.jetbrains.kotlin.ir.expressions.IrBlockBody
@@ -204,7 +203,7 @@ class FunctionGenerator(declarationGenerator: DeclarationGenerator) : Declaratio
context.symbolTable.declareConstructor(
ktConstructorElement.startOffset, ktConstructorElement.endOffset, IrDeclarationOrigin.DEFINED, constructorDescriptor
).buildWithScope { irConstructor ->
generateFunctionParameterDeclarations(irConstructor, ktParametersElement, null)
generateValueParameterDeclarations(irConstructor, ktParametersElement, null)
irConstructor.body = createBodyGenerator(irConstructor.symbol).generateBody()
}
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.ir.declarations.impl.IrModuleFragmentImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrPropertyImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrTypeParameterImpl
import org.jetbrains.kotlin.ir.declarations.impl.IrValueParameterImpl
import org.jetbrains.kotlin.ir.descriptors.IrDeclarationStubBuilder
import org.jetbrains.kotlin.ir.symbols.IrSymbol
import org.jetbrains.kotlin.resolve.DescriptorUtils
import org.jetbrains.kotlin.resolve.scopes.MemberScope
@@ -3,7 +3,6 @@ FILE /dataClassesGeneric.kt
$new: VALUE_PARAMETER <receiver: Test1>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Test1<T>(x: T)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter x: T
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
@@ -3,7 +3,6 @@ FILE /delegatingConstructorCallToTypeAliasConstructor.kt
$new: VALUE_PARAMETER <receiver: Cell>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Cell<T>(value: T)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter value: T
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
@@ -17,7 +17,6 @@ FILE /fakeOverrides.kt
$new: VALUE_PARAMETER <receiver: CFoo>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor CFoo<T>()
TYPE_PARAMETER <T>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='CFoo'
@@ -13,7 +13,6 @@ FILE /class.kt
$new: VALUE_PARAMETER <receiver: Test>
TYPE_PARAMETER <T0>
CONSTRUCTOR public constructor Test<T0>()
TYPE_PARAMETER <T0>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Test'
@@ -21,7 +20,6 @@ FILE /class.kt
$new: VALUE_PARAMETER <receiver: TestNested>
TYPE_PARAMETER <T1>
CONSTRUCTOR public constructor TestNested<T1>()
TYPE_PARAMETER <T1>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='TestNested'
@@ -32,7 +30,6 @@ FILE /class.kt
$new: VALUE_PARAMETER <receiver: TestInner>
TYPE_PARAMETER <T2>
CONSTRUCTOR public constructor TestInner<T2>()
TYPE_PARAMETER <T2>
$outer: VALUE_PARAMETER <receiver: Test>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
@@ -4,8 +4,6 @@ FILE /constructor.kt
TYPE_PARAMETER <T1>
TYPE_PARAMETER <T2>
CONSTRUCTOR public constructor Test1<T1, T2>(x: T1, y: T2)
TYPE_PARAMETER <T1>
TYPE_PARAMETER <T2>
VALUE_PARAMETER value-parameter x: T1
VALUE_PARAMETER value-parameter y: T2
BLOCK_BODY
@@ -56,7 +54,6 @@ FILE /constructor.kt
$new: VALUE_PARAMETER <receiver: TestInner>
TYPE_PARAMETER <Z>
CONSTRUCTOR public constructor TestInner<Z>(z: Z)
TYPE_PARAMETER <Z>
$outer: VALUE_PARAMETER <receiver: Test2>
VALUE_PARAMETER value-parameter z: Z
BLOCK_BODY
@@ -73,7 +70,6 @@ FILE /constructor.kt
GET_FIELD 'z: Z' type=Z origin=null
receiver: GET_VAR '<receiver: TestInner>' type=Test2.TestInner<Z> origin=null
CONSTRUCTOR public constructor TestInner<Z>(z: Z, i: kotlin.Int)
TYPE_PARAMETER <Z>
$outer: VALUE_PARAMETER <receiver: Test2>
VALUE_PARAMETER value-parameter z: Z
VALUE_PARAMETER value-parameter i: kotlin.Int
@@ -125,7 +121,6 @@ FILE /constructor.kt
$new: VALUE_PARAMETER <receiver: Test4>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Test4<T>(x: kotlin.Int)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter x: kotlin.Int
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
@@ -141,7 +136,6 @@ FILE /constructor.kt
GET_FIELD 'x: Int' type=kotlin.Int origin=null
receiver: GET_VAR '<receiver: Test4>' type=Test4<T> origin=null
CONSTRUCTOR public constructor Test4<T>(x: kotlin.Int, y: kotlin.Int = ...)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter x: kotlin.Int
VALUE_PARAMETER value-parameter y: kotlin.Int = ...
EXPRESSION_BODY
@@ -3,7 +3,6 @@ FILE /dataClassMembers.kt
$new: VALUE_PARAMETER <receiver: Test>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Test<T>(x: T, y: kotlin.String = ...)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter x: T
VALUE_PARAMETER value-parameter y: kotlin.String = ...
EXPRESSION_BODY
@@ -60,7 +60,6 @@ FILE /defaultPropertyAccessors.kt
$new: VALUE_PARAMETER <receiver: InPrimaryCtor>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor InPrimaryCtor<T>(testInPrimaryCtor1: T, testInPrimaryCtor2: kotlin.Int = ...)
TYPE_PARAMETER <T>
VALUE_PARAMETER value-parameter testInPrimaryCtor1: T
VALUE_PARAMETER value-parameter testInPrimaryCtor2: kotlin.Int = ...
EXPRESSION_BODY
@@ -19,7 +19,6 @@ FILE /delegatedMembers.kt
$new: VALUE_PARAMETER <receiver: Test>
TYPE_PARAMETER <TT>
CONSTRUCTOR public constructor Test<TT>(impl: IBase<TT>)
TYPE_PARAMETER <TT>
VALUE_PARAMETER value-parameter impl: IBase<TT>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
@@ -48,7 +48,6 @@ FILE /propertyAccessors.kt
$new: VALUE_PARAMETER <receiver: Host>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor Host<T>()
TYPE_PARAMETER <T>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='Host'
@@ -13,7 +13,6 @@ FILE /integerCoercionToT.kt
$new: VALUE_PARAMETER <receiver: CInt32VarX>
TYPE_PARAMETER <T>
CONSTRUCTOR public constructor CInt32VarX<T>()
TYPE_PARAMETER <T>
BLOCK_BODY
DELEGATING_CONSTRUCTOR_CALL 'constructor Any()'
INSTANCE_INITIALIZER_CALL classDescriptor='CInt32VarX'