public AnonymousObjectTransformer( @NotNull String objectInternalName, @NotNull InliningContext inliningContext, boolean isSameModule, @NotNull Type newLambdaType) { this.isSameModule = isSameModule; this.state = inliningContext.state; this.typeMapper = state.getTypeMapper(); this.inliningContext = inliningContext; this.oldObjectType = Type.getObjectType(objectInternalName); this.newLambdaType = newLambdaType; reader = InlineCodegenUtil.buildClassReaderByInternalName(state, objectInternalName); transformationResult = InlineResult.create(); }
/* * * @param node * @param parameters * @param inliningContext * @param lambdaType - in case on lambda 'invoke' inlining */ public MethodInliner( @NotNull MethodNode node, @NotNull Parameters parameters, @NotNull InliningContext parent, @NotNull FieldRemapper nodeRemapper, boolean isSameModule, @NotNull String errorPrefix) { this.node = node; this.parameters = parameters; this.inliningContext = parent; this.nodeRemapper = nodeRemapper; this.isSameModule = isSameModule; this.errorPrefix = errorPrefix; this.typeMapper = parent.state.getTypeMapper(); this.result = InlineResult.create(); }