Dimitar Dobrev
0e37a62726
Changed the check whether to invoke a property in the v-tables to work around the non-shared methods in v-tables. Set the function signature to an empty string rather that null by default.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7e2b1fd417
Added automatic building of the generated source files.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
c7612248fd
Added method signatures debugging output to vtable delegates.
12 years ago
triton
000b45cf2b
Fixed duplicated vtable delegate generation by changing the way the unique name is generated.
...
Previously, we could get duplicated names due to different named methods (setFoo and setFoo1) having overloads (and names for them would be setFoo11 [id: 11] and setFoo11 [id: 1]).
12 years ago
triton
23fc25faca
Fixed generation of vtable components.
...
Only generate delegates for each unique vtable component entry and skip vtable hook registration for duplicated entries.
12 years ago
triton
c242a3f320
Formatting changes.
12 years ago
triton
0801e98823
Fixed generation of C# vtable interop code. Update the vtable generation index in each iteration.
12 years ago
Dimitar Dobrev
47f03ae68c
Added tests about the dereference and prefix/postfix operators. Fixed multiple inheritance not to include operators in interfaces.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9255ac4144
Added the method to its block to maintain the connection between them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
2b53801510
Prefixed "System.Runtime.InteropServices" with "global::" to prevent name collision.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
c0ed93cd5e
Prevented postfix and dereference operators from being wrapped as such because C# does not support them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
9deaa403bc
Fixed a crash when setting up v-tables.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
56385a453f
Fixed the generation of v-table delegates to take into account indirect return types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
501f123277
Removed a check for const-ness because of a parser bug. Added tests for properties of complex types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
014c7df874
Added "register" to the list of verbs.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
ff14f39ed4
Fixed the generation of properties by considering value and read-only pointer types the same for complex types. Fixed the counting of parameters to consider indirect ones.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
ab548cb6da
Fixed the generation of properties to take indirect return types into account. Added "return" as a verb.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
a18d724368
Added OrderedSet utility class.
12 years ago
triton
71de29790e
Added a new pass to check for duplicated vtable components.
...
This helps workaround some Clang's work-in-progress vftable layouting implementation.
12 years ago
Stephen Kennedy
0957843c4d
Unify debugging output
...
Route all debugging output through Driver.Diagnostics
12 years ago
triton
b51687a2f6
Fixed vtable setup call generation when there are no valid methods in the vtable.
12 years ago
triton
44ce759a33
V-table method delegates need to take into account same-named overloads.
...
Fixes #88 .
12 years ago
triton
a219ea4b84
Disabled symbol checking by default.
...
This feature still needs some work to be totally robust and it makes the tool not generate bindings by default so disable it for now.
12 years ago
Stephen Kennedy
972e08ba67
We only handle functions and fields in property setters
12 years ago
Stephen Kennedy
0c7a72c400
Hack for CLI version
12 years ago
Stephen Kennedy
00bf3714ca
Hack to silently ignore non-class base class (e.g. templates etc)
12 years ago
Stephen Kennedy
84f0942a76
Avoid mismatched braces when the decl is neither a Function nor a Field
12 years ago
triton
6631d7e7c8
Changed GetTestsDirectory to be public.
12 years ago
triton
c619d67eb6
DriverOptions now inherits from ParserOptions instead of providing a member.
12 years ago
triton
cc0e0dab8d
Changed the test setup to search for the tests output directory.
12 years ago
triton
d3b0ab7192
Added missing Generator file.
12 years ago
triton
ca9c332618
Changed the test setup to search for the tests directory.
12 years ago
triton
565d73a4d0
Fixed CLI type references to work correctly with library namespaces.
12 years ago
triton
71d9ba5761
Added NativeDataSize property to the ICppMarshal interface.
12 years ago
triton
ece5fb6e56
Updated the generator to be able to use the new parser.
12 years ago
triton
a2ec94639b
Build fixes.
12 years ago
triton
c602f3b331
Formatting fixes.
12 years ago
triton
7bf1ce39d6
Removed unused using namespaces.
12 years ago
triton
b409d75bb6
Simplified the way generators are created in the driver.
12 years ago
triton
d114ac0f0e
Renamed LanguageGeneratorKind to GeneratorKind.
12 years ago
triton
3e489c9a06
Updated the generators and tests for new class names.
12 years ago
triton
2c4ef76f8a
Updated the driver to the new ASTContext and SymbolContext classes.
12 years ago
triton
0cc9446fe7
Refactored the parser class.
12 years ago
triton
c5e9008b47
Extracted the Options class to its own file.
12 years ago
triton
be0f73f471
Moved Diagnostics class to new core project.
12 years ago
triton
9d9973eb62
Fixes to the C# implementation of std::vector interop.
12 years ago
triton
995791b996
References to System.Runtime.InteropServices.CallingConvention attributes are now fully qualified to fix some conflicts that could happen with generated code.
12 years ago
triton
67ee5268ba
Added generation of stubs for ICppMarshal.
12 years ago
triton
b91ac99576
Reworked the CLI type references collector and generation code.
...
We now properly handle type references to namespaces that do not exist in the referencing translation unit. We do this by collecting all the references for all namespaces in the translation unit and generate a block with all the forward references.
12 years ago
Dimitar Dobrev
504222f03f
Added the event to its block to maintain the connection between them.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago