lang: ast: Remove redundant nil check

From the Go specification [1]:

  "1. ... For a nil slice, the number of iterations is 0."

Therefore, an additional nil check for around the loop is unnecessary.

[1]: https://go.dev/ref/spec#For_range

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
Eng Zer Jun
2024-02-09 04:31:00 +08:00
parent edf47a1737
commit b09b21e939

View File

@@ -4586,13 +4586,11 @@ func (obj *StmtInclude) Apply(fn func(interfaces.Node) error) error {
return err return err
} }
} }
if obj.Args != nil {
for _, x := range obj.Args { for _, x := range obj.Args {
if err := x.Apply(fn); err != nil { if err := x.Apply(fn); err != nil {
return err return err
} }
} }
}
return fn(obj) return fn(obj)
} }
@@ -4603,13 +4601,11 @@ func (obj *StmtInclude) Init(data *interfaces.Data) error {
return fmt.Errorf("include name is empty") return fmt.Errorf("include name is empty")
} }
if obj.Args != nil {
for _, x := range obj.Args { for _, x := range obj.Args {
if err := x.Init(data); err != nil { if err := x.Init(data); err != nil {
return err return err
} }
} }
}
return nil return nil
} }
@@ -4618,7 +4614,6 @@ func (obj *StmtInclude) Init(data *interfaces.Data) error {
// on any child elements and builds the new node with those new node contents. // on any child elements and builds the new node with those new node contents.
func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) { func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) {
args := []interfaces.Expr{} args := []interfaces.Expr{}
if obj.Args != nil {
for _, x := range obj.Args { for _, x := range obj.Args {
interpolated, err := x.Interpolate() interpolated, err := x.Interpolate()
if err != nil { if err != nil {
@@ -4626,7 +4621,6 @@ func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) {
} }
args = append(args, interpolated) args = append(args, interpolated)
} }
}
orig := obj orig := obj
if obj.orig != nil { // preserve the original pointer (the identifier!) if obj.orig != nil { // preserve the original pointer (the identifier!)
@@ -4645,7 +4639,6 @@ func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) {
func (obj *StmtInclude) Copy() (interfaces.Stmt, error) { func (obj *StmtInclude) Copy() (interfaces.Stmt, error) {
copied := false copied := false
args := []interfaces.Expr{} args := []interfaces.Expr{}
if obj.Args != nil {
for _, x := range obj.Args { for _, x := range obj.Args {
cp, err := x.Copy() cp, err := x.Copy()
if err != nil { if err != nil {
@@ -4656,7 +4649,6 @@ func (obj *StmtInclude) Copy() (interfaces.Stmt, error) {
} }
args = append(args, cp) args = append(args, cp)
} }
}
// TODO: is this necessary? (I doubt it even gets used.) // TODO: is this necessary? (I doubt it even gets used.)
orig := obj orig := obj
@@ -4776,13 +4768,11 @@ func (obj *StmtInclude) SetScope(scope *interfaces.Scope) error {
} }
// make sure to propagate the scope to our input args! // make sure to propagate the scope to our input args!
if obj.Args != nil {
for _, x := range obj.Args { for _, x := range obj.Args {
if err := x.SetScope(scope, map[string]interfaces.Expr{}); err != nil { if err := x.SetScope(scope, map[string]interfaces.Expr{}); err != nil {
return err return err
} }
} }
}
for i := len(scope.Chain) - 1; i >= 0; i-- { // reverse order for i := len(scope.Chain) - 1; i >= 0; i-- { // reverse order
x, ok := scope.Chain[i].(*StmtInclude) x, ok := scope.Chain[i].(*StmtInclude)