triton
ee3641338c
Rework class fields generation in the C# backend to be simpler and behave correctly under more situations.
12 years ago
triton
6bc1215ef3
Cleaned up using declarations.
12 years ago
triton
cf040d9c2a
Use a different generic type variable name that does not conflict with the parent one.
12 years ago
triton
3e505737d7
Rework the handling for functions that need hidden structure parameters.
...
The main changes are:
- The original return type is now kept as the type of the generated parameter
- The return type of the function is set to void to represent what is actually happening.
This also fixes a bunch of bugs related due to using the wrong return type in some places.
12 years ago
triton
e0e507b938
Implemented type printing support for PrimitiveType.IntPtr.
12 years ago
triton
5c982b5a8f
Better stubs (that actually compile) for std::wstring in C# backend.
12 years ago
triton
0c51ea6862
When generating tests glue, wrap the declaration in a namespace with the library name, this makes sure there are no conflicts between native and managed types.
12 years ago
triton
081ca5e6c1
Return the result of VisitDeclaration in TypeIgnoreChecker.VisitClassDecl.
12 years ago
triton
ebde1312c2
Run the CheckAbiParameters pass after CheckOperatorsOverloadsPass since the latter can change the signature of the methods which can affect the correctness of the first pass.
12 years ago
triton
6814684072
Added virtual function overriding support to the C# backend.
12 years ago
Dimitar Dobrev
ef1828d710
Checked the desugared type when visiting pointer types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
90db6eb95d
Added an option for the used ABI to the C++ Parser class.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
31fe7760ad
Added 3 hacks so that QtCore reaches the end of code generation:
...
1. If an expression of an enum item is null, count it as non-hex;
2. Do not throw a NotSupported exception when a fixed array of an non-primitive type is encountered;
3. Provide some seemingly correct implementation for CppTypePrinter.VisitTemplateParameterSubstitutionType.
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
Dimitar Dobrev
7f8494ca94
Added generation of function pointers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
12 years ago
triton
7c396d2852
Only run the FieldToPropertyPass after the user passes and the fields state can change.
12 years ago
triton
3e7354a24c
When building the passes also call the generator so it can setup its specific passes.
12 years ago
triton
359920bdbf
Added a new option to ignore parser warnings.
12 years ago
triton
c2f4122414
Added workaround for CLR limitation when searching for native libraries.
12 years ago
triton
4f1a179ba9
Respect the verbose option in the driver when calling the parser.
12 years ago
triton
f2999bafd0
Add the 'virtual' keyword in the C# generated method signatures.
12 years ago
triton
2b3a8f79e4
Fixed the documentation comments support in the generators to use the new comment APIs.
12 years ago
triton
7dacbce44d
Check if all overloads actually exist before gathering them for internal function processing.
12 years ago
marcos henrich
3f0a188ea6
CppTypePrinter now prints parameter declaration type.
12 years ago
marcos henrich
f3045ea6c8
Generated code for equals override now checks if the dynamic_cast does not return null.
12 years ago
marcos henrich
0cf8c03aa3
PassBuilder is now generic. Driver Passes is now called TranslationUnitPasses. Added to driver GeneratorOutputPasses. Removed most of the PassBuilder Extensions.
12 years ago
marcos henrich
cc29233b2b
CheckFlagEnumsPass class is now public so it can be used in tests.
12 years ago
marcos henrich
90efc99083
CheckIgnoreField has only one parameter now
12 years ago
marcos henrich
b0d9e8b088
Fixed FunctionToInstanceMethodPass not skipping first method parameter.
12 years ago
marcos henrich
83ac0cdf71
Changed comment
12 years ago
marcos henrich
b1390894e0
Added missing new lines.
12 years ago
marcos henrich
ddfcf291df
CLI generator needs first function parameter.
12 years ago
marcos henrich
a45dbc7655
Fix template function generation. Return type should be created in TypePrinter.
12 years ago
marcos henrich
feef6ee80d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField from recent commits.
12 years ago
marcos henrich
57ce9d449d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField.
12 years ago
marcos henrich
777de80c3b
Resolved ambiguous type Type.
12 years ago
marcos henrich
ca569eb334
Better template function generation, less manual fixes are needed after generation.
12 years ago
marcos henrich
5c7bbe1bc0
Added CheckIgnoreDecls to the to pre passes, so user added passes already have some declarations ignored.
12 years ago
marcos henrich
12daa4980c
Added CheckDuplicatedNamesPass that check all class members names for duplicated names. When a non function member has an already used name a number is append to its name. When a method is found with a know signature a number is append to its name. The appended number for each method overload is independently incremented, others members appended number start at the most overloaded method count which is then incremented with each non function member sharing the same name.
12 years ago
marcos henrich
3bd0086ac6
Fixed methods generated by FunctionToInstanceMethodPass and FunctionToStaticMethodPass, to use parent class Namespace and keep function Namespace as OriginalNamespace.
12 years ago
marcos henrich
dc8ecc9d2e
Removed unnecessary override keyword from interface method implementations.
12 years ago
marcos henrich
c28723c0b6
Added support to emit messages without DiagnosticId.
12 years ago
marcos henrich
61986172e7
CLIHeaderTemplate an CLISourcesTemplate now take care of properties with only a getter or s setter, and properties using fields that for now always have a getter and a setter.
12 years ago
marcos henrich
06aba88fbb
Modified GetterSetterToPropertyPass more complex properties are supported. Now even if we only have a getter or a setter a property is created. Trying to convert multiple setter with same name and different types is an issue, so we check before creating a setter for a matching getter or the non existence of more setters.
12 years ago
marcos henrich
78ab63086a
CLIHeadersTemplate.cs now always tries to generate properties even when it is a value class. This is done because now fields should be converted to properties with FieldToPropertyPass.
12 years ago
marcos henrich
379cf32f1d
Added FieldToPropertyPass, all non ignored fields can now be transformed into properties before generation.
12 years ago
triton
f1f5723157
Use a constant displacement for block ids so they do not conflict with CLI ones.
12 years ago
triton
cca70acea5
Skip implementation generation for proxy methods.
12 years ago
triton
5f4edce340
Extract field generation into its own method.
12 years ago
triton
1887f80dfd
Added declarations of class properties to CLI.
12 years ago
triton
ea96abb94f
Added IgnoreClassField helper.
12 years ago