summaryrefslogtreecommitdiff
path: root/src/tools/fuzzing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/fuzzing.h')
-rw-r--r--src/tools/fuzzing.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/tools/fuzzing.h b/src/tools/fuzzing.h
index fe5191475..d0c92690a 100644
--- a/src/tools/fuzzing.h
+++ b/src/tools/fuzzing.h
@@ -257,7 +257,18 @@ private:
Literal tweak(Literal value);
Literal makeLiteral(Type type);
Expression* makeRefFuncConst(Type type);
+
+ // Emit a constant expression for a given type, as best we can. We may not be
+ // able to emit a literal Const, like say if the type is a function reference
+ // then we may emit a RefFunc, but also we may have other requirements, like
+ // we may add a GC cast to fixup the type.
Expression* makeConst(Type type);
+
+ // Like makeConst, but for a type that is a reference type. One function
+ // handles basic types, and the other compound ones.
+ Expression* makeConstBasicRef(Type type);
+ Expression* makeConstCompoundRef(Type type);
+
Expression* buildUnary(const UnaryArgs& args);
Expression* makeUnary(Type type);
Expression* buildBinary(const BinaryArgs& args);