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,11 +4586,9 @@ func (obj *StmtInclude) Apply(fn func(interfaces.Node) error) error {
return err
}
}
if obj.Args != nil {
for _, x := range obj.Args {
if err := x.Apply(fn); err != nil {
return err
}
for _, x := range obj.Args {
if err := x.Apply(fn); err != nil {
return err
}
}
return fn(obj)
@@ -4603,11 +4601,9 @@ func (obj *StmtInclude) Init(data *interfaces.Data) error {
return fmt.Errorf("include name is empty")
}
if obj.Args != nil {
for _, x := range obj.Args {
if err := x.Init(data); err != nil {
return err
}
for _, x := range obj.Args {
if err := x.Init(data); err != nil {
return err
}
}
return nil
@@ -4618,14 +4614,12 @@ func (obj *StmtInclude) Init(data *interfaces.Data) error {
// on any child elements and builds the new node with those new node contents.
func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) {
args := []interfaces.Expr{}
if obj.Args != nil {
for _, x := range obj.Args {
interpolated, err := x.Interpolate()
if err != nil {
return nil, err
}
args = append(args, interpolated)
for _, x := range obj.Args {
interpolated, err := x.Interpolate()
if err != nil {
return nil, err
}
args = append(args, interpolated)
}
orig := obj
@@ -4645,17 +4639,15 @@ func (obj *StmtInclude) Interpolate() (interfaces.Stmt, error) {
func (obj *StmtInclude) Copy() (interfaces.Stmt, error) {
copied := false
args := []interfaces.Expr{}
if obj.Args != nil {
for _, x := range obj.Args {
cp, err := x.Copy()
if err != nil {
return nil, err
}
if cp != x { // must have been copied, or pointer would be same
copied = true
}
args = append(args, cp)
for _, x := range obj.Args {
cp, err := x.Copy()
if err != nil {
return nil, err
}
if cp != x { // must have been copied, or pointer would be same
copied = true
}
args = append(args, cp)
}
// TODO: is this necessary? (I doubt it even gets used.)
@@ -4776,11 +4768,9 @@ func (obj *StmtInclude) SetScope(scope *interfaces.Scope) error {
}
// make sure to propagate the scope to our input args!
if obj.Args != nil {
for _, x := range obj.Args {
if err := x.SetScope(scope, map[string]interfaces.Expr{}); err != nil {
return err
}
for _, x := range obj.Args {
if err := x.SetScope(scope, map[string]interfaces.Expr{}); err != nil {
return err
}
}