[fidl][go] Table presence fields are always even

Now that all tables have I_unknownData fields, createMarshaler
can safely assume that all table presence fields are always
even numbered.

Change-Id: I45aa4e75d55d61d6a0cce1361e8676b5ec119f05
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/go/+/439060
Reviewed-by: Pascal Perez <pascallouis@google.com>
Commit-Queue: Felix Zhu <fcz@google.com>
diff --git a/src/syscall/zx/fidl/encoding_new.go b/src/syscall/zx/fidl/encoding_new.go
index 52c4480..1656098 100644
--- a/src/syscall/zx/fidl/encoding_new.go
+++ b/src/syscall/zx/fidl/encoding_new.go
@@ -307,20 +307,14 @@
 		presenceOffsets []uintptr
 	)
 
-	// If a table has an I_unknownData field, then all presence fields must be
-	// odd-numbered. If there is no I_unknownData field, then all presence
-	// fields must be even numbered
-	presenceFieldOddness := 1
-
 	// - structs, unions, and xunions have fields one after the other;
 	// - tables have a field, followed by a bool presence indicator, etc.
 	for index, field := range dataFields(typ) {
 		if (kind == xunionTag || kind == tableTag) && isUnknownDataField(field.Name) {
-			presenceFieldOddness = 0
 			continue
 		}
 
-		if kind == tableTag && index%2 == presenceFieldOddness {
+		if kind == tableTag && index%2 == 0 {
 			// Presence field
 			if field.Type.Kind() != reflect.Bool {
 				return nil, errors.New("incorrect presence field on " + nicefmt(typ))