File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -20,6 +20,10 @@ func SideEffectFree(info *types.Info, expr ast.Expr) bool {
2020 // whitelist to be on the conservative side.
2121 // Can be extended as needed.
2222
23+ if expr == nil {
24+ return true
25+ }
26+
2327 switch expr := expr .(type ) {
2428 case * ast.StarExpr :
2529 return SideEffectFree (info , expr .X )
@@ -31,6 +35,11 @@ func SideEffectFree(info *types.Info, expr ast.Expr) bool {
3135 SideEffectFree (info , expr .X )
3236 case * ast.BasicLit , * ast.Ident :
3337 return true
38+ case * ast.SliceExpr :
39+ return SideEffectFree (info , expr .X ) &&
40+ SideEffectFree (info , expr .Low ) &&
41+ SideEffectFree (info , expr .High ) &&
42+ SideEffectFree (info , expr .Max )
3443 case * ast.IndexExpr :
3544 return SideEffectFree (info , expr .X ) &&
3645 SideEffectFree (info , expr .Index )
You can’t perform that action at this time.
0 commit comments