static bool RenderConst(WasmRenderContext& c, AstConst& cst) { if (!c.buffer.append('(')) return false; if (!RenderValType(c, cst.val().type())) return false; if (!c.buffer.append(".const ")) return false; switch (ToExprType(cst.val().type())) { case ExprType::I32: if (!RenderInt32(c, (uint32_t)cst.val().i32())) return false; break; case ExprType::I64: if (!RenderInt64(c, (uint32_t)cst.val().i64())) return false; break; case ExprType::F32: if (!RenderDouble(c, (double)cst.val().f32())) return false; break; case ExprType::F64: if (!RenderDouble(c, cst.val().f64())) return false; break; default: return false; } if (!c.buffer.append(")")) return false; return true; }
static bool RenderConst(WasmRenderContext& c, AstConst& cst) { if (!RenderIndent(c)) return false; MAP_AST_EXPR(c, cst); if (!RenderValType(c, cst.val().type())) return false; if (!c.buffer.append(".const ")) return false; switch (ToExprType(cst.val().type())) { case ExprType::I32: return RenderInt32(c, (int32_t)cst.val().i32()); case ExprType::I64: return RenderInt64(c, (int64_t)cst.val().i64()); case ExprType::F32: return RenderFloat32(c, cst.val().f32()); case ExprType::F64: return RenderDouble(c, cst.val().f64()); default: break; } return false; }