diff --git a/internal/goose/analyze.go b/internal/goose/analyze.go index f13f278..d4399b7 100644 --- a/internal/goose/analyze.go +++ b/internal/goose/analyze.go @@ -78,7 +78,7 @@ func solve(mc *providerSetCache, out types.Type, given []types.Type, sets []symr } for _, in := range trail[:len(trail)-1] { if types.Identical(typ, in.Type) { - // TODO(light): describe cycle + // TODO(light): Describe cycle. return fmt.Errorf("cycle for %s", types.TypeString(typ, nil)) } } @@ -88,7 +88,7 @@ func solve(mc *providerSetCache, out types.Type, given []types.Type, sets []symr if len(trail) == 1 { return fmt.Errorf("no provider found for %s (output of injector)", types.TypeString(typ, nil)) } - // TODO(light): give name of provider + // TODO(light): Give name of provider. return fmt.Errorf("no provider found for %s (required by provider of %s)", types.TypeString(typ, nil), types.TypeString(trail[len(trail)-2].Type, nil)) } if !types.Identical(p.Out, typ) { @@ -100,7 +100,7 @@ func solve(mc *providerSetCache, out types.Type, given []types.Type, sets []symr return nil } for _, a := range p.Args { - // TODO(light): this will discard grown trail arrays. + // TODO(light): This will discard grown trail arrays. if err := visit(append(trail, a)); err != nil { return err } @@ -198,7 +198,7 @@ func buildProviderMap(mc *providerSetCache, sets []symref) (*typeutil.Map, error if prev := pm.At(b.Iface); prev != nil { pos := mc.fset.Position(b.Pos) typ := types.TypeString(b.Iface, nil) - // TODO(light): error message for conflicting with another interface binding will point at provider instead of binding. + // TODO(light): Error message for conflicting with another interface binding will point at provider instead of binding. prevPos := mc.fset.Position(prev.(*Provider).Pos) if b.from.importPath == "" { // Provider set is imported directly by injector. diff --git a/internal/goose/goose.go b/internal/goose/goose.go index 43041f1..31743fe 100644 --- a/internal/goose/goose.go +++ b/internal/goose/goose.go @@ -90,8 +90,7 @@ func Generate(bctx *build.Context, wd string, pkg string) ([]byte, error) { } func newLoaderConfig(bctx *build.Context, wd string, inject bool) *loader.Config { - // TODO(light): allow errors - // TODO(light): stop errors from printing to stderr + // TODO(light): Stop errors from printing to stderr. conf := &loader.Config{ Build: bctx, ParserMode: parser.ParseComments, @@ -218,7 +217,7 @@ func (g *gen) inject(mc *providerSetCache, name string, sig *types.Signature, se } outTypeString := types.TypeString(outType, g.qualifyPkg) zv := zeroValue(outType, g.qualifyPkg) - // Set up local variables + // Set up local variables. paramNames := make([]string, params.Len()) localNames := make([]string, len(calls)) cleanupNames := make([]string, len(calls)) @@ -333,7 +332,7 @@ func (g *gen) inject(mc *providerSetCache, name string, sig *types.Signature, se if returnsCleanup { g.p(", nil") } - // TODO(light): give information about failing provider + // TODO(light): Give information about failing provider. g.p(", err\n") g.p("\t}\n") } @@ -376,7 +375,7 @@ func (g *gen) qualifyImport(path string) string { if path == g.currPackage { return "" } - // TODO(light): this is depending on details of the current loader. + // TODO(light): This is depending on details of the current loader. const vendorPart = "vendor/" unvendored := path if i := strings.LastIndex(path, vendorPart); i != -1 && (i == 0 || path[i-1] == '/') { @@ -385,7 +384,7 @@ func (g *gen) qualifyImport(path string) string { if name := g.imports[unvendored]; name != "" { return name } - // TODO(light): use parts of import path to disambiguate. + // TODO(light): Use parts of import path to disambiguate. name := disambiguate(g.prog.Package(path).Pkg.Name(), func(n string) bool { // Don't let an import take the "err" name. That's annoying. return n == "err" || g.nameInFileScope(n) @@ -447,7 +446,7 @@ func typeVariableName(t types.Type) string { if !ok { return "" } - // TODO(light): include package name when appropriate + // TODO(light): Include package name when appropriate. return unexport(tn.Obj().Name()) } diff --git a/internal/goose/goose_test.go b/internal/goose/goose_test.go index 7a22c72..e745a3f 100644 --- a/internal/goose/goose_test.go +++ b/internal/goose/goose_test.go @@ -25,7 +25,7 @@ func TestGoose(t *testing.T) { t.Fatal(err) } const testRoot = "testdata" - testdataEnts, err := ioutil.ReadDir(testRoot) // ReadDir sorts by name + testdataEnts, err := ioutil.ReadDir(testRoot) // ReadDir sorts by name. if err != nil { t.Fatal(err) } @@ -473,7 +473,7 @@ func runGo(bctx *build.Context, args ...string) error { } else { c.Env = append(c.Env, "CGO_ENABLED=0") } - // TODO(someday): set -compiler flag if needed. + // TODO(someday): Set -compiler flag if needed. out, err := c.CombinedOutput() if err != nil { if len(out) > 0 { diff --git a/internal/goose/parse.go b/internal/goose/parse.go index ee63138..3f03180 100644 --- a/internal/goose/parse.go +++ b/internal/goose/parse.go @@ -328,7 +328,7 @@ func processDeclDirectives(fctx findContext, sets map[string]*ProviderSet, scope } var providerSetName string if args := p.args(); len(args) == 1 { - // TODO(light): validate identifier + // TODO(light): Validate identifier. providerSetName = args[0] } else if len(args) > 1 { return fmt.Errorf("%v: goose:provide takes at most one argument", fctx.fset.Position(p.pos)) @@ -360,7 +360,7 @@ func processDeclDirectives(fctx findContext, sets map[string]*ProviderSet, scope return fmt.Errorf("%v: only functions and structs can be marked as providers", fctx.fset.Position(p.pos)) } if len(decl.Specs) != 1 { - // TODO(light): tighten directive extraction to associate with particular specs. + // TODO(light): Tighten directive extraction to associate with particular specs. return fmt.Errorf("%v: only functions and structs can be marked as providers", fctx.fset.Position(p.pos)) } typeName := fctx.typeInfo.ObjectOf(decl.Specs[0].(*ast.TypeSpec).Name).(*types.TypeName) @@ -533,7 +533,7 @@ type symref struct { } func parseSymbolRef(r *importResolver, ref string, s *types.Scope, pkg string, pos token.Pos) (symref, error) { - // TODO(light): verify that provider set name is an identifier before returning + // TODO(light): Verify that provider set name is an identifier before returning. i := strings.LastIndexByte(ref, '.') if i == -1 { @@ -698,12 +698,12 @@ func extractDirectives(d []directive, cg *ast.CommentGroup) []directive { d = append(d, directive{ kind: line[:i], line: strings.TrimSpace(line[i+1:]), - pos: cg.Pos(), // TODO(light): more precise position + pos: cg.Pos(), // TODO(light): More precise position. }) } else { d = append(d, directive{ kind: line, - pos: cg.Pos(), // TODO(light): more precise position + pos: cg.Pos(), // TODO(light): More precise position. }) } } @@ -749,7 +749,7 @@ func (d directive) args() []string { for i, r := range d.line { switch state { case 0: - // Argument boundary + // Argument boundary. switch { case r == '"': start = i @@ -759,7 +759,7 @@ func (d directive) args() []string { state = 1 } case 1: - // In token + // In token. switch { case unicode.IsSpace(r): args = append(args, d.line[start:i]) @@ -769,7 +769,7 @@ func (d directive) args() []string { state = 2 } case 2: - // In quotes + // In quotes. switch { case r == '"': state = 1 @@ -791,7 +791,7 @@ func (d directive) args() []string { // isInjectFile reports whether a given file is an injection template. func isInjectFile(f *ast.File) bool { - // TODO(light): better determination + // TODO(light): Better determination. for _, cg := range f.Comments { text := cg.Text() if strings.HasPrefix(text, "+build") && strings.Contains(text, "gooseinject") {