20#using <cli_basetypes.dll>
24#include "osl/diagnose.h"
25#include "com/sun/star/reflection/XConstantTypeDescription.hpp"
26#include "com/sun/star/reflection/XConstantsTypeDescription.hpp"
27#include "com/sun/star/reflection/XEnumTypeDescription.hpp"
28#include "com/sun/star/reflection/XInterfaceTypeDescription2.hpp"
29#include "com/sun/star/reflection/XCompoundTypeDescription.hpp"
30#include "com/sun/star/reflection/XServiceTypeDescription2.hpp"
31#include "com/sun/star/reflection/XSingletonTypeDescription2.hpp"
32#include "com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp"
45 static ::System::String ^
sUnoAny =
"any";
46 static ::System::String ^
sUnoBool =
"boolean";
52 static ::System::String ^
sUnoULong =
"unsigned long";
61 static System::String^
sObject =
"System.Object";
62 static System::String^
sType =
"System.Type";
63 static System::String^
sUnoidl =
"unoidl.";
64 static System::String^
sVoid =
"System.Void";
65 static System::String^
sAny =
"uno.Any";
66 static System::String^
sBoolean =
"System.Boolean";
67 static System::String^
sChar =
"System.Char";
68 static System::String^
sByte =
"System.Byte";
69 static System::String^
sInt16 =
"System.Int16";
70 static System::String^
sUInt16 =
"System.UInt16";
71 static System::String^
sInt32 =
"System.Int32";
72 static System::String^
sUInt32 =
"System.UInt32";
73 static System::String^
sInt64 =
"System.Int64";
74 static System::String^
sUInt64 =
"System.UInt64";
75 static System::String^
sString =
"System.String";
76 static System::String^
sSingle =
"System.Single";
77 static System::String^
sDouble =
"System.Double";
78 static System::String^
sComma = gcnew System::String(
",");
85 return gcnew ::System::String(
86 reinterpret_cast<wchar_t const *
>(ustr.getStr()), 0, ustr.getLength());
92 OSL_ASSERT(
sizeof (
wchar_t) ==
sizeof (
sal_Unicode) );
93 pin_ptr<const wchar_t> chars = PtrToStringChars( str );
94 return OUString(
reinterpret_cast<sal_Unicode const *
>(chars), str->Length);
100css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
104(::System::Reflection::MethodAttributes)
105 (::System::Reflection::MethodAttributes::Public |
106 ::System::Reflection::MethodAttributes::HideBySig |
107 ::System::Reflection::MethodAttributes::SpecialName |
108 ::System::Reflection::MethodAttributes::RTSpecialName
126 const css::uno::Reference<css::reflection::XServiceConstructorDescription> & ctorDesc);
128 const css::uno::Reference< css::reflection::XInterfaceMethodTypeDescription >& xMethod );
130 const css::uno::Sequence<css::uno::Reference<
131 css::reflection::XCompoundTypeDescription > >& seq_exceptionsTd );
147 const css::uno::Sequence<
148 css::uno::Reference<css::reflection::XCompoundTypeDescription> > & seqExceptionsTd);
154 css::reflection::XInterfaceTypeDescription2 *
m_xType;
163 css::reflection::XCompoundTypeDescription *
m_xType;
170 ::System::Reflection::ConstructorInfo ^
m_ctor;
189 css::reflection::XServiceTypeDescription2 *
m_xType;
198 css::reflection::XSingletonTypeDescription2 *
m_xType;
209 ::System::String ^ cli_name,
bool throw_exc );
212 css::reflection::XConstantTypeDescription >
const & xType );
215 css::reflection::XConstantsTypeDescription >
const & xType );
218 css::reflection::XEnumTypeDescription >
const & xType );
225 css::reflection::XCompoundTypeDescription >
const & xType );
228 css::reflection::XInterfaceTypeDescription2 >
const & xType );
231 css::reflection::XSingletonTypeDescription2 >
const & xType );
240 css::reflection::XServiceTypeDescription2 >
const & xType );
243 ::System::Reflection::Emit::ModuleBuilder ^ module_builder,
244 array< ::System::Reflection::Assembly^>^ assemblies );
249 ::System::Object ^ sender, ::System::ResolveEventArgs ^ args );
253 css::reflection::XTypeDescription >
const & xType );
css::reflection::XInterfaceTypeDescription2 * m_xType
::System::Reflection::Emit::TypeBuilder m_type_builder
css::reflection::XServiceTypeDescription2 * m_xType
::System::Reflection::Emit::TypeBuilder m_type_builder
::System::Reflection::Emit::TypeBuilder m_type_builder
css::reflection::XSingletonTypeDescription2 * m_xType
array< ::System::String^> m_member_names
::System::Type m_base_type
array< ::System::Type^> m_param_types
css::reflection::XCompoundTypeDescription * m_xType
::System::Reflection::Emit::TypeBuilder m_type_builder
::System::Reflection::ConstructorInfo m_ctor
::System::Reflection::ConstructorInfo m_default_ctor
::System::Collections::Hashtable m_generated_structs
TypeEmitter(::System::Reflection::Emit::ModuleBuilder ^ module_builder, array< ::System::Reflection::Assembly^>^ assemblies)
::System::Collections::Hashtable m_incomplete_ifaces
::System::Collections::Hashtable m_incomplete_structs
::System::Reflection::Assembly type_resolve(::System::Object ^ sender, ::System::ResolveEventArgs ^ args)
::System::Type get_type(::System::String ^ cli_name, bool throw_exc)
::System::Type get_type(css::uno::Reference< css::reflection::XConstantTypeDescription > const &xType)
::System::Reflection::Emit::CustomAttributeBuilder get_exception_attribute(const css::uno::Sequence< css::uno::Reference< css::reflection::XCompoundTypeDescription > > &seq_exceptionsTd)
::System::Type get_type_RuntimeException()
::System::Type get_type(css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &xType)
::System::Reflection::Emit::CustomAttributeBuilder get_iface_method_exception_attribute(const css::uno::Reference< css::reflection::XInterfaceMethodTypeDescription > &xMethod)
::System::Reflection::Emit::ModuleBuilder m_module_builder
::System::Type get_type_Exception()
::System::Reflection::Emit::CustomAttributeBuilder get_service_exception_attribute(const css::uno::Reference< css::reflection::XServiceConstructorDescription > &ctorDesc)
::System::Type get_type(css::uno::Reference< css::reflection::XCompoundTypeDescription > const &xType)
::System::Collections::Hashtable m_incomplete_singletons
::System::Reflection::MethodInfo m_method_info_Type_GetTypeFromHandle
::System::Type get_type(css::uno::Reference< css::reflection::XConstantsTypeDescription > const &xType)
::System::Type complete_singleton_type(singleton_entry ^ entry)
::System::Type get_type(css::uno::Reference< css::reflection::XEnumTypeDescription > const &xType)
::System::Collections::Hashtable m_incomplete_services
array< ::System::Reflection::Assembly^> m_extra_assemblies
::System::Collections::ArrayList get_service_ctor_method_exceptions_reduced(const css::uno::Sequence< css::uno::Reference< css::reflection::XCompoundTypeDescription > > &seqExceptionsTd)
::System::Type m_type_RuntimeException
::System::Type get_type(css::uno::Reference< css::reflection::XServiceTypeDescription2 > const &xType)
::System::Type complete_struct_type(struct_entry ^ entry)
::System::Type m_type_Exception
::System::Type complete_iface_type(iface_entry ^ entry)
::System::Type get_complete_struct(::System::String ^ sName)
::System::Type get_type(css::uno::Reference< css::reflection::XSingletonTypeDescription2 > const &xType)
::System::Type complete_service_type(service_entry ^ entry)
::System::Type get_type(css::uno::Reference< css::reflection::XTypeDescription > const &xType)
::System::Reflection::MethodAttributes c_ctor_method_attr
inline ::System::String ustring_to_String(OUString const &ustr)
css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > resolveInterfaceTypedef(const css::uno::Reference< css::reflection::XTypeDescription > &type)
OUString String_to_ustring(::System::String ^ str)
::System::String sUnoVoid
static System::String sByte
::System::String sUnoHyper
static System::String sType
static System::String sComma
static System::String sUInt16
static System::String sVoid
::System::String sUnoDouble
static System::String sAny
static System::String sUInt32
static System::String sSingle
static System::String sUInt64
::System::String sUnoShort
::System::String sUnoBool
static System::String sChar
::System::String sUnoULong
::System::String sUnoChar
static System::String sInt16
static System::String sBoolean
::System::String sUnoLong
::System::String sUnoString
static System::String sString
::System::String sUnoByte
static System::String sInt64
static System::String sObject
::System::String sUnoType
static System::String sInt32
static System::String sDouble
static System::String sUnoidl
::System::String sUnoXInterface
::System::String sBrackets
::System::String sUnoUShort
::System::String sUnoFloat
::System::String sUnoUHyper