Skip to content

Commit

Permalink
Merge #11442
Browse files Browse the repository at this point in the history
11442: Don't import types referenced from local variables r=iwahbe a=iwahbe

Don't import types if the type is only referenced in a scoped traversal (`foo.bar`), not named directly.

Part of #11427
Relates to #8324


Co-authored-by: Ian Wahbe <ian@wahbe.com>
  • Loading branch information
bors[bot] and iwahbe committed Nov 23, 2022
2 parents 847effd + 2463846 commit d6b79be
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
10 changes: 7 additions & 3 deletions pkg/codegen/go/gen_program.go
Expand Up @@ -447,12 +447,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)
}
Expand Down
1 change: 0 additions & 1 deletion pkg/codegen/testing/test/program_driver.go
Expand Up @@ -57,7 +57,6 @@ var PulumiPulumiProgramTests = []ProgramTest{
{
Directory: "assets-archives",
Description: "Assets and archives",
SkipCompile: codegen.NewStringSet("go"),
},
{
Directory: "synthetic-resource-properties",
Expand Down
@@ -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"
Expand Down

0 comments on commit d6b79be

Please sign in to comment.