summaryrefslogtreecommitdiff
path: root/cli_ure
diff options
context:
space:
mode:
Diffstat (limited to 'cli_ure')
-rw-r--r--cli_ure/CustomTarget_cli_ure_assemblies.mk43
-rw-r--r--cli_ure/Module_cli_ure.mk2
-rw-r--r--cli_ure/README5
-rw-r--r--cli_ure/README.md7
-rw-r--r--cli_ure/qa/climaker/climaker.cs16
-rw-r--r--cli_ure/qa/climaker/types.idl8
-rw-r--r--cli_ure/source/climaker/climaker_app.cxx19
-rw-r--r--cli_ure/source/climaker/climaker_emit.cxx117
-rw-r--r--cli_ure/source/climaker/climaker_share.h4
-rw-r--r--cli_ure/source/uno_bridge/cli_data.cxx17
10 files changed, 99 insertions, 139 deletions
diff --git a/cli_ure/CustomTarget_cli_ure_assemblies.mk b/cli_ure/CustomTarget_cli_ure_assemblies.mk
index 260a52b25fec..266df95f2706 100644
--- a/cli_ure/CustomTarget_cli_ure_assemblies.mk
+++ b/cli_ure/CustomTarget_cli_ure_assemblies.mk
@@ -19,37 +19,24 @@ $(call gb_CustomTarget_get_target,cli_ure/source) : \
$(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs
$(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/assembly.cs : \
- $(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
- $(SRCDIR)/cli_ure/version/version.txt \
- $(cli_ure_source_MAKEFILE) \
- | $(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/.dir
+ $(SRCDIR)/cli_ure/source/basetypes/assembly.cs \
+ $(SRCDIR)/cli_ure/version/version.txt \
+ $(cli_ure_source_MAKEFILE) \
+ | $(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/.dir
+ sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" $< > $@
$(call gb_CustomTarget_get_workdir,cli_ure/source)/native/assembly.cxx : \
- $(SRCDIR)/cli_ure/source/native/assembly.cxx \
- $(SRCDIR)/cli_ure/version/version.txt \
- $(cli_ure_source_MAKEFILE) \
- | $(call gb_CustomTarget_get_workdir,cli_ure/source)/native/.dir
+ $(SRCDIR)/cli_ure/source/native/assembly.cxx \
+ $(SRCDIR)/cli_ure/version/version.txt \
+ $(cli_ure_source_MAKEFILE) \
+ | $(call gb_CustomTarget_get_workdir,cli_ure/source)/native/.dir
+ sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" $< > $@
$(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs : \
- $(SRCDIR)/cli_ure/source/ure/assembly.cs \
- $(SRCDIR)/cli_ure/version/version.txt \
- $(cli_ure_source_MAKEFILE) \
- | $(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/.dir
-
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/basetypes/assembly.cs :
- sed -e "s/@CLI_BASETYPES_NEW_VERSION@/$(CLI_BASETYPES_NEW_VERSION)/g" \
- < $< > $@.tmp && \
- mv $@.tmp $@
-
-# TODO use macros for this
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/native/assembly.cxx :
- sed -e "s/@CLI_CPPUHELPER_NEW_VERSION@/$(CLI_CPPUHELPER_NEW_VERSION)/g" \
- < $< > $@.tmp && \
- mv $@.tmp $@
-
-$(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/assembly.cs :
- sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" \
- < $< > $@.tmp && \
- mv $@.tmp $@
+ $(SRCDIR)/cli_ure/source/ure/assembly.cs \
+ $(SRCDIR)/cli_ure/version/version.txt \
+ $(cli_ure_source_MAKEFILE) \
+ | $(call gb_CustomTarget_get_workdir,cli_ure/source)/ure/.dir
+ sed -e "s/@CLI_URE_NEW_VERSION@/$(CLI_URE_NEW_VERSION)/g" $< > $@
# vim: set noet sw=4 ts=4:
diff --git a/cli_ure/Module_cli_ure.mk b/cli_ure/Module_cli_ure.mk
index 91863abb59c9..ba18aecd1e4b 100644
--- a/cli_ure/Module_cli_ure.mk
+++ b/cli_ure/Module_cli_ure.mk
@@ -10,7 +10,7 @@
$(eval $(call gb_Module_Module,cli_ure))
ifeq ($(COM),MSC)
-ifneq ($(CPUNAME),ARM64)
+ifneq ($(CPUNAME)_$(CROSS_COMPILING),AARCH64_TRUE)
$(eval $(call gb_Module_add_targets,cli_ure,\
CliLibrary_cli_basetypes \
CliLibrary_cli_ure \
diff --git a/cli_ure/README b/cli_ure/README
deleted file mode 100644
index 8f173dffe8ab..000000000000
--- a/cli_ure/README
+++ /dev/null
@@ -1,5 +0,0 @@
-Common Lang Infrastructure Uno Runtime Environment - support assemblies and tools for the MS .Net (and Mono) UNO binding.
-
-See also:
-[git:cli_ure/source/readme.txt]
-
diff --git a/cli_ure/README.md b/cli_ure/README.md
new file mode 100644
index 000000000000..b6f27e7c6979
--- /dev/null
+++ b/cli_ure/README.md
@@ -0,0 +1,7 @@
+# Common Language Infrastructure (CLI) UNO Runtime Environment
+
+Support assemblies and tools for the MS .NET UNO binding.
+
+## See also
+
+`[git:cli_ure/readme.txt]`
diff --git a/cli_ure/qa/climaker/climaker.cs b/cli_ure/qa/climaker/climaker.cs
index 37e46bf0e1ee..1fcc5351351f 100644
--- a/cli_ure/qa/climaker/climaker.cs
+++ b/cli_ure/qa/climaker/climaker.cs
@@ -237,8 +237,8 @@ public sealed class Test
l.assure(s.p4 == 0);
l.assure(s.p5 == 0);
l.assure(s.p6 == 0);
- l.assure(s.p7 == 0L);
- l.assure(s.p8 == 0L);
+ l.assure(s.p7 == 0);
+ l.assure(s.p8 == 0);
l.assure(s.p9 == 0.0f);
l.assure(s.p10 == 0.0);
l.assure(s.p11 == '\u0000');
@@ -255,8 +255,8 @@ public sealed class Test
l.assure(s.t4 == 0);
l.assure(s.t5 == 0);
l.assure(s.t6 == 0);
- l.assure(s.t7 == 0L);
- l.assure(s.t8 == 0L);
+ l.assure(s.t7 == 0);
+ l.assure(s.t8 == 0);
l.assure(s.t9 == 0.0f);
l.assure(s.t10 == 0.0);
l.assure(s.t11 == '\u0000');
@@ -353,8 +353,8 @@ public sealed class Test
l.assure(s.p4 == 3);
l.assure(s.p5 == 4);
l.assure(s.p6 == 5);
- l.assure(s.p7 == 6L);
- l.assure(s.p8 == 7L);
+ l.assure(s.p7 == 6);
+ l.assure(s.p8 == 7);
l.assure(s.p9 == 0.8f);
l.assure(s.p10 == 0.9);
l.assure(s.p11 == 'A');
@@ -371,8 +371,8 @@ public sealed class Test
l.assure(s.t4 == 0);
l.assure(s.t5 == 0);
l.assure(s.t6 == 0);
- l.assure(s.t7 == 0L);
- l.assure(s.t8 == 0L);
+ l.assure(s.t7 == 0);
+ l.assure(s.t8 == 0);
l.assure(s.t9 == 0.0f);
l.assure(s.t10 == 0.0);
l.assure(s.t11 == '\u0000');
diff --git a/cli_ure/qa/climaker/types.idl b/cli_ure/qa/climaker/types.idl
index c9bb612ddb19..1c34918e2827 100644
--- a/cli_ure/qa/climaker/types.idl
+++ b/cli_ure/qa/climaker/types.idl
@@ -17,14 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/lang/ClassNotFoundException.idl>
-#include <com/sun/star/lang/IllegalAccessException.idl>
-#include <com/sun/star/uno/DeploymentException.idl>
-#include <com/sun/star/uno/Exception.idl>
-#include <com/sun/star/uno/RuntimeException.idl>
-#include <com/sun/star/uno/XInterface.idl>
-#include <com/sun/star/uno/XNamingService.idl>
-#include <com/sun/star/lang/XComponent.idl>
module test { module cliure { module climaker {
enum Enum1 { VALUE1 = -100, VALUE2 = 100 };
diff --git a/cli_ure/source/climaker/climaker_app.cxx b/cli_ure/source/climaker/climaker_app.cxx
index 97b1a5ce9bce..d551659fec4b 100644
--- a/cli_ure/source/climaker/climaker_app.cxx
+++ b/cli_ure/source/climaker/climaker_app.cxx
@@ -39,7 +39,6 @@
#include "com/sun/star/uno/XComponentContext.hpp"
#include "unoidl/unoidl.hxx"
-using namespace ::std;
using namespace ::System::Reflection;
@@ -285,10 +284,10 @@ SAL_IMPLEMENT_MAIN()
get_option_info( "assembly-trademark" );
OUString output;
- vector< OUString > mandatory_registries;
- vector< OUString > extra_registries;
- vector< OUString > extra_assemblies;
- vector< OUString > explicit_types;
+ std::vector< OUString > mandatory_registries;
+ std::vector< OUString > extra_registries;
+ std::vector< OUString > extra_assemblies;
+ std::vector< OUString > explicit_types;
OUString version, product, description, company, copyright, trademark,
keyfile, delaySign;
@@ -395,12 +394,12 @@ SAL_IMPLEMENT_MAIN()
std::vector< rtl::Reference< unoidl::Provider > > unoidlMandatoryProvs;
for (auto& rRegistry : extra_registries)
{
- xSet->insert(makeAny(rRegistry));
+ xSet->insert(Any(rRegistry));
unoidlMgr->addProvider(rRegistry);
}
for (auto& rRegistry : mandatory_registries)
{
- xSet->insert(makeAny(rRegistry));
+ xSet->insert(Any(rRegistry));
rtl::Reference< unoidl::Provider > prov(unoidlMgr->addProvider(rRegistry));
unoidlMandatoryProvs.push_back(prov);
}
@@ -583,9 +582,9 @@ SAL_IMPLEMENT_MAIN()
{
css::uno::Reference< reflection::XTypeDescription > td(
xTD_enum->nextTypeDescription());
- OUString name(td->getName());
+ OUString td_name(td->getName());
bool bEmit = std::any_of(unoidlMandatoryProvs.begin(), unoidlMandatoryProvs.end(),
- [&name](rtl::Reference<unoidl::Provider>& rProv) { return rProv->findEntity(name).is(); });
+ [&td_name](rtl::Reference<unoidl::Provider>& rProv) { return rProv->findEntity(td_name).is(); });
if (bEmit) {
type_emitter->get_type(td);
}
@@ -601,7 +600,7 @@ SAL_IMPLEMENT_MAIN()
UNO_QUERY_THROW ) );
}
}
- type_emitter->~TypeEmitter();
+ type_emitter->finish();
if (g_bVerbose)
{
diff --git a/cli_ure/source/climaker/climaker_emit.cxx b/cli_ure/source/climaker/climaker_emit.cxx
index e34a9b088bda..d5f1a56d7e9f 100644
--- a/cli_ure/source/climaker/climaker_emit.cxx
+++ b/cli_ure/source/climaker/climaker_emit.cxx
@@ -520,18 +520,16 @@ Assembly ^ TypeEmitter::type_resolve(
TypeAttributes::BeforeFieldInit |
TypeAttributes::AnsiClass) );
- Sequence< Reference<
+ const Sequence< Reference<
reflection::XConstantTypeDescription > > seq_constants(
xType->getConstants() );
- Reference< reflection::XConstantTypeDescription > const * constants =
- seq_constants.getConstArray();
sal_Int32 constants_length = seq_constants.getLength();
for ( sal_Int32 constants_pos = 0;
constants_pos < constants_length; ++constants_pos )
{
Reference<
reflection::XConstantTypeDescription > const & xConstant =
- constants[ constants_pos ];
+ seq_constants[ constants_pos ];
::System::Object ^ constant =
to_cli_constant( xConstant->getConstantValue() );
::System::String ^ uno_name =
@@ -575,12 +573,10 @@ Assembly ^ TypeEmitter::type_resolve(
(FieldAttributes) (FieldAttributes::Private |
FieldAttributes::SpecialName |
FieldAttributes::RTSpecialName) );
- Sequence< OUString > seq_enum_names( xType->getEnumNames() );
- Sequence< sal_Int32 > seq_enum_values( xType->getEnumValues() );
+ const Sequence< OUString > seq_enum_names( xType->getEnumNames() );
+ const Sequence< sal_Int32 > seq_enum_values( xType->getEnumValues() );
sal_Int32 enum_length = seq_enum_names.getLength();
OSL_ASSERT( enum_length == seq_enum_values.getLength() );
- OUString const * enum_names = seq_enum_names.getConstArray();
- sal_Int32 const * enum_values = seq_enum_values.getConstArray();
for ( sal_Int32 enum_pos = 0; enum_pos < enum_length; ++enum_pos )
{
// enum_builder->DefineLiteral(
@@ -588,13 +584,13 @@ Assembly ^ TypeEmitter::type_resolve(
// __box ((::System::Int32) enum_values[ enum_pos ]) );
Emit::FieldBuilder ^ field_builder =
enum_builder->DefineField(
- ustring_to_String( enum_names[ enum_pos ] ),
+ ustring_to_String( seq_enum_names[ enum_pos ] ),
enum_builder,
(FieldAttributes) (FieldAttributes::Public |
FieldAttributes::Static |
FieldAttributes::Literal) );
field_builder->SetConstant(
- ((::System::Int32) enum_values[ enum_pos ]) );
+ ((::System::Int32) seq_enum_values[ enum_pos ]) );
}
if (g_bVerbose)
@@ -844,20 +840,17 @@ Assembly ^ TypeEmitter::type_resolve(
}
}
- Sequence<
+ const Sequence<
Reference< reflection::XInterfaceMemberTypeDescription > > seq_members(
xType->getMembers() );
- Reference< reflection::XInterfaceMemberTypeDescription > const * members =
- seq_members.getConstArray();
sal_Int32 members_length = seq_members.getLength();
for ( sal_Int32 members_pos = 0;
members_pos < members_length; ++members_pos )
{
Reference<
reflection::XInterfaceMemberTypeDescription > const & xMember =
- members[ members_pos ];
+ seq_members[ members_pos ];
Sequence< Reference< reflection::XTypeDescription > > seq_exceptions;
- Emit::MethodBuilder ^ method_builder;
MethodAttributes c_method_attr = (MethodAttributes)
(MethodAttributes::Public |
@@ -871,21 +864,19 @@ Assembly ^ TypeEmitter::type_resolve(
Reference< reflection::XInterfaceMethodTypeDescription > xMethod(
xMember, UNO_QUERY_THROW );
- Sequence<
+ const Sequence<
Reference< reflection::XMethodParameter > > seq_parameters(
xMethod->getParameters() );
sal_Int32 params_length = seq_parameters.getLength();
array< ::System::Type^>^ param_types =
gcnew array< ::System::Type^>( params_length );
- Reference< reflection::XMethodParameter > const * parameters =
- seq_parameters.getConstArray();
// first determine all types
//Make the first param type as return type
sal_Int32 params_pos = 0;
for ( ; params_pos < params_length; ++params_pos )
{
Reference< reflection::XMethodParameter > const & xParam =
- parameters[ params_pos ];
+ seq_parameters[ params_pos ];
::System::Type ^ param_type = get_type( xParam->getType() );
::System::String ^ param_type_name = param_type->FullName;
if (xParam->isOut())
@@ -905,7 +896,7 @@ Assembly ^ TypeEmitter::type_resolve(
// c_method_attr, tb,
// param_types );
// else
- method_builder = type_builder->DefineMethod(
+ Emit::MethodBuilder ^ method_builder = type_builder->DefineMethod(
ustring_to_String( xMethod->getMemberName() ),
c_method_attr, get_type( xMethod->getReturnType() ),
param_types );
@@ -914,7 +905,7 @@ Assembly ^ TypeEmitter::type_resolve(
for ( ; params_pos < params_length; ++params_pos )
{
Reference< reflection::XMethodParameter > const & xParam =
- parameters[ params_pos ];
+ seq_parameters[ params_pos ];
long param_flags = 0;
if (xParam->isIn())
param_flags |= (long)ParameterAttributes::In;
@@ -933,19 +924,17 @@ Assembly ^ TypeEmitter::type_resolve(
if (xReturnStruct.is())
{
- Sequence<Reference<reflection::XTypeDescription> > seq_type_args =
+ const Sequence<Reference<reflection::XTypeDescription> > seq_type_args =
xReturnStruct->getTypeArguments();
if (seq_type_args.getLength() != 0)
{
//get th ctor of the attribute
array< ::System::Type^>^ arCtor = {::System::Type::GetType("System.Type[]")};
//Get the arguments for the attribute's ctor
- Reference<reflection::XTypeDescription> const * arXTypeArgs =
- seq_type_args.getConstArray();
int numTypes = seq_type_args.getLength();
array< ::System::Type^>^ arCtsTypes = gcnew array< ::System::Type^>(numTypes);
for (int i = 0; i < numTypes; i++)
- arCtsTypes[i] = get_type(arXTypeArgs[i]);
+ arCtsTypes[i] = get_type(seq_type_args[i]);
array< ::System::Object^>^ arArgs = {arCtsTypes};
Emit::CustomAttributeBuilder ^ attrBuilder =
@@ -969,11 +958,11 @@ Assembly ^ TypeEmitter::type_resolve(
{
array< ::System::Type^>^ arCtorOneway = gcnew array< ::System::Type^>(0);
array< ::System::Object^>^ arArgs = gcnew array< ::System::Object^>(0);
- Emit::CustomAttributeBuilder ^ attrBuilder =
+ Emit::CustomAttributeBuilder ^ attrBuilder2 =
gcnew Emit::CustomAttributeBuilder(
::uno::OnewayAttribute::typeid->GetConstructor( arCtorOneway),
arArgs);
- method_builder->SetCustomAttribute(attrBuilder);
+ method_builder->SetCustomAttribute(attrBuilder2);
}
}
else // attribute
@@ -1038,10 +1027,10 @@ Assembly ^ TypeEmitter::type_resolve(
method_builder->DefineParameter(
1 /* starts with 1 */, ParameterAttributes::In, "value" );
//define UNO exception attribute (exceptions)--------------------------------------
- Emit::CustomAttributeBuilder^ attrBuilder =
+ Emit::CustomAttributeBuilder^ attrBuilder2 =
get_exception_attribute(xAttribute->getSetExceptions());
- if (attrBuilder != nullptr)
- method_builder->SetCustomAttribute(attrBuilder);
+ if (attrBuilder2 != nullptr)
+ method_builder->SetCustomAttribute(attrBuilder2);
property_builder->SetSetMethod( method_builder );
}
@@ -1081,7 +1070,7 @@ Assembly ^ TypeEmitter::type_resolve(
{
array< ::System::Object^>^ aArg = gcnew array< ::System::Object^>(numTypes);
for (int i = 0; i < numTypes; i++)
- aArg[i] = ustring_to_String(seq_type_parameters.getConstArray()[i]);
+ aArg[i] = ustring_to_String(seq_type_parameters[i]);
array< ::System::Object^>^ args = {aArg};
array< ::System::Type^>^ arTypesCtor =
@@ -1106,22 +1095,18 @@ Assembly ^ TypeEmitter::type_resolve(
}
// members
- Sequence< Reference< reflection::XTypeDescription > > seq_members(
+ const Sequence< Reference< reflection::XTypeDescription > > seq_members(
entry->m_xType->getMemberTypes() );
- Sequence< OUString > seq_member_names( entry->m_xType->getMemberNames() );
+ const Sequence< OUString > seq_member_names( entry->m_xType->getMemberNames() );
sal_Int32 members_length = seq_members.getLength();
OSL_ASSERT( seq_member_names.getLength() == members_length );
//check if we have a XTypeDescription for every member. If not then the user may
//have forgotten to specify additional rdbs with the --extra option.
- Reference< reflection::XTypeDescription > const * pseq_members =
- seq_members.getConstArray();
- OUString const * pseq_member_names =
- seq_member_names.getConstArray();
for (int i = 0; i < members_length; i++)
{
const OUString sType(entry->m_xType->getName());
- const OUString sMemberName(pseq_member_names[i]);
- if ( ! pseq_members[i].is())
+ const OUString sMemberName(seq_member_names[i]);
+ if ( ! seq_members[i].is())
throw RuntimeException("Missing type description . Check if you need to "
"specify additional RDBs with the --extra option. Type missing for: " + sType +
"::" + sMemberName,0);
@@ -1179,10 +1164,10 @@ Assembly ^ TypeEmitter::type_resolve(
::System::String ^ base_type_name = base_type->FullName;
//ToDo m_generated_structs?
- struct_entry ^ entry =
+ struct_entry ^ entry2 =
dynamic_cast< struct_entry ^ >(
m_generated_structs[base_type_name] );
- if (nullptr == entry)
+ if (nullptr == entry2)
{
// complete type
array<FieldInfo^>^ fields =
@@ -1191,9 +1176,9 @@ Assembly ^ TypeEmitter::type_resolve(
BindingFlags::Public |
BindingFlags::DeclaredOnly) );
sal_Int32 len = fields->Length;
- for ( sal_Int32 pos = 0; pos < len; ++pos )
+ for ( sal_Int32 pos2 = 0; pos2 < len; ++pos2 )
{
- FieldInfo ^ field = fields[ pos ];
+ FieldInfo ^ field = fields[ pos2 ];
all_member_names[ member_pos ] = field->Name;
all_param_types[ member_pos ] = field->FieldType;
++member_pos;
@@ -1202,13 +1187,13 @@ Assembly ^ TypeEmitter::type_resolve(
else // generated during this session:
// members may be incomplete ifaces
{
- sal_Int32 len = entry->m_member_names->Length;
- for ( sal_Int32 pos = 0; pos < len; ++pos )
+ sal_Int32 len = entry2->m_member_names->Length;
+ for ( sal_Int32 pos2 = 0; pos2 < len; ++pos2 )
{
all_member_names[ member_pos ] =
- entry->m_member_names[ pos ];
+ entry2->m_member_names[ pos2 ];
all_param_types[ member_pos ] =
- entry->m_param_types[ pos ];
+ entry2->m_param_types[ pos2 ];
++member_pos;
}
}
@@ -1232,11 +1217,11 @@ Assembly ^ TypeEmitter::type_resolve(
for ( member_pos = 0; member_pos < members_length; ++member_pos )
{
::System::String ^ field_name =
- ustring_to_String( pseq_member_names[ member_pos ] );
+ ustring_to_String( seq_member_names[ member_pos ] );
::System::Type ^ field_type;
//Special handling of struct parameter types
bool bParameterizedType = false;
- if (pseq_members[ member_pos ]->getTypeClass() == TypeClass_UNKNOWN)
+ if (seq_members[ member_pos ]->getTypeClass() == TypeClass_UNKNOWN)
{
bParameterizedType = true;
if (type_param_pos < seq_type_parameters.getLength())
@@ -1252,7 +1237,7 @@ Assembly ^ TypeEmitter::type_resolve(
}
else
{
- field_type = get_type( pseq_members[ member_pos ] );
+ field_type = get_type( seq_members[ member_pos ] );
if (field_type->IsArray
&& m_incomplete_structs[cts_name]
@@ -1263,7 +1248,7 @@ Assembly ^ TypeEmitter::type_resolve(
while ((value = value->GetElementType())->IsArray);
//If the value type is a struct then make sure it is fully created.
get_complete_struct(value->FullName);
- field_type = get_type(pseq_members[member_pos]);
+ field_type = get_type(seq_members[member_pos]);
}
}
members[ member_pos ] =
@@ -1276,7 +1261,7 @@ Assembly ^ TypeEmitter::type_resolve(
//get the name
OSL_ASSERT(seq_type_parameters.getLength() > curParamIndex);
::System::String^ sTypeName = ustring_to_String(
- seq_type_parameters.getConstArray()[curParamIndex++]);
+ seq_type_parameters[curParamIndex++]);
array< ::System::Object^>^ args = {sTypeName};
//set ParameterizedTypeAttribute
array< ::System::Type^>^ arCtorTypes = {::System::String::typeid};
@@ -1474,12 +1459,12 @@ Assembly ^ TypeEmitter::type_resolve(
MethodAttributes::RTSpecialName),
CallingConventions::Standard, nullptr);
- Emit::ILGenerator^ ilGen = ctor_builder->GetILGenerator();
- ilGen->Emit( Emit::OpCodes::Ldarg_0 ); // push this
- ilGen->Emit(
+ Emit::ILGenerator^ ilGen1 = ctor_builder->GetILGenerator();
+ ilGen1->Emit( Emit::OpCodes::Ldarg_0 ); // push this
+ ilGen1->Emit(
Emit::OpCodes::Call,
type_builder->BaseType->GetConstructor(gcnew array< ::System::Type^>(0)));
- ilGen->Emit( Emit::OpCodes::Ret );
+ ilGen1->Emit( Emit::OpCodes::Ret );
//Create the service constructors.
@@ -1505,25 +1490,24 @@ Assembly ^ TypeEmitter::type_resolve(
::System::Type ^ type_uno_exception = get_type("unoidl.com.sun.star.uno.Exception", true);
- for (int i = seqCtors.getLength() - 1; i >= 0; i--)
+ for (int j = seqCtors.getLength() - 1; j >= 0; j--)
{
bool bParameterArray = false;
::System::Type ^ typeAny = ::uno::Any::typeid;
const Reference<reflection::XServiceConstructorDescription> & ctorDes =
- seqCtors[i];
+ seqCtors[j];
//obtain the parameter types
- Sequence<Reference<reflection::XParameter> > seqParams =
+ const Sequence<Reference<reflection::XParameter> > seqParams =
ctorDes->getParameters();
- Reference<reflection::XParameter> const * arXParams = seqParams.getConstArray();
sal_Int32 cParams = seqParams.getLength();
array< ::System::Type^>^ arTypeParameters = gcnew array< ::System::Type^> (cParams + 1);
arTypeParameters[0] = get_type("unoidl.com.sun.star.uno.XComponentContext", true);
for (int iparam = 0; iparam != cParams; iparam++)
{
- if (arXParams[iparam]->isRestParameter())
+ if (seqParams[iparam]->isRestParameter())
arTypeParameters[iparam + 1] = array< ::uno::Any>::typeid;
else
- arTypeParameters[iparam + 1] = get_type(arXParams[iparam]->getType());
+ arTypeParameters[iparam + 1] = get_type(seqParams[iparam]->getType());
}
//The array arTypeParameters can contain:
//System.Type and uno.PolymorphicType.
@@ -1573,7 +1557,7 @@ Assembly ^ TypeEmitter::type_resolve(
gcnew array<Emit::ParameterBuilder^> (cParams);
for (int iparam = 0; iparam != cParams; iparam++)
{
- Reference<reflection::XParameter> const & aParam = arXParams[iparam];
+ Reference<reflection::XParameter> const & aParam = seqParams[iparam];
::System::String ^ sParamName = ustring_to_String(aParam->getName());
arParameterBuilder[iparam] = method_builder->DefineParameter(
@@ -1910,9 +1894,6 @@ Emit::CustomAttributeBuilder^ TypeEmitter::get_exception_attribute(
{
Emit::CustomAttributeBuilder ^ attr_builder = nullptr;
- Reference< reflection::XCompoundTypeDescription > const * exceptions =
- seq_exceptionsTd.getConstArray();
-
array< ::System::Type^>^ arTypesCtor = {::System::Type::GetType("System.Type[]")};
ConstructorInfo ^ ctor_ExceptionAttribute =
::uno::ExceptionAttribute::typeid->GetConstructor(arTypesCtor);
@@ -1925,7 +1906,7 @@ Emit::CustomAttributeBuilder^ TypeEmitter::get_exception_attribute(
for ( sal_Int32 exc_pos = 0; exc_pos < exc_length; ++exc_pos )
{
Reference< reflection::XCompoundTypeDescription > const & xExc =
- exceptions[ exc_pos ];
+ seq_exceptionsTd[ exc_pos ];
exception_types[ exc_pos ] = get_type( xExc );
}
array< ::System::Object^>^ args = {exception_types};
@@ -2154,7 +2135,7 @@ Emit::CustomAttributeBuilder^ TypeEmitter::get_exception_attribute(
//get_type will asked the module builder for the type or otherwise all known assemblies.
return get_type(sName, true);
}
-TypeEmitter::~TypeEmitter()
+void TypeEmitter::finish()
{
while (true)
{
diff --git a/cli_ure/source/climaker/climaker_share.h b/cli_ure/source/climaker/climaker_share.h
index ed7ab256a3ad..29c3c876426e 100644
--- a/cli_ure/source/climaker/climaker_share.h
+++ b/cli_ure/source/climaker/climaker_share.h
@@ -110,7 +110,7 @@ static ::System::Reflection::MethodAttributes c_ctor_method_attr =
::System::Reflection::MethodAttributes::Instance*/);
-ref class TypeEmitter : public ::System::IDisposable
+ref class TypeEmitter
{
::System::Reflection::Emit::ModuleBuilder ^ m_module_builder;
array< ::System::Reflection::Assembly^>^ m_extra_assemblies;
@@ -243,7 +243,7 @@ public:
::System::Reflection::Emit::ModuleBuilder ^ module_builder,
array< ::System::Reflection::Assembly^>^ assemblies );
// must be called to finish up uncompleted types
- ~TypeEmitter();
+ void finish();
::System::Reflection::Assembly ^ type_resolve(
::System::Object ^ sender, ::System::ResolveEventArgs ^ args );
diff --git a/cli_ure/source/uno_bridge/cli_data.cxx b/cli_ure/source/uno_bridge/cli_data.cxx
index f321549da31e..72b39df4884f 100644
--- a/cli_ure/source/uno_bridge/cli_data.cxx
+++ b/cli_ure/source/uno_bridge/cli_data.cxx
@@ -42,7 +42,6 @@ namespace sr = System::Reflection;
namespace st = System::Text;
namespace ucss = unoidl::com::sun::star;
-using namespace std;
namespace cli_uno
{
@@ -51,9 +50,9 @@ OUString mapCliTypeName(System::String^ typeName);
System::String^ mapCliPolymorphicName(System::String^ unoName);
System::String^ mapPolymorphicName(System::String^ unoName, bool bCliToUno);
-inline unique_ptr< rtl_mem > seq_allocate( sal_Int32 nElements, sal_Int32 nSize )
+inline std::unique_ptr< rtl_mem > seq_allocate( sal_Int32 nElements, sal_Int32 nSize )
{
- unique_ptr< rtl_mem > seq(
+ std::unique_ptr< rtl_mem > seq(
rtl_mem::allocate( SAL_SEQUENCE_HEADER_SIZE + (nElements * nSize) ) );
uno_Sequence * p = (uno_Sequence *)seq.get();
p->nRefCount = 1;
@@ -899,7 +898,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
}
else
{
- unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (sal_Int64) ) );
+ std::unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (sal_Int64) ) );
*(sal_Int64 *) mem.get()= *safe_cast<System::Int64^>(aAny.Value);
pAny->pData = mem.release();
}
@@ -912,7 +911,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
}
else
{
- unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (sal_uInt64) ) );
+ std::unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (sal_uInt64) ) );
*(sal_uInt64 *) mem.get()= *safe_cast<System::UInt64^>(aAny.Value);
pAny->pData = mem.release();
}
@@ -925,7 +924,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
}
else
{
- unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (float) ) );
+ std::unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (float) ) );
*(float*) mem.get() = *safe_cast<System::Single^>(aAny.Value);
pAny->pData = mem.release();
}
@@ -938,7 +937,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
}
else
{
- unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (double) ) );
+ std::unique_ptr< rtl_mem > mem( rtl_mem::allocate( sizeof (double) ) );
*(double*) mem.get()= *safe_cast<System::Double^>(aAny.Value);
pAny->pData= mem.release();
}
@@ -967,7 +966,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
css::uno::Type anyType(value_td);
typelib_TypeDescription* td= NULL;
anyType.getDescription(&td);
- unique_ptr< rtl_mem > mem(rtl_mem::allocate(td->nSize));
+ std::unique_ptr< rtl_mem > mem(rtl_mem::allocate(td->nSize));
typelib_typedescription_release(td);
map_to_uno(
mem.get(), aAny.Value, value_td.getTypeLibType(),
@@ -1219,7 +1218,7 @@ void Bridge::map_to_uno(void * uno_data, System::Object^ cli_data,
typelib_TypeDescriptionReference * element_type =
((typelib_IndirectTypeDescription *)td.get())->pType;
- unique_ptr< rtl_mem > seq;
+ std::unique_ptr< rtl_mem > seq;
System::Array^ ar = nullptr;
if (cli_data != nullptr)