+
Point of view
All features
class WRAPPERS_GENERATOR
Summary
An application that processes the output of gccxml to produce low-level wrappers for functions, structures and enumerationsi and unions. Function having argument structures passed by value are not handled.
Direct parents
Insert list: ARGUMENTS, FILE_TOOLS, LIBERTY_VERSION, NAME_CONVERTER, SHARED_COLLECTIONS, SHARED_SETTINGS
Overview
Creation features
{ANY}
Features
{ANY}
{}
{ANY}
{}
Implementation of ARGUMENTS (do not use directly):
{}
{ANY}
{}
{ANY}
Plugin
{ANY}
Syntactic sugar
{ANY}
Type mangling
{}
Auxiliary features
{}
Constants
{}
{}
{}
Buffers Temporary buffers used to build enumerations and structures external classes
{}
Auxiliary features
{ANY}
Constants
{}
Maximum:
{}
Minimum:
{}
Bits:
{}
Various exceptions codes:
{ANY}
{ANY}
Status report:
{ANY}
Basic operations:
{ANY}
  • die (code: INTEGER_32)
    Terminate execution with exit status code, without triggering an exception.
  • raise (name: STRING)
    Raise a developer exception of name name.
  • throw (a_exception: EXCEPTION)
Non-Standard Extensions:
{ANY}
{}
{ANY}
liberty_authors: STRING
is "P.REDAELLI"
constant attribute
{ANY}
liberty_dates: STRING
is "2008-2016"
constant attribute
{ANY}
make
effective procedure
{ANY}
writable attribute
{ANY}
input: INPUT_STREAM
writable attribute
{ANY}
writable attribute
{ANY}
preprocessor_label: STRING
writable attribute
{ANY}
avoided: STRING
writable attribute
{ANY}
renamed: STRING
writable attribute
{ANY}
moved: STRING
writable attribute
{ANY}
flags: STRING
writable attribute
{ANY}
descriptions: STRING
writable attribute
{ANY}
process_arguments
effective procedure
{ANY}
Process arguments.
open_plugin_files
effective procedure
{ANY}
close_plugin_files
effective procedure
{ANY}
print_usage
effective procedure
{ANY}
_inline_agent3 (a_string: ABSTRACT_STRING)
frozen
effective procedure
{}
argument_count: INTEGER_32
effective function
{ANY}
Number of arguments given to command that started system execution (command name does not count).
argument (i: INTEGER_32): STRING
effective function
{ANY}
i th argument of command that started system execution Gives the command name if i is 0.
command_name: STRING
effective function
{ANY}
command_arguments: FAST_ARRAY[STRING]
frozen
once function
{}
Give access to arguments command line including the command name at index 0.
se_argc: INTEGER_32
{}
To implement command_arguments
se_argv (i: INTEGER_32): STRING
{}
To implement command_arguments
same_files (path1: ABSTRACT_STRING, path2: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
True if the path1 file exists and has the very same content as file path2.
same_physical_file (path1: ABSTRACT_STRING, path2: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
True if path1 and path2 physically refer to the same file (e.g. symlinks to a same file will return True here)
file_exists (path: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
is_readable (path: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
True if path file exists and is either a readable file or an accessible directory.
is_empty (path: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
True if path file exists, is readable and is an empty file.
rename_to (old_path: ABSTRACT_STRING, new_path: ABSTRACT_STRING)
effective procedure
{ANY}
Try to change the name or the location of a file.
last_rename_succeeded: BOOLEAN
writable attribute
{ANY}
True if the last call to rename_to` was successful.
copy_to (source_path: ABSTRACT_STRING, target_path: ABSTRACT_STRING)
effective procedure
{ANY}
Try to copy the source into the target.
last_copy_succeeded: BOOLEAN
writable attribute
{ANY}
True if the last call to copy_to` was successful.
delete (path: ABSTRACT_STRING)
effective procedure
{ANY}
Try to delete the given path file.
last_delete_succeeded: BOOLEAN
writable attribute
{ANY}
True if the last call to delete` was successful.
size_of (path: ABSTRACT_STRING): INTEGER_32
effective function
{ANY}
Total size of file path in number of bytes.
last_change_of (path: ABSTRACT_STRING): TIME
effective function
{ANY}
Of the last modification of path.
is_file (path: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
Is path a regular file?
is_directory (path: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
Is path a directory?
io_remove (path: POINTER): BOOLEAN
{}
To implement delete.
io_rename (old_path: POINTER, new_path: POINTER): BOOLEAN
{}
io_copy (source: POINTER, target: POINTER): BOOLEAN
{}
io_file_exists (path: POINTER): BOOLEAN
{}
io_same_physical_file (path1: POINTER, path2: POINTER): BOOLEAN
{}
fstat_st_size (path: POINTER): INTEGER_32
{}
fstat_st_mtime (path: POINTER): INTEGER_64
{}
fstat_st_is_file (path: POINTER): BOOLEAN
{}
fstat_st_is_dir (path: POINTER): BOOLEAN
{}
once function
{}
once function
{}
tmp_string: STRING
once function
{}
settings: SETTINGS
once function
{ANY}
The singleton to access all the shared settings
directory: STRING
effective function
{ANY}
Shortcut for settings.directory
include: TEXT_FILE_WRITE
once function
{ANY}
once function
{ANY}
verbose: BOOLEAN
effective function
{ANY}
global: BOOLEAN
effective function
{ANY}
dequalify (an_id: UNICODE_STRING): UNICODE_STRING
effective function
{}
an_id without the type qualifier used by GccXml to mark the identification labels.
log (a_string: ABSTRACT_STRING)
effective procedure
{}
buffer: FORMATTER
once function
{}
Buffer to render the text of the feature currently being wrapped (a function call, a structure or an enumeration).
formatter: FORMATTER
once function
{}
Shared formatter used to format various strings.
comment: STRING
is " -- "
constant attribute
{}
variadic_function_note: STRING
is " (variadic call) "
constant attribute
{}
unwrappable_function_note: STRING
is " -- Unwrappable function obsolete "Unwrappable C function" "
constant attribute
{}
expanded_class: STRING
is "expanded class "
constant attribute
{}
deferred_class: STRING
is "deferred class "
constant attribute
{}
inherits_string: STRING
is " insert ANY undefine is_equal, copy end "
constant attribute
{}
queries_header: STRING
is "feature {} -- Low-level queries "
constant attribute
{}
setters_header: STRING
is "feature {} -- Low-level setters "
constant attribute
{}
externals_header: STRING
is "feature {} -- External calls "
constant attribute
{}
typedefs_features_header: STRING
is "feature {WRAPPER_HANDLER} -- C type definitions (typedefs) "
constant attribute
{}
footer: STRING
is "end "
constant attribute
{}
automatically_generated_header: STRING
is "-- This file has been created by wrappers_generator. -- Any change will be lost by the next execution of the tool. "
constant attribute
{}
automatically_generated_c_file: STRING
is "/* ** This file has been created by wrappers_generator. ** Any change will be lost by the next execution of the tool. */ "
constant attribute
{}
automatically_patched_header: STRING
is "-- Th file has been automatically created combining the output file -- of wrappers_generator #(1) -- with the differences patches found into #(2) -- Any change will be lost by the next execution of the tool. "
constant attribute
{}
once function
{}
once function
{}
once function
{}
functions: LINKED_LIST[C_FUNCTION]
once function
{}
once function
{}
once function
{}
typedefs: TYPEDEFS
once function
{}
once function
{}
perhaps its a dictionary of WRAPPER_FEATURE or WRAPPABLE_NODE
variables: LINKED_LIST[C_VARIABLE]
once function
{}
once function
{}
flag_enums: WORDS
once function
{}
Enumerations that will be forcefully wrapped as a flag.
avoided_symbols: WORDS
once function
{}
Symbols that will not be wrapped.
queries: FORMATTER
once function
{}
setters: FORMATTER
once function
{}
low_level_values: FORMATTER
once function
{}
validity_query: FORMATTER
once function
{}
eiffel_feature (a_name: ABSTRACT_STRING): STRING
effective function
{ANY}
Translate a_name content into a proper feature name for the Gnu-Eiffel language.
eiffel_argument (a_name: ABSTRACT_STRING): STRING
effective function
{ANY}
a_name content translated into a proper argument placeholder for the Gnu-Eiffel language.
insert_underscores (a_string: STRING)
effective procedure
{ANY}
Insert an underscore ('_') before each uppercase letter following a lowercase one.
camelcase_translator: REGULAR_EXPRESSION
once function
{ANY}
Insert an underscore ('_') between any lowercase letter followed by an uppercase one
multiple_underscores_remover: REGULAR_EXPRESSION
once function
{ANY}
Replace all multiple occurences of underscore "_" with a single one
lt_translator: REGULAR_EXPRESSION
once function
{ANY}
Replace all occurences of "<" (shown as "&lt;") with "_of_"
gt_translator: REGULAR_EXPRESSION
once function
{ANY}
Remove all occurences of ">" (shown as "&gt;")
namespace_separator_translator: REGULAR_EXPRESSION
once function
{ANY}
Replace all occurences of "::" (C++ namespace separator) with "_"
is_public_name (a_name: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
Does a_name start with an alphabetical character?
eiffel_class_name (a_string: ABSTRACT_STRING, a_suffix: ABSTRACT_STRING): STRING
effective function
{ANY}
An Eiffel class name derived from a_string.
is_valid_class_name (a_name: ABSTRACT_STRING): BOOLEAN
effective function
{ANY}
Does a_name represents a valid Eiffel class name?
adapt (a_name: ABSTRACT_STRING, a_suffix: ABSTRACT_STRING): STRING
effective function
{ANY}
A valid, adapted identifier for an Eiffel feature labelled a_name.
once function
{}
any_features: HASHED_SET[ABSTRACT_STRING]
once function
{}
The names of the features contained in class ANY.
Maximum_character_code: INTEGER_16
{}
Largest supported code for CHARACTER values.
Maximum_integer_8: INTEGER_8
is 127
constant attribute
{}
Largest supported value of type INTEGER_8.
Maximum_integer_16: INTEGER_16
is 32767
constant attribute
{}
Largest supported value of type INTEGER_16.
Maximum_integer: INTEGER_32
is 2147483647
constant attribute
{}
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_32: INTEGER_32
is 2147483647
constant attribute
{}
Largest supported value of type INTEGER/INTEGER_32.
Maximum_integer_64: INTEGER_64
is 9223372036854775807
constant attribute
{}
Largest supported value of type INTEGER_64.
Maximum_real_32: REAL_32
is {REAL_32 3.4028234663852885981170418348451692544e+38}
constant attribute
{}
Largest non-special (no NaNs nor infinity) supported value of type REAL_32.
Maximum_real: REAL_64
{}
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_64: REAL_64
{}
Largest non-special (no NaNs nor infinity) supported value of type REAL.
Maximum_real_80: REAL_EXTENDED
{}
Largest supported value of type REAL_80.
Minimum_character_code: INTEGER_16
{}
Smallest supported code for CHARACTER values.
Minimum_integer_8: INTEGER_8
is -128
constant attribute
{}
Smallest supported value of type INTEGER_8.
Minimum_integer_16: INTEGER_16
is -32768
constant attribute
{}
Smallest supported value of type INTEGER_16.
Minimum_integer: INTEGER_32
is -2147483648
constant attribute
{}
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_32: INTEGER_32
is -2147483648
constant attribute
{}
Smallest supported value of type INTEGER/INTEGER_32.
Minimum_integer_64: INTEGER_64
is -9223372036854775808
constant attribute
{}
Smallest supported value of type INTEGER_64.
Minimum_real_32: REAL_32
is {REAL_32 -3.40282346638528859811704183484516925440e+38}
constant attribute
{}
Smallest non-special (no NaNs nor infinity) supported value of type REAL_32.
Minimum_real: REAL_64
{}
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_64: REAL_64
{}
Smallest non-special (no NaNs nor infinity) supported value of type REAL.
Minimum_real_80: REAL_64
{}
Smallest supported value of type REAL_80.
Boolean_bits: INTEGER_32
{}
Number of bits in a value of type BOOLEAN.
Character_bits: INTEGER_32
{}
Number of bits in a value of type CHARACTER.
Integer_bits: INTEGER_32
{}
Number of bits in a value of type INTEGER.
Real_bits: INTEGER_32
is 64
constant attribute
{}
Number of bits in a value of type REAL.
Pointer_bits: INTEGER_32
{}
Number of bits in a value of type POINTER.
Check_instruction: INTEGER_32
is 1
constant attribute
{ANY}
Exception code for violated check.
Class_invariant: INTEGER_32
is 2
constant attribute
{ANY}
Exception code for violated class invariant.
Developer_exception: INTEGER_32
is 3
constant attribute
{ANY}
Exception code for developer exception.
Incorrect_inspect_value: INTEGER_32
is 4
constant attribute
{ANY}
Exception code for inspect statement.
Loop_invariant: INTEGER_32
is 5
constant attribute
{ANY}
Exception code for violated loop invariant
Loop_variant: INTEGER_32
is 6
constant attribute
{ANY}
Exception code for non-decreased loop variant
No_more_memory: INTEGER_32
is 7
constant attribute
{ANY}
Exception code for failed memory allocation
Postcondition: INTEGER_32
is 8
constant attribute
{ANY}
Exception code for violated postcondition.
Precondition: INTEGER_32
is 9
constant attribute
{ANY}
Exception code for violated precondition.
Routine_failure: INTEGER_32
is 10
constant attribute
{ANY}
Exception code for failed routine.
Os_signal: INTEGER_32
is 11
constant attribute
{ANY}
Exception code for a signal received from the OS.
Void_attached_to_expanded: INTEGER_32
is 12
constant attribute
{ANY}
Exception code for attachment of Void value to expanded entity.
Void_call_target: INTEGER_32
is 13
constant attribute
{ANY}
Exception code for feature applied to Void reference
System_level_type_error: INTEGER_32
is 14
constant attribute
{ANY}
Exception code for the system-level type error (this kind of error mostly arise with covariant redefinition).
exception_name: STRING
effective function
{ANY}
name_of_exception (a_exception: INTEGER_32): STRING
effective function
{ANY}
developer_exception: EXCEPTION
effective function
{ANY}
The last developer-thrown exception.
developer_exception_name: STRING
effective function
{ANY}
Name of last developer-raised exception.
is_developer_exception: BOOLEAN
effective function
{ANY}
Is the last exception originally due to a developer exception?
is_developer_named_exception: BOOLEAN
effective function
{ANY}
Is the last exception originally due to a developer exception?
is_developer_exception_of_name (name: STRING): BOOLEAN
effective function
{ANY}
Is the last exception originally due to a developer exception of name name?
assertion_violation: BOOLEAN
effective function
{ANY}
Is last exception originally due to a violated assertion or non-decreasing variant?
exception: INTEGER_32
{ANY}
Code of last exception that occurred.
is_signal: BOOLEAN
effective function
{ANY}
Is last exception originally due to an external event (operating system signal) ?
die (code: INTEGER_32)
effective procedure
{ANY}
Terminate execution with exit status code, without triggering an exception.
raise (name: STRING)
effective procedure
{ANY}
Raise a developer exception of name name.
throw (a_exception: EXCEPTION)
effective procedure
{ANY}
signal_number: INTEGER_32
{ANY}
Signal Number received from OS.
named_exception: NAMED_EXCEPTION
once function
{}
developer_exception_memory: REFERENCE[EXCEPTION]
once function
{}
raise_exception (code: INTEGER_32)
{}
liberty_release: STRING
is "2022.dev (preparing Glenn Curtiss)"
constant attribute
{ANY}
copyright: ABSTRACT_STRING
once function
{ANY}
short_copyright: ABSTRACT_STRING
once function
{ANY}
print_version
effective procedure
{ANY}