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