diff --git a/parser/types.go b/parser/types.go index 1111450..39fb5ef 100644 --- a/parser/types.go +++ b/parser/types.go @@ -130,6 +130,8 @@ func resolveConstants(classes ClassMap, cpools PoolMap, constants *[]constant, r if *resolved { return nil } + *constants = nil + *resolved = true for _, c := range *constants { if err := ResolveConstants(classes, cpools, int(c.classID)); err != nil { return fmt.Errorf("unable to resolve contants: %w", err) @@ -146,8 +148,6 @@ func resolveConstants(classes ClassMap, cpools PoolMap, constants *[]constant, r return fmt.Errorf("unable to resolve constants for field %s: %w", c.field, err) } } - *constants = nil - *resolved = true return nil }