Example #1
0
void wasm::writeSig(raw_ostream &OS, const WasmSignature &Sig) {
  writeU8(OS, WASM_TYPE_FUNC, "signature type");
  writeUleb128(OS, Sig.Params.size(), "param Count");
  for (ValType ParamType : Sig.Params) {
    writeValueType(OS, ParamType, "param type");
  }
  writeUleb128(OS, Sig.Returns.size(), "result Count");
  if (Sig.Returns.size()) {
    writeValueType(OS, Sig.Returns[0], "result type");
  }
}
 virtual bool writeValueTypeTester( Value::ValueType type, size_t numItems, std::string &statement ) {
     return writeValueType( type, numItems, statement );
 }
static void doWriteType(A2PWriter writer, A2PType type){
	switch(type->id){
		case PDB_VALUE_TYPE_HEADER:
			writeValueType(writer);
			break;
		case PDB_VOID_TYPE_HEADER:
			writeVoidType(writer);
			break;
		case PDB_BOOL_TYPE_HEADER:
			writeBoolType(writer);
			break;
		case PDB_INTEGER_TYPE_HEADER:
			writeIntegerType(writer);
			break;
		case PDB_DOUBLE_TYPE_HEADER:
			writeDoubleType(writer);
			break;
		case PDB_STRING_TYPE_HEADER:
			writeStringType(writer);
			break;
		case PDB_SOURCE_LOCATION_TYPE_HEADER:
			writeSourceLocationType(writer);
			break;
		case PDB_NODE_TYPE_HEADER:
			if(((A2PNodeType) type->theType)->declaredAnnotations == NULL){
				writeNodeType(writer, type);
			}else{
				writeAnnotatedNodeType(writer, type);
			}
			break;
		case PDB_TUPLE_TYPE_HEADER:
			writeTupleType(writer, type);
			break;
		case PDB_LIST_TYPE_HEADER:
			writeListType(writer, type);
			break;
		case PDB_SET_TYPE_HEADER:
			writeSetType(writer, type);
			break;
		case PDB_RELATION_TYPE_HEADER:
			writeRelationType(writer, type);
			break;
		case PDB_MAP_TYPE_HEADER:
			writeMapType(writer, type);
			break;
		case PDB_PARAMETER_TYPE_HEADER:
			writeParameterType(writer, type);
			break;
		case PDB_ADT_TYPE_HEADER:
			writeADTType(writer, type);
			break;
		case PDB_CONSTRUCTOR_TYPE_HEADER:
			if(((A2PConstructorType) type->theType)->declaredAnnotations == NULL){
				writeConstructorType(writer, type);
			}else{
				writeAnnotatedConstructorType(writer, type);
			}
			break;
		case PDB_ALIAS_TYPE_HEADER:
			writeAliasType(writer, type);
			break;
		default:
			fprintf(stderr, "Unknown type: %d\n.", type->id);
			exit(1);
	}
}
Example #4
0
void wasm::writeGlobalType(raw_ostream &OS, const WasmGlobalType &Type) {
  // TODO: Update WasmGlobalType to use ValType and remove this cast.
  writeValueType(OS, ValType(Type.Type), "global type");
  writeU8(OS, Type.Mutable, "global mutable");
}