Kaydet (Commit) 6fa1a74e authored tarafından Peter Foley's avatar Peter Foley Kaydeden (comit) Tor Lillqvist

convert climaker to new syntax

Change-Id: Ic8b202c339806e4cf4dc621a4730593724175fca
Reviewed-on: https://gerrit.libreoffice.org/447Reviewed-by: 's avatarTor Lillqvist <tml@iki.fi>
Tested-by: 's avatarTor Lillqvist <tml@iki.fi>
üst 84d1ff7b
...@@ -530,21 +530,21 @@ SAL_IMPLEMENT_MAIN() ...@@ -530,21 +530,21 @@ SAL_IMPLEMENT_MAIN()
filename += OUSTR(".dll"); filename += OUSTR(".dll");
else else
name = name.copy( 0, dot ); name = name.copy( 0, dot );
::System::String * output_dir = ustring_to_String( sys_output_dir ); ::System::String ^ output_dir = ustring_to_String( sys_output_dir );
::System::String * output_file = ustring_to_String( filename ); ::System::String ^ output_file = ustring_to_String( filename );
//Get the key pair for making a strong name //Get the key pair for making a strong name
StrongNameKeyPair* kp = NULL; StrongNameKeyPair^ kp = nullptr;
if (keyfile.getLength() > 0) if (keyfile.getLength() > 0)
{ {
::System::String * sKeyFile = ustring_to_String(keyfile); ::System::String ^ sKeyFile = ustring_to_String(keyfile);
try { try {
System::IO::FileStream* fs = new System::IO::FileStream( System::IO::FileStream^ fs = gcnew System::IO::FileStream(
sKeyFile, System::IO::FileMode::Open); sKeyFile, System::IO::FileMode::Open);
kp = new StrongNameKeyPair(fs); kp = gcnew StrongNameKeyPair(fs);
fs->Close(); fs->Close();
} }
catch (System::IO::FileNotFoundException * ) catch (System::IO::FileNotFoundException ^ )
{ {
throw Exception(OUSTR("Could not find the keyfile. Verify the --keyfile argument!"), 0); throw Exception(OUSTR("Could not find the keyfile. Verify the --keyfile argument!"), 0);
} }
...@@ -554,88 +554,88 @@ SAL_IMPLEMENT_MAIN() ...@@ -554,88 +554,88 @@ SAL_IMPLEMENT_MAIN()
if (g_verbose) if (g_verbose)
{ {
::System::Console::Write( ::System::Console::Write(
S"> no key file specified. Cannot create strong name!\n"); "> no key file specified. Cannot create strong name!\n");
} }
} }
// setup assembly info: xxx todo set more? e.g. avoid strong versioning // setup assembly info: xxx todo set more? e.g. avoid strong versioning
AssemblyName * assembly_name = new AssemblyName(); AssemblyName ^ assembly_name = gcnew AssemblyName();
assembly_name->set_CodeBase( output_dir ); assembly_name->CodeBase = output_dir;
assembly_name->set_Name( name.getStr() ); assembly_name->Name = gcnew ::System::String(name.getStr());
if (kp != NULL) if (kp != nullptr)
assembly_name->set_KeyPair(kp); assembly_name->KeyPair= kp;
if (version.getLength() != 0) if (version.getLength() != 0)
{ {
assembly_name->set_Version( assembly_name->Version=
new ::System::Version( ustring_to_String( version ) ) ); gcnew ::System::Version( ustring_to_String( version ) );
} }
// app domain // app domain
::System::AppDomain * current_appdomain = ::System::AppDomain ^ current_appdomain =
::System::AppDomain::get_CurrentDomain(); ::System::AppDomain::CurrentDomain;
// target assembly // target assembly
Emit::AssemblyBuilder * assembly_builder = Emit::AssemblyBuilder ^ assembly_builder =
current_appdomain->DefineDynamicAssembly( current_appdomain->DefineDynamicAssembly(
assembly_name, Emit::AssemblyBuilderAccess::Save, output_dir ); assembly_name, Emit::AssemblyBuilderAccess::Save, output_dir );
if (product.getLength() != 0) if (product.getLength() != 0)
{ {
::System::Type * params __gc [] = new ::System::Type * __gc [ 1 ]; array< ::System::Type^>^ params = gcnew array< ::System::Type^> (1);
::System::Object * args __gc [] = new ::System::Object * __gc [ 1 ]; array< ::System::Object^>^args = gcnew array< ::System::Object^>(1);
params[ 0 ] = __typeof (::System::String); params[ 0 ] = ::System::String::typeid;
args[ 0 ] = ustring_to_String( product ); args[ 0 ] = ustring_to_String( product );
assembly_builder->SetCustomAttribute( assembly_builder->SetCustomAttribute(
new Emit::CustomAttributeBuilder( gcnew Emit::CustomAttributeBuilder(
__typeof (AssemblyProductAttribute)->GetConstructor( (AssemblyProductAttribute::typeid)->GetConstructor(
params ), args ) ); params ), args ) );
} }
if (description.getLength() != 0) if (description.getLength() != 0)
{ {
::System::Type * params __gc [] = new ::System::Type * __gc [ 1 ]; array< ::System::Type^>^ params = gcnew array< ::System::Type^>(1);
::System::Object * args __gc [] = new ::System::Object * __gc [ 1 ]; array< ::System::Object^>^ args = gcnew array< ::System::Object^>(1);
params[ 0 ] = __typeof (::System::String); params[ 0 ] = ::System::String::typeid;
args[ 0 ] = ustring_to_String( description ); args[ 0 ] = ustring_to_String( description );
assembly_builder->SetCustomAttribute( assembly_builder->SetCustomAttribute(
new Emit::CustomAttributeBuilder( gcnew Emit::CustomAttributeBuilder(
__typeof (AssemblyDescriptionAttribute)->GetConstructor( (AssemblyDescriptionAttribute::typeid)->GetConstructor(
params ), args ) ); params ), args ) );
} }
if (company.getLength() != 0) if (company.getLength() != 0)
{ {
::System::Type * params __gc [] = new ::System::Type * __gc [ 1 ]; array< ::System::Type^>^ params = gcnew array< ::System::Type^>(1);
::System::Object * args __gc [] = new ::System::Object * __gc [ 1 ]; array< ::System::Object^>^ args = gcnew array< ::System::Object^>(1);
params[ 0 ] = __typeof (::System::String); params[ 0 ] = ::System::String::typeid;
args[ 0 ] = ustring_to_String( company ); args[ 0 ] = ustring_to_String( company );
assembly_builder->SetCustomAttribute( assembly_builder->SetCustomAttribute(
new Emit::CustomAttributeBuilder( gcnew Emit::CustomAttributeBuilder(
__typeof (AssemblyCompanyAttribute)->GetConstructor( (AssemblyCompanyAttribute::typeid)->GetConstructor(
params ), args ) ); params ), args ) );
} }
if (copyright.getLength() != 0) if (copyright.getLength() != 0)
{ {
::System::Type * params __gc [] = new ::System::Type * __gc [ 1 ]; array< ::System::Type^>^ params = gcnew array< ::System::Type^>(1);
::System::Object * args __gc [] = new ::System::Object * __gc [ 1 ]; array< ::System::Object^>^ args = gcnew array< ::System::Object^>(1);
params[ 0 ] = __typeof (::System::String); params[ 0 ] = ::System::String::typeid;
args[ 0 ] = ustring_to_String( copyright ); args[ 0 ] = ustring_to_String( copyright );
assembly_builder->SetCustomAttribute( assembly_builder->SetCustomAttribute(
new Emit::CustomAttributeBuilder( gcnew Emit::CustomAttributeBuilder(
__typeof (AssemblyCopyrightAttribute)->GetConstructor( (AssemblyCopyrightAttribute::typeid)->GetConstructor(
params ), args ) ); params ), args ) );
} }
if (trademark.getLength() != 0) if (trademark.getLength() != 0)
{ {
::System::Type * params __gc [] = new ::System::Type * __gc [ 1 ]; array< ::System::Type^>^ params = gcnew array< ::System::Type^>(1);
::System::Object * args __gc [] = new ::System::Object * __gc [ 1 ]; array< ::System::Object^>^ args = gcnew array< ::System::Object^>(1);
params[ 0 ] = __typeof (::System::String); params[ 0 ] = ::System::String::typeid;
args[ 0 ] = ustring_to_String( trademark ); args[ 0 ] = ustring_to_String( trademark );
assembly_builder->SetCustomAttribute( assembly_builder->SetCustomAttribute(
new Emit::CustomAttributeBuilder( gcnew Emit::CustomAttributeBuilder(
__typeof (AssemblyTrademarkAttribute)->GetConstructor( (AssemblyTrademarkAttribute::typeid)->GetConstructor(
params ), args ) ); params ), args ) );
} }
// load extra assemblies // load extra assemblies
Assembly * assemblies __gc [] = array<Assembly^>^ assemblies =
new Assembly * __gc [ extra_assemblies.size() ]; gcnew array<Assembly^>(extra_assemblies.size());
for ( size_t pos = 0; pos < extra_assemblies.size(); ++pos ) for ( size_t pos = 0; pos < extra_assemblies.size(); ++pos )
{ {
assemblies[ pos ] = Assembly::LoadFrom( assemblies[ pos ] = Assembly::LoadFrom(
...@@ -643,13 +643,13 @@ SAL_IMPLEMENT_MAIN() ...@@ -643,13 +643,13 @@ SAL_IMPLEMENT_MAIN()
} }
// type emitter // type emitter
TypeEmitter * type_emitter = new TypeEmitter( TypeEmitter ^ type_emitter = gcnew TypeEmitter(
assembly_builder->DefineDynamicModule( output_file ), assemblies ); assembly_builder->DefineDynamicModule( output_file ), assemblies );
// add handler resolving assembly's types // add handler resolving assembly's types
::System::ResolveEventHandler * type_resolver = ::System::ResolveEventHandler ^ type_resolver =
new ::System::ResolveEventHandler( gcnew ::System::ResolveEventHandler(
type_emitter, &TypeEmitter::type_resolve ); type_emitter, &TypeEmitter::type_resolve );
current_appdomain->add_TypeResolve( type_resolver ); current_appdomain->TypeResolve += type_resolver;
// and emit types to it // and emit types to it
if (explicit_types.empty()) if (explicit_types.empty())
...@@ -678,23 +678,23 @@ SAL_IMPLEMENT_MAIN() ...@@ -678,23 +678,23 @@ SAL_IMPLEMENT_MAIN()
UNO_QUERY_THROW ) ); UNO_QUERY_THROW ) );
} }
} }
type_emitter->Dispose(); type_emitter->~TypeEmitter();
if (g_verbose) if (g_verbose)
{ {
::System::Console::Write( ::System::Console::Write(
S"> saving assembly {0}{1}{2}...", "> saving assembly {0}{1}{2}...",
output_dir, output_dir,
new ::System::String( gcnew ::System::String(
::System::IO::Path::DirectorySeparatorChar, 1 ), ::System::IO::Path::DirectorySeparatorChar, 1 ),
output_file ); output_file );
} }
assembly_builder->Save( output_file ); assembly_builder->Save( output_file );
if (g_verbose) if (g_verbose)
{ {
::System::Console::WriteLine( S"ok." ); ::System::Console::WriteLine( "ok." );
} }
current_appdomain->remove_TypeResolve( type_resolver ); current_appdomain->TypeResolve -= type_resolver;
} }
catch (Exception & exc) catch (Exception & exc)
{ {
...@@ -704,7 +704,7 @@ SAL_IMPLEMENT_MAIN() ...@@ -704,7 +704,7 @@ SAL_IMPLEMENT_MAIN()
stderr, "\n> error: %s\n> dying abnormally...\n", msg.getStr() ); stderr, "\n> error: %s\n> dying abnormally...\n", msg.getStr() );
ret = 1; ret = 1;
} }
catch (::System::Exception * exc) catch (::System::Exception ^ exc)
{ {
OString msg( OUStringToOString( OString msg( OUStringToOString(
String_to_ustring( exc->ToString() ), String_to_ustring( exc->ToString() ),
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -71,7 +71,7 @@ CFLAGSCXX +=-AI$(BIN) ...@@ -71,7 +71,7 @@ CFLAGSCXX +=-AI$(BIN)
# When compiling for CLR, disable "warning C4339: use of undefined type detected # When compiling for CLR, disable "warning C4339: use of undefined type detected
# in CLR meta-data - use of this type may lead to a runtime exception": # in CLR meta-data - use of this type may lead to a runtime exception":
CFLAGSCXX += -clr:oldSyntax -LN -wd4339 -wd4715 CFLAGSCXX += -clr -LN -wd4339 -wd4715
OBJFILES = \ OBJFILES = \
$(OBJ)$/climaker_app.obj \ $(OBJ)$/climaker_app.obj \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment