From 246384633978f80c466297a70e8cb55e0b7031de Mon Sep 17 00:00:00 2001 From: Ian Wahbe Date: Tue, 22 Nov 2022 16:35:00 -0800 Subject: [PATCH] Don't import types referenced from local variables --- pkg/codegen/go/gen_program.go | 10 +++++++--- pkg/codegen/testing/test/program_driver.go | 1 - .../testdata/assets-archives-pp/go/assets-archives.go | 1 - 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pkg/codegen/go/gen_program.go b/pkg/codegen/go/gen_program.go index 93268790320d..b00452133181 100644 --- a/pkg/codegen/go/gen_program.go +++ b/pkg/codegen/go/gen_program.go @@ -449,12 +449,16 @@ func (g *generator) collectConvertImports( // // Fully solving this is deferred for later: // TODO[pulumi/pulumi#8324]. - if expr, ok := call.Args[0].(*model.TemplateExpression); ok { - if lit, ok := expr.Parts[0].(*model.LiteralValueExpression); ok && - model.StringType.AssignableFrom(lit.Type()) && + switch arg0 := call.Args[0].(type) { + case *model.TemplateExpression: + if lit, ok := arg0.Parts[0].(*model.LiteralValueExpression); ok && call.Type().AssignableFrom(lit.Type()) { return } + case *model.ScopeTraversalExpression: + if call.Type().AssignableFrom(arg0.Type()) { + return + } } g.collectTypeImports(program, schemaType, pulumiImports) } diff --git a/pkg/codegen/testing/test/program_driver.go b/pkg/codegen/testing/test/program_driver.go index 23645bc96ed4..de1381e7a5ea 100644 --- a/pkg/codegen/testing/test/program_driver.go +++ b/pkg/codegen/testing/test/program_driver.go @@ -57,7 +57,6 @@ var PulumiPulumiProgramTests = []ProgramTest{ { Directory: "assets-archives", Description: "Assets and archives", - SkipCompile: codegen.NewStringSet("go"), }, { Directory: "synthetic-resource-properties", diff --git a/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go b/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go index 20ff72edd51d..aee1f238ced7 100644 --- a/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go +++ b/pkg/codegen/testing/test/testdata/assets-archives-pp/go/assets-archives.go @@ -1,7 +1,6 @@ package main import ( - "github.com/pulumi/pulumi-aws/sdk/v5/go/aws" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda" "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"