Add -X argument to disable generation of @SourceDebugExtension
This will be used in tests in the subsequent commit.
This commit is contained in:
@@ -115,9 +115,9 @@ public abstract class AbstractClassBuilder implements ClassBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void done() {
|
||||
public void done(boolean generateSmapCopyToAnnotation) {
|
||||
getVisitor().visitSource(sourceName, debugInfo);
|
||||
if (debugInfo != null) {
|
||||
if (generateSmapCopyToAnnotation && debugInfo != null) {
|
||||
AnnotationVisitor v =
|
||||
getVisitor().visitAnnotation(JvmAnnotationNames.SOURCE_DEBUG_EXTENSION_DESC, false).visitArray("value");
|
||||
for (String part : CodegenUtilKt.splitStringConstant(debugInfo)) {
|
||||
|
||||
@@ -57,7 +57,7 @@ public interface ClassBuilder {
|
||||
@NotNull
|
||||
AnnotationVisitor newAnnotation(@NotNull String desc, boolean visible);
|
||||
|
||||
void done();
|
||||
void done(boolean generateSmapCopyToAnnotation);
|
||||
|
||||
@NotNull
|
||||
ClassVisitor getVisitor();
|
||||
|
||||
@@ -30,9 +30,9 @@ class ClassBuilderOnDemand(createClassBuilder: () -> ClassBuilder) : DelegatingC
|
||||
classBuilder()
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
if (isComputed) {
|
||||
classBuilder().done()
|
||||
classBuilder().done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -49,9 +49,9 @@ abstract class ClassNameCollectionClassBuilderFactory(
|
||||
super.defineClass(origin, version, access, name, signature, superName, interfaces)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
handleClashingNames(classInternalName, classCreatedFor)
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,8 +75,8 @@ public abstract class DelegatingClassBuilder implements ClassBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void done() {
|
||||
getDelegate().done();
|
||||
public void done(boolean generateSmapCopyToAnnotation) {
|
||||
getDelegate().done(generateSmapCopyToAnnotation);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -47,8 +47,8 @@ import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature;
|
||||
import org.jetbrains.kotlin.resolve.source.KotlinSourceElementKt;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.storage.NotNullLazyValue;
|
||||
import org.jetbrains.kotlin.types.error.ErrorUtils;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
import org.jetbrains.kotlin.types.error.ErrorUtils;
|
||||
import org.jetbrains.org.objectweb.asm.Label;
|
||||
import org.jetbrains.org.objectweb.asm.MethodVisitor;
|
||||
import org.jetbrains.org.objectweb.asm.Opcodes;
|
||||
@@ -191,7 +191,7 @@ public abstract class MemberCodegen<T extends KtPureElement/* TODO: & KtDeclarat
|
||||
v.visitSMAP(getOrCreateSourceMapper(), !state.getLanguageVersionSettings().supportsFeature(LanguageFeature.CorrectSourceMappingSyntax));
|
||||
}
|
||||
|
||||
v.done();
|
||||
v.done(state.getGenerateSmapCopyToAnnotation());
|
||||
}
|
||||
|
||||
public void genSimpleMember(@NotNull KtDeclaration declaration) {
|
||||
|
||||
@@ -21,7 +21,6 @@ import org.jetbrains.kotlin.backend.common.CodegenUtil
|
||||
import org.jetbrains.kotlin.codegen.context.FieldOwnerContext
|
||||
import org.jetbrains.kotlin.codegen.context.MethodContext
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState
|
||||
import org.jetbrains.kotlin.config.IncrementalCompilation
|
||||
import org.jetbrains.kotlin.config.JvmAnalysisFlags
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil
|
||||
@@ -345,7 +344,7 @@ class MultifileClassCodegenImpl(
|
||||
}
|
||||
|
||||
private fun done() {
|
||||
classBuilder.done()
|
||||
classBuilder.done(state.generateSmapCopyToAnnotation)
|
||||
if (classBuilder.isComputed) {
|
||||
state.afterIndependentPart()
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.codegen;
|
||||
import kotlin.text.StringsKt;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.kotlin.backend.common.CodegenUtil;
|
||||
import org.jetbrains.kotlin.backend.common.SamType;
|
||||
import org.jetbrains.kotlin.codegen.context.ClassContext;
|
||||
import org.jetbrains.kotlin.codegen.context.CodegenContext;
|
||||
import org.jetbrains.kotlin.codegen.state.GenerationState;
|
||||
@@ -38,7 +39,6 @@ import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKt;
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope;
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
import org.jetbrains.kotlin.backend.common.SamType;
|
||||
import org.jetbrains.kotlin.util.OperatorNameConventions;
|
||||
import org.jetbrains.org.objectweb.asm.Label;
|
||||
import org.jetbrains.org.objectweb.asm.MethodVisitor;
|
||||
@@ -166,7 +166,7 @@ public class SamWrapperCodegen {
|
||||
generateDelegatesToDefaultImpl(asmType, classDescriptor, samType.getClassDescriptor(), functionCodegen, state);
|
||||
}
|
||||
|
||||
cv.done();
|
||||
cv.done(state.getGenerateSmapCopyToAnnotation());
|
||||
|
||||
return asmType;
|
||||
}
|
||||
|
||||
+2
-2
@@ -71,7 +71,7 @@ abstract class SignatureCollectingClassBuilderFactory(
|
||||
return super.newMethod(origin, access, name, desc, signature, exceptions)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
for ((signature, elementsAndDescriptors) in signatures.entrySet()) {
|
||||
if (elementsAndDescriptors.size == 1) continue // no clash
|
||||
handleClashingSignatures(ConflictingJvmDeclarationsData(
|
||||
@@ -82,7 +82,7 @@ abstract class SignatureCollectingClassBuilderFactory(
|
||||
))
|
||||
}
|
||||
onClassDone(classCreatedFor, classInternalName, signatures)
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -656,7 +656,7 @@ private fun generateLambdaForRunSuspend(
|
||||
|
||||
writeSyntheticClassMetadata(lambdaBuilder, state, false)
|
||||
|
||||
lambdaBuilder.done()
|
||||
lambdaBuilder.done(state.generateSmapCopyToAnnotation)
|
||||
return lambdaBuilder.thisName
|
||||
}
|
||||
|
||||
@@ -729,4 +729,4 @@ fun String.encodedUTF8Size(): Int {
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -228,7 +228,7 @@ class AnonymousObjectTransformer(
|
||||
if (continuationClassName == transformationInfo.oldClassName) {
|
||||
coroutineTransformer.registerClassBuilder(continuationClassName)
|
||||
} else {
|
||||
classBuilder.done()
|
||||
classBuilder.done(state.generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
return transformationResult
|
||||
|
||||
@@ -207,7 +207,7 @@ class MethodInliner(
|
||||
}
|
||||
|
||||
for (classBuilder in childInliningContext.continuationBuilders.values) {
|
||||
classBuilder.done()
|
||||
classBuilder.done(inliningContext.state.generateSmapCopyToAnnotation)
|
||||
}
|
||||
} else {
|
||||
result.addNotChangedClass(oldClassName)
|
||||
|
||||
@@ -104,7 +104,7 @@ class WhenMappingTransformer(
|
||||
transformedClinit.signature, transformedClinit.exceptions.toTypedArray()
|
||||
)
|
||||
transformedClinit.accept(result)
|
||||
classBuilder.done()
|
||||
classBuilder.done(state.generateSmapCopyToAnnotation)
|
||||
|
||||
return transformationResult
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ class SamWrapperTransformer(transformationInfo: SamWrapperTransformationInfo, pr
|
||||
}
|
||||
|
||||
}, ClassReader.SKIP_FRAMES)
|
||||
classBuilder.done()
|
||||
classBuilder.done(inliningContext.state.generateSmapCopyToAnnotation)
|
||||
|
||||
return transformationResult
|
||||
}
|
||||
|
||||
+1
-1
@@ -142,7 +142,7 @@ class CoroutineTransformer(
|
||||
}
|
||||
|
||||
fun replaceFakesWithReals(node: MethodNode) {
|
||||
findFakeContinuationConstructorClassName(node)?.let(::unregisterClassBuilder)?.let(ClassBuilder::done)
|
||||
findFakeContinuationConstructorClassName(node)?.let(::unregisterClassBuilder)?.done(state.generateSmapCopyToAnnotation)
|
||||
replaceFakeContinuationsWithRealOnes(
|
||||
node, if (!inliningContext.isContinuation) getLastParameterIndex(node.desc, node.access) else 0
|
||||
)
|
||||
|
||||
@@ -322,6 +322,7 @@ class GenerationState private constructor(
|
||||
val unifiedNullChecks: Boolean =
|
||||
languageVersionSettings.apiVersion >= ApiVersion.KOTLIN_1_4 &&
|
||||
!configuration.getBoolean(JVMConfigurationKeys.NO_UNIFIED_NULL_CHECKS)
|
||||
val generateSmapCopyToAnnotation: Boolean = !configuration.getBoolean(JVMConfigurationKeys.NO_SOURCE_DEBUG_EXTENSION)
|
||||
val functionsWithInlineClassReturnTypesMangled: Boolean =
|
||||
languageVersionSettings.supportsFeature(LanguageFeature.MangleClassMembersReturningInlineClasses)
|
||||
val shouldValidateIr = configuration.getBoolean(JVMConfigurationKeys.VALIDATE_IR)
|
||||
|
||||
+3
-3
@@ -95,7 +95,7 @@ class SignatureDumpingBuilderFactory(
|
||||
return super.newField(origin, access, name, desc, signature, value)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
if (firstClassWritten) outputStream.append(",\n") else firstClassWritten = true
|
||||
outputStream.append("\t{\n")
|
||||
origin.descriptor?.let {
|
||||
@@ -122,7 +122,7 @@ class SignatureDumpingBuilderFactory(
|
||||
}}
|
||||
outputStream.append("\n\t\t]\n\t}")
|
||||
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -148,4 +148,4 @@ private fun jsonEscape(value: String): String = buildString {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -60,7 +60,7 @@ public class MappingClassesForWhenByEnumCodegen {
|
||||
boolean publicAbi = mappings.stream().anyMatch(WhenByEnumsMapping::isPublicAbi);
|
||||
WriteAnnotationUtilKt.writeSyntheticClassMetadata(cb, state, publicAbi);
|
||||
|
||||
cb.done();
|
||||
cb.done(state.getGenerateSmapCopyToAnnotation());
|
||||
}
|
||||
|
||||
private static void generateFields(@NotNull ClassBuilder cb, @NotNull List<WhenByEnumsMapping> mappings) {
|
||||
|
||||
+6
@@ -431,6 +431,12 @@ Also sets `-jvm-target` value equal to the selected JDK version"""
|
||||
)
|
||||
var noUnifiedNullChecks: Boolean by FreezableVar(false)
|
||||
|
||||
@Argument(
|
||||
value = "-Xno-source-debug-extension",
|
||||
description = "Do not generate @kotlin.jvm.internal.SourceDebugExtension annotation on a class with the copy of SMAP"
|
||||
)
|
||||
var noSourceDebugExtension: Boolean by FreezableVar(false)
|
||||
|
||||
@Argument(
|
||||
value = "-Xprofile",
|
||||
valueDescription = "<profilerPath:command:outputDir>",
|
||||
|
||||
+2
-2
@@ -193,11 +193,11 @@ public class StubClassBuilder extends AbstractClassBuilder {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void done() {
|
||||
public void done(boolean generateSmapCopyToAnnotation) {
|
||||
if (!isPackageClass) {
|
||||
StubElement pop = parentStack.pop();
|
||||
assert pop == v.getResult() : "parentStack: got " + pop + ", expected " + v.getResult();
|
||||
}
|
||||
super.done();
|
||||
super.done(generateSmapCopyToAnnotation);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -307,6 +307,7 @@ fun CompilerConfiguration.configureAdvancedJvmOptions(arguments: K2JVMCompilerAr
|
||||
put(JVMConfigurationKeys.NO_KOTLIN_NOTHING_VALUE_EXCEPTION, arguments.noKotlinNothingValueException)
|
||||
put(JVMConfigurationKeys.NO_RESET_JAR_TIMESTAMPS, arguments.noResetJarTimestamps)
|
||||
put(JVMConfigurationKeys.NO_UNIFIED_NULL_CHECKS, arguments.noUnifiedNullChecks)
|
||||
put(JVMConfigurationKeys.NO_SOURCE_DEBUG_EXTENSION, arguments.noSourceDebugExtension)
|
||||
|
||||
put(JVMConfigurationKeys.SERIALIZE_IR, JvmSerializeIrMode.fromString(arguments.serializeIr))
|
||||
|
||||
|
||||
@@ -133,6 +133,9 @@ public class JVMConfigurationKeys {
|
||||
public static final CompilerConfigurationKey<Boolean> NO_UNIFIED_NULL_CHECKS =
|
||||
CompilerConfigurationKey.create("Use pre-1.4 exception types in null checks instead of java.lang.NPE");
|
||||
|
||||
public static final CompilerConfigurationKey<Boolean> NO_SOURCE_DEBUG_EXTENSION =
|
||||
CompilerConfigurationKey.create("Do not generate @kotlin.jvm.internal.SourceDebugExtension annotation on a class with the copy of SMAP");
|
||||
|
||||
public static final CompilerConfigurationKey<Boolean> USE_OLD_INLINE_CLASSES_MANGLING_SCHEME =
|
||||
CompilerConfigurationKey.create("Use old, 1.4 version of inline classes mangling scheme");
|
||||
|
||||
|
||||
+1
-1
@@ -215,7 +215,7 @@ class ClassCodegen private constructor(
|
||||
|
||||
generateInnerAndOuterClasses()
|
||||
|
||||
visitor.done()
|
||||
visitor.done(state.generateSmapCopyToAnnotation)
|
||||
jvmSignatureClashDetector.reportErrors(classOrigin)
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -101,6 +101,7 @@ where advanced options include:
|
||||
-Xno-param-assertions Don't generate not-null assertions on parameters of methods accessible from Java
|
||||
-Xno-receiver-assertions Don't generate not-null assertion for extension receiver arguments of platform types
|
||||
-Xno-reset-jar-timestamps Do not reset jar entry timestamps to a fixed date
|
||||
-Xno-source-debug-extension Do not generate @kotlin.jvm.internal.SourceDebugExtension annotation on a class with the copy of SMAP
|
||||
-Xno-unified-null-checks Use pre-1.4 exception types in null checks instead of java.lang.NPE. See KT-22275 for more details
|
||||
-Xnullability-annotations=@<fq.name>:{ignore/strict/warn}
|
||||
Specify behavior for specific Java nullability annotations (provided with fully qualified package name)
|
||||
|
||||
+2
-2
@@ -99,7 +99,7 @@ class ParcelableClinitClassBuilderInterceptorExtension : ClassBuilderInterceptor
|
||||
super.defineClass(origin, version, access, name, signature, superName, interfaces)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
if (!isClinitGenerated && currentClass != null && currentClassName != null) {
|
||||
val descriptor = bindingContext[BindingContext.CLASS, currentClass]
|
||||
if (descriptor != null && declarationOrigin.descriptor == descriptor && descriptor.isParcelize) {
|
||||
@@ -112,7 +112,7 @@ class ParcelableClinitClassBuilderInterceptorExtension : ClassBuilderInterceptor
|
||||
}
|
||||
}
|
||||
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
override fun newMethod(
|
||||
|
||||
+10
-14
@@ -7,34 +7,30 @@ package org.jetbrains.kotlin.android.parcel
|
||||
|
||||
import kotlinx.android.parcel.TypeParceler
|
||||
import org.jetbrains.kotlin.android.parcel.ParcelableResolveExtension.Companion.createMethod
|
||||
import org.jetbrains.kotlin.android.parcel.serializers.*
|
||||
import org.jetbrains.kotlin.android.parcel.ParcelableSyntheticComponent.ComponentKind.*
|
||||
import org.jetbrains.kotlin.android.parcel.serializers.*
|
||||
import org.jetbrains.kotlin.android.parcel.serializers.ParcelableExtensionBase.Companion.FILE_DESCRIPTOR_FQNAME
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.codegen.*
|
||||
import org.jetbrains.kotlin.codegen.FunctionGenerationStrategy.CodegenBased
|
||||
import org.jetbrains.kotlin.codegen.context.ClassContext
|
||||
import org.jetbrains.kotlin.codegen.extensions.ExpressionCodegenExtension
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin
|
||||
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature
|
||||
import org.jetbrains.kotlin.codegen.ExpressionCodegen
|
||||
import org.jetbrains.kotlin.codegen.FunctionGenerationStrategy.CodegenBased
|
||||
import org.jetbrains.kotlin.codegen.ImplementationBodyCodegen
|
||||
import org.jetbrains.kotlin.codegen.OwnerKind
|
||||
import org.jetbrains.kotlin.codegen.context.ClassContext
|
||||
import org.jetbrains.kotlin.codegen.writeSyntheticClassMetadata
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.descriptors.impl.ClassDescriptorImpl
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.KtElement
|
||||
import org.jetbrains.kotlin.resolve.BindingContext
|
||||
import org.jetbrains.kotlin.resolve.DescriptorFactory
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.builtIns
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
|
||||
import org.jetbrains.kotlin.resolve.descriptorUtil.module
|
||||
import org.jetbrains.kotlin.resolve.inline.InlineUtil
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOrigin
|
||||
import org.jetbrains.kotlin.resolve.jvm.diagnostics.JvmDeclarationOriginKind
|
||||
import org.jetbrains.kotlin.resolve.jvm.jvmSignature.JvmMethodSignature
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope
|
||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
@@ -320,7 +316,7 @@ open class ParcelableCodegenExtension : ParcelableExtensionBase, ExpressionCodeg
|
||||
writeNewArrayMethod(codegenForCreator, parcelableClass, parcelableCreatorClassType, creatorClass, parcelerObject)
|
||||
writeCreateFromParcel(codegenForCreator, parcelableClass, parcelableCreatorClassType, creatorClass, parcelClassType, parcelAsmType, parcelerObject, properties)
|
||||
|
||||
classBuilderForCreator.done()
|
||||
classBuilderForCreator.done(codegen.state.generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
private fun writeCreatorConstructor(codegen: ImplementationBodyCodegen, creatorClass: ClassDescriptor, creatorAsmType: Type) {
|
||||
@@ -408,4 +404,4 @@ internal fun getTypeParcelers(annotations: Annotations): List<TypeParcelerMappin
|
||||
}
|
||||
|
||||
return serializers
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -78,7 +78,7 @@ abstract class AbstractAndroidOnDestroyClassBuilderInterceptorExtension : ClassB
|
||||
super.defineClass(origin, version, access, name, signature, superName, interfaces)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
if (hasCache && !hasOnDestroy) {
|
||||
val mv = newMethod(
|
||||
JvmDeclarationOrigin.NO_ORIGIN, Opcodes.ACC_PUBLIC or Opcodes.ACC_SYNTHETIC, ON_DESTROY_METHOD_NAME, "()V",
|
||||
@@ -91,7 +91,7 @@ abstract class AbstractAndroidOnDestroyClassBuilderInterceptorExtension : ClassB
|
||||
mv.visitMaxs(1, 1)
|
||||
mv.visitEnd()
|
||||
}
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
override fun newMethod(
|
||||
|
||||
+2
-2
@@ -172,7 +172,7 @@ class JvmAbiClassBuilderInterceptor : ClassBuilderInterceptorExtension {
|
||||
}
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
// Remove local or anonymous classes unless they are in the scope of an inline function and
|
||||
// strip non-inline methods from all other classes.
|
||||
when {
|
||||
@@ -185,7 +185,7 @@ class JvmAbiClassBuilderInterceptor : ClassBuilderInterceptorExtension {
|
||||
abiClassInfo[internalName] = AbiClassInfo.Stripped(methodInfos)
|
||||
}
|
||||
}
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
private val isWhenMappingClass: Boolean
|
||||
|
||||
+1
-1
@@ -762,7 +762,7 @@ internal fun createSingletonLambda(
|
||||
}
|
||||
|
||||
writeSyntheticClassMetadata(lambdaClassBuilder, lambdaCodegen.state, false)
|
||||
lambdaClassBuilder.done()
|
||||
lambdaClassBuilder.done(lambdaCodegen.state.generateSmapCopyToAnnotation)
|
||||
|
||||
return lambdaType
|
||||
}
|
||||
|
||||
+2
-2
@@ -81,7 +81,7 @@ class ParcelizeClinitClassBuilderInterceptorExtension : ClassBuilderInterceptorE
|
||||
super.defineClass(origin, version, access, name, signature, superName, interfaces)
|
||||
}
|
||||
|
||||
override fun done() {
|
||||
override fun done(generateSmapCopyToAnnotation: Boolean) {
|
||||
if (!isClinitGenerated && currentClass != null && currentClassName != null) {
|
||||
val descriptor = bindingContext[BindingContext.CLASS, currentClass]
|
||||
if (descriptor != null && declarationOrigin.descriptor == descriptor && descriptor.isParcelize) {
|
||||
@@ -94,7 +94,7 @@ class ParcelizeClinitClassBuilderInterceptorExtension : ClassBuilderInterceptorE
|
||||
}
|
||||
}
|
||||
|
||||
super.done()
|
||||
super.done(generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
override fun newMethod(
|
||||
|
||||
+1
-1
@@ -340,7 +340,7 @@ open class ParcelizeCodegenExtension : ParcelizeExtensionBase, ExpressionCodegen
|
||||
parcelAsmType, parcelerObject, properties
|
||||
)
|
||||
|
||||
classBuilderForCreator.done()
|
||||
classBuilderForCreator.done(codegen.state.generateSmapCopyToAnnotation)
|
||||
}
|
||||
|
||||
private fun writeCreatorConstructor(codegen: ImplementationBodyCodegen, creatorClass: ClassDescriptor, creatorAsmType: Type) {
|
||||
|
||||
Reference in New Issue
Block a user