summaryrefslogtreecommitdiff
path: root/src/ir
diff options
context:
space:
mode:
Diffstat (limited to 'src/ir')
-rw-r--r--src/ir/ExpressionAnalyzer.cpp88
-rw-r--r--src/ir/ExpressionManipulator.cpp60
-rw-r--r--src/ir/branch-utils.h62
-rw-r--r--src/ir/iteration.h34
-rw-r--r--src/ir/properties.h32
-rw-r--r--src/ir/type-updating.cpp30
6 files changed, 153 insertions, 153 deletions
diff --git a/src/ir/ExpressionAnalyzer.cpp b/src/ir/ExpressionAnalyzer.cpp
index db972e707..c6b24beaa 100644
--- a/src/ir/ExpressionAnalyzer.cpp
+++ b/src/ir/ExpressionAnalyzer.cpp
@@ -169,64 +169,64 @@ bool ExpressionAnalyzer::flexibleEqual(Expression* left,
WASM_UNUSED(castRight);
// Handle each type of field, comparing it appropriately.
-#define DELEGATE_FIELD_CHILD(id, name) \
- leftStack.push_back(castLeft->name); \
- rightStack.push_back(castRight->name);
+#define DELEGATE_FIELD_CHILD(id, field) \
+ leftStack.push_back(castLeft->field); \
+ rightStack.push_back(castRight->field);
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (auto* child : castLeft->name) { \
+ for (auto* child : castLeft->field) { \
leftStack.push_back(child); \
} \
- for (auto* child : castRight->name) { \
+ for (auto* child : castRight->field) { \
rightStack.push_back(child); \
}
-#define COMPARE_FIELD(name) \
- if (castLeft->name != castRight->name) { \
+#define COMPARE_FIELD(field) \
+ if (castLeft->field != castRight->field) { \
return false; \
}
-#define DELEGATE_FIELD_INT(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_NAME(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_TYPE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name) COMPARE_FIELD(name)
-#define DELEGATE_FIELD_ADDRESS(id, name) COMPARE_FIELD(name)
+#define DELEGATE_FIELD_INT(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_NAME(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_TYPE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field) COMPARE_FIELD(field)
+#define DELEGATE_FIELD_ADDRESS(id, field) COMPARE_FIELD(field)
-#define COMPARE_LIST(name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define COMPARE_LIST(field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (Index i = 0; i < castLeft->name.size(); i++) { \
- if (castLeft->name[i] != castRight->name[i]) { \
+ for (Index i = 0; i < castLeft->field.size(); i++) { \
+ if (castLeft->field[i] != castRight->field[i]) { \
return false; \
} \
}
-#define DELEGATE_FIELD_INT_ARRAY(id, name) COMPARE_LIST(name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name) COMPARE_LIST(name)
+#define DELEGATE_FIELD_INT_ARRAY(id, field) COMPARE_LIST(field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field) COMPARE_LIST(field)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) \
- if (castLeft->name.is() != castRight->name.is()) { \
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) \
+ if (castLeft->field.is() != castRight->field.is()) { \
return false; \
} \
- rightNames[castLeft->name] = castRight->name;
+ rightNames[castLeft->field] = castRight->field;
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) \
- if (!compareNames(castLeft->name, castRight->name)) { \
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) \
+ if (!compareNames(castLeft->field, castRight->field)) { \
return false; \
}
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) \
- if (castLeft->name.size() != castRight->name.size()) { \
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) \
+ if (castLeft->field.size() != castRight->field.size()) { \
return false; \
} \
- for (Index i = 0; i < castLeft->name.size(); i++) { \
- if (!compareNames(castLeft->name[i], castRight->name[i])) { \
+ for (Index i = 0; i < castLeft->field.size(); i++) { \
+ if (!compareNames(castLeft->field[i], castRight->field[i])) { \
return false; \
} \
}
@@ -303,31 +303,31 @@ struct Hasher {
WASM_UNUSED(cast);
// Handle each type of field, comparing it appropriately.
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) \
+#define DELEGATE_FIELD_CHILD(id, field) \
if (visitChildren) { \
- stack.push_back(cast->name); \
+ stack.push_back(cast->field); \
}
-#define HASH_FIELD(name) rehash(digest, cast->name);
+#define HASH_FIELD(field) rehash(digest, cast->field);
-#define DELEGATE_FIELD_INT(id, name) HASH_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) HASH_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) HASH_FIELD(name)
+#define DELEGATE_FIELD_INT(id, field) HASH_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) HASH_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) HASH_FIELD(field)
-#define DELEGATE_FIELD_NAME(id, name) visitNonScopeName(cast->name)
-#define DELEGATE_FIELD_TYPE(id, name) visitType(cast->name);
-#define DELEGATE_FIELD_HEAPTYPE(id, name) visitHeapType(cast->name);
-#define DELEGATE_FIELD_ADDRESS(id, name) visitAddress(cast->name);
+#define DELEGATE_FIELD_NAME(id, field) visitNonScopeName(cast->field)
+#define DELEGATE_FIELD_TYPE(id, field) visitType(cast->field);
+#define DELEGATE_FIELD_HEAPTYPE(id, field) visitHeapType(cast->field);
+#define DELEGATE_FIELD_ADDRESS(id, field) visitAddress(cast->field);
// Note that we only note the scope name, but do not also visit it. That means
// that (block $x) and (block) get the same hash. In other words, we only change
// the hash based on uses of scope names, that is when there is a noticeable
// difference in break targets.
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) noteScopeName(cast->name);
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) noteScopeName(cast->field);
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) visitScopeName(cast->name);
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) visitScopeName(cast->field);
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/ExpressionManipulator.cpp b/src/ir/ExpressionManipulator.cpp
index 8ae3ddc1c..e92efa925 100644
--- a/src/ir/ExpressionManipulator.cpp
+++ b/src/ir/ExpressionManipulator.cpp
@@ -63,44 +63,44 @@ flexibleCopy(Expression* original, Module& wasm, CustomCopier custom) {
WASM_UNUSED(castCopy);
// Handle each type of field, copying it appropriately.
-#define DELEGATE_FIELD_CHILD(id, name) \
- tasks.push_back({castOriginal->name, &castCopy->name});
+#define DELEGATE_FIELD_CHILD(id, field) \
+ tasks.push_back({castOriginal->field, &castCopy->field});
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name) \
- castCopy->name.resize(castOriginal->name.size()); \
- for (Index i = 0; i < castOriginal->name.size(); i++) { \
- tasks.push_back({castOriginal->name[i], &castCopy->name[i]}); \
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field) \
+ castCopy->field.resize(castOriginal->field.size()); \
+ for (Index i = 0; i < castOriginal->field.size(); i++) { \
+ tasks.push_back({castOriginal->field[i], &castCopy->field[i]}); \
}
-#define COPY_FIELD(name) castCopy->name = castOriginal->name;
-
-#define DELEGATE_FIELD_INT(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_LITERAL(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_NAME(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_SIGNATURE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_TYPE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name) COPY_FIELD(name)
-#define DELEGATE_FIELD_ADDRESS(id, name) COPY_FIELD(name)
-
-#define COPY_FIELD_LIST(name) \
- for (Index i = 0; i < castOriginal->name.size(); i++) { \
- castCopy->name[i] = castOriginal->name[i]; \
+#define COPY_FIELD(field) castCopy->field = castOriginal->field;
+
+#define DELEGATE_FIELD_INT(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_LITERAL(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_NAME(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_SIGNATURE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_TYPE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field) COPY_FIELD(field)
+#define DELEGATE_FIELD_ADDRESS(id, field) COPY_FIELD(field)
+
+#define COPY_FIELD_LIST(field) \
+ for (Index i = 0; i < castOriginal->field.size(); i++) { \
+ castCopy->field[i] = castOriginal->field[i]; \
}
-#define COPY_VECTOR(name) \
- castCopy->name.resize(castOriginal->name.size()); \
- COPY_FIELD_LIST(name)
+#define COPY_VECTOR(field) \
+ castCopy->field.resize(castOriginal->field.size()); \
+ COPY_FIELD_LIST(field)
-#define COPY_ARRAY(name) \
- assert(castCopy->name.size() == castOriginal->name.size()); \
- COPY_FIELD_LIST(name)
+#define COPY_ARRAY(field) \
+ assert(castCopy->field.size() == castOriginal->field.size()); \
+ COPY_FIELD_LIST(field)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name) COPY_VECTOR(name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name) COPY_VECTOR(name)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field) COPY_VECTOR(field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field) COPY_VECTOR(field)
-#define DELEGATE_FIELD_INT_ARRAY(id, name) COPY_ARRAY(name)
+#define DELEGATE_FIELD_INT_ARRAY(id, field) COPY_ARRAY(field)
#include "wasm-delegations-fields.def"
diff --git a/src/ir/branch-utils.h b/src/ir/branch-utils.h
index 57bad2fb9..25bfd9255 100644
--- a/src/ir/branch-utils.h
+++ b/src/ir/branch-utils.h
@@ -50,22 +50,22 @@ template<typename T> void operateOnScopeNameUses(Expression* expr, T func) {
auto* cast = expr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
-
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name) func(cast->name);
-
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
+#define DELEGATE_GET_FIELD(id, field) cast->field
+
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field) func(cast->field);
+
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
#include "wasm-delegations-fields.def"
}
@@ -117,21 +117,21 @@ template<typename T> void operateOnScopeNameDefs(Expression* expr, T func) {
auto* cast = expr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name) func(cast->name)
-
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
-#define DELEGATE_FIELD_CHILD_VECTOR(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field) func(cast->field)
+
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
+#define DELEGATE_FIELD_CHILD_VECTOR(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/iteration.h b/src/ir/iteration.h
index 19bc44af1..b3553f1ec 100644
--- a/src/ir/iteration.h
+++ b/src/ir/iteration.h
@@ -79,27 +79,27 @@ public:
auto* cast = parent->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) self->addChild(parent, &cast->name);
+#define DELEGATE_FIELD_CHILD(id, field) self->addChild(parent, &cast->field);
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) \
- if (cast->name) { \
- self->addChild(parent, &cast->name); \
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) \
+ if (cast->field) { \
+ self->addChild(parent, &cast->field); \
}
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
}
diff --git a/src/ir/properties.h b/src/ir/properties.h
index 841d154f7..f111d555f 100644
--- a/src/ir/properties.h
+++ b/src/ir/properties.h
@@ -321,27 +321,27 @@ inline Index getNumChildren(Expression* curr) {
auto* cast = curr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_CHILD(id, name) ret++;
+#define DELEGATE_FIELD_CHILD(id, field) ret++;
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name) \
- if (cast->name) { \
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field) \
+ if (cast->field) { \
ret++; \
}
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_SIGNATURE(id, name)
-#define DELEGATE_FIELD_TYPE(id, name)
-#define DELEGATE_FIELD_HEAPTYPE(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_SIGNATURE(id, field)
+#define DELEGATE_FIELD_TYPE(id, field)
+#define DELEGATE_FIELD_HEAPTYPE(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
diff --git a/src/ir/type-updating.cpp b/src/ir/type-updating.cpp
index 91f74cff5..c69cbe1be 100644
--- a/src/ir/type-updating.cpp
+++ b/src/ir/type-updating.cpp
@@ -131,25 +131,25 @@ void GlobalTypeRewriter::update() {
auto* cast = curr->cast<id>(); \
WASM_UNUSED(cast);
-#define DELEGATE_GET_FIELD(id, name) cast->name
+#define DELEGATE_GET_FIELD(id, field) cast->field
-#define DELEGATE_FIELD_TYPE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_TYPE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_HEAPTYPE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_HEAPTYPE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_SIGNATURE(id, name) cast->name = getNew(cast->name);
+#define DELEGATE_FIELD_SIGNATURE(id, field) cast->field = getNew(cast->field);
-#define DELEGATE_FIELD_CHILD(id, name)
-#define DELEGATE_FIELD_OPTIONAL_CHILD(id, name)
-#define DELEGATE_FIELD_INT(id, name)
-#define DELEGATE_FIELD_INT_ARRAY(id, name)
-#define DELEGATE_FIELD_LITERAL(id, name)
-#define DELEGATE_FIELD_NAME(id, name)
-#define DELEGATE_FIELD_NAME_VECTOR(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE(id, name)
-#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, name)
-#define DELEGATE_FIELD_ADDRESS(id, name)
+#define DELEGATE_FIELD_CHILD(id, field)
+#define DELEGATE_FIELD_OPTIONAL_CHILD(id, field)
+#define DELEGATE_FIELD_INT(id, field)
+#define DELEGATE_FIELD_INT_ARRAY(id, field)
+#define DELEGATE_FIELD_LITERAL(id, field)
+#define DELEGATE_FIELD_NAME(id, field)
+#define DELEGATE_FIELD_NAME_VECTOR(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_DEF(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE(id, field)
+#define DELEGATE_FIELD_SCOPE_NAME_USE_VECTOR(id, field)
+#define DELEGATE_FIELD_ADDRESS(id, field)
#include "wasm-delegations-fields.def"
}