LibreOffice Module cli_ure (master) 1
Classes | Functions | Variables
climaker Namespace Reference

Classes

struct  Constants
 
struct  OptionInfo
 
class  TypeEmitter
 

Functions

static OptionInfo const * get_option_info (OUString const &opt, sal_Unicode copt='\0')
 
static bool is_option (OptionInfo const *option_info, sal_uInt32 *pIndex)
 
static bool read_option (bool *flag, OptionInfo const *option_info, sal_uInt32 *pIndex)
 
static bool read_argument (OUString *pValue, OptionInfo const *option_info, sal_uInt32 *pIndex)
 
static OUString const & path_get_working_dir ()
 
static OUString path_make_absolute_file_url (OUString const &path)
 
System::String mapUnoPolymorphicName (System::String^ unoName)
 For example, there is a uno type com.sun.star.Foo<char, long>. More...
 
static inline ::System::String to_cts_name (OUString const &uno_name)
 
static inline ::System::Object to_cli_constant (Any const &value)
 
static void emit_ldarg (Emit::ILGenerator ^ code, ::System::Int32 index)
 
void polymorphicStructNameToStructName (::System::String ^ *sPolyName)
 
System::String mapUnoTypeName (System::String ^ typeName)
 
css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > resolveInterfaceTypedef (const css::uno::Reference< css::reflection::XTypeDescription > &type)
 
inline ::System::String ustring_to_String (OUString const &ustr)
 
OUString String_to_ustring (::System::String ^ str)
 

Variables

static char const s_usingText []
 
bool g_bVerbose = false
 
static const OptionInfo s_option_infos []
 
::System::Reflection::MethodAttributes c_ctor_method_attr
 

Function Documentation

◆ emit_ldarg()

static void climaker::emit_ldarg ( Emit::ILGenerator ^  code,
::System::Int32  index 
)
inlinestatic

Definition at line 94 of file climaker_emit.cxx.

References code, and index.

Referenced by climaker::TypeEmitter::complete_struct_type().

◆ get_option_info()

static OptionInfo const * climaker::get_option_info ( OUString const &  opt,
sal_Unicode  copt = '\0' 
)
static

◆ is_option()

static bool climaker::is_option ( OptionInfo const *  option_info,
sal_uInt32 *  pIndex 
)
static

◆ mapUnoPolymorphicName()

System::String climaker::mapUnoPolymorphicName ( System::String^  unoName)

For example, there is a uno type com.sun.star.Foo<char, long>.

The values in the type list are uno types and are replaced by cli types, such as System.Char, System.Int32, etc.

Strings can be as complicated as this test.MyStruct<char,test.MyStruct<long, []string>>

Definition at line 210 of file climaker_emit.cxx.

References index, and mapUnoTypeName().

Referenced by mapUnoTypeName().

◆ mapUnoTypeName()

System::String climaker::mapUnoTypeName ( System::String ^  typeName)

◆ path_get_working_dir()

static OUString const & climaker::path_get_working_dir ( )
static

Definition at line 202 of file climaker_app.cxx.

Referenced by path_make_absolute_file_url().

◆ path_make_absolute_file_url()

static OUString climaker::path_make_absolute_file_url ( OUString const &  path)
static

Definition at line 211 of file climaker_app.cxx.

References abs(), path_get_working_dir(), and pData.

Referenced by SAL_IMPLEMENT_MAIN().

◆ polymorphicStructNameToStructName()

void climaker::polymorphicStructNameToStructName ( ::System::String ^ *  sPolyName)

Definition at line 124 of file climaker_emit.cxx.

References index.

◆ read_argument()

static bool climaker::read_argument ( OUString *  pValue,
OptionInfo const *  option_info,
sal_uInt32 *  pIndex 
)
static

Definition at line 185 of file climaker_app.cxx.

References is_option().

Referenced by SAL_IMPLEMENT_MAIN().

◆ read_option()

static bool climaker::read_option ( bool *  flag,
OptionInfo const *  option_info,
sal_uInt32 *  pIndex 
)
inlinestatic

Definition at line 175 of file climaker_app.cxx.

References is_option().

Referenced by SAL_IMPLEMENT_MAIN().

◆ resolveInterfaceTypedef()

css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > climaker::resolveInterfaceTypedef ( const css::uno::Reference< css::reflection::XTypeDescription > &  type)

◆ String_to_ustring()

OUString climaker::String_to_ustring ( ::System::String ^  str)
inline

Definition at line 90 of file climaker_share.h.

Referenced by SAL_IMPLEMENT_MAIN().

◆ to_cli_constant()

static inline ::System::Object climaker::to_cli_constant ( Any const &  value)
static

Definition at line 48 of file climaker_emit.cxx.

References sal_False, and value.

◆ to_cts_name()

static inline ::System::String climaker::to_cts_name ( OUString const &  uno_name)
static

◆ ustring_to_String()

inline ::System::String climaker::ustring_to_String ( OUString const &  ustr)

Variable Documentation

◆ c_ctor_method_attr

::System::Reflection::MethodAttributes climaker::c_ctor_method_attr
static
Initial value:
=
(::System::Reflection::MethodAttributes)
(::System::Reflection::MethodAttributes::Public |
::System::Reflection::MethodAttributes::HideBySig |
::System::Reflection::MethodAttributes::SpecialName |
::System::Reflection::MethodAttributes::RTSpecialName
)

Definition at line 103 of file climaker_share.h.

Referenced by climaker::TypeEmitter::complete_struct_type(), climaker::TypeEmitter::get_type_Exception(), and climaker::TypeEmitter::get_type_RuntimeException().

◆ g_bVerbose

bool climaker::g_bVerbose = false

◆ s_option_infos

const OptionInfo climaker::s_option_infos[]
static
Initial value:
= {
{ RTL_CONSTASCII_STRINGPARAM("out"), 'O', true },
{ RTL_CONSTASCII_STRINGPARAM("types"), 'T', true },
{ RTL_CONSTASCII_STRINGPARAM("extra"), 'X', true },
{ RTL_CONSTASCII_STRINGPARAM("reference"), 'r', true },
{ RTL_CONSTASCII_STRINGPARAM("keyfile"), 'k', true },
{ RTL_CONSTASCII_STRINGPARAM("delaySign"), 'd', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-version"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-description"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-product"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-company"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-copyright"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("assembly-trademark"), '\0', true },
{ RTL_CONSTASCII_STRINGPARAM("verbose"), 'v', false },
{ RTL_CONSTASCII_STRINGPARAM("help"), 'h', false }
}

Definition at line 95 of file climaker_app.cxx.

Referenced by get_option_info().

◆ s_usingText

char const climaker::s_usingText[]
static
Initial value:
=
"\n"
"using: climaker <switches> [registry-file-1 registry-file-2 ...]\n"
"\n"
"switches:\n"
" -O, --out <output-file> output assembly file;\n"
" defaults to cli_unotypes.dll if more than one\n"
" registry-file is given, else <registry-file>.dll\n"
" -T, --types types to be generated (if none is given,\n"
" <type1[;type2;...]> then all types of given registries are emitted\n"
" -X, --extra <rdb-file> additional rdb to saturate referenced types in\n"
" given registry file(s); these types will not be\n"
" emitted into the output assembly file\n"
" -r, --reference reference metadata from assembly file\n"
" <assembly-file>\n"
" -k, --keyfile keyfile needed for strong name\n"
" --assembly-version <version> sets assembly version\n"
" --assembly-description <text> sets assembly description text\n"
" --assembly-product <text> sets assembly product name\n"
" --assembly-company <text> sets assembly company\n"
" --assembly-copyright <text> sets assembly copyright\n"
" --assembly-trademark <text> sets assembly trademark\n"
" -v, --verbose verbose output to stdout\n"
" -h, --help this message\n"
"\n"
"example: climaker --out cli_mytypes.dll \\\n"
" --reference cli_uretypes.dll \\\n"
" --extra types.rdb \\\n"
" mytypes.rdb\n"
"\n"

Definition at line 53 of file climaker_app.cxx.

Referenced by SAL_IMPLEMENT_MAIN().