diff --git a/lang/idl/export.cc b/lang/idl/export.cc index b8dd8d7..8324e42 100644 --- a/lang/idl/export.cc +++ b/lang/idl/export.cc @@ -59,7 +59,7 @@ namespace if (type.getName() == "/std/string") m_front = "string"; else - m_front = "sequence<" + idl_type_identifier(type.getIndirection(), m_exporter, m_opaque_as_any) + ">"; + m_front = "vector__"+type.getIndirection().getBasename() + "_"; return true; } @@ -133,6 +133,8 @@ namespace m_stream << m_indent << "};\n"; + m_stream << m_indent << "typedef sequence<"< vector__" << type.getBasename() << "_;\n"; + return true; } bool IDLExportVisitor::visit_(Compound const& type, Field const& field) @@ -372,6 +374,7 @@ bool IDLExport::save } } + // typedefs come after the non-alias stuff it seems... if (type.isAlias()) { // IDL has C++-like rules for struct and enums. Do not alias a "struct A" to "A";