marcos henrich
cc29233b2b
CheckFlagEnumsPass class is now public so it can be used in tests.
13 years ago
marcos henrich
90efc99083
CheckIgnoreField has only one parameter now
13 years ago
marcos henrich
b0d9e8b088
Fixed FunctionToInstanceMethodPass not skipping first method parameter.
13 years ago
marcos henrich
83ac0cdf71
Changed comment
13 years ago
marcos henrich
b1390894e0
Added missing new lines.
13 years ago
marcos henrich
ddfcf291df
CLI generator needs first function parameter.
13 years ago
marcos henrich
a45dbc7655
Fix template function generation. Return type should be created in TypePrinter.
13 years ago
marcos henrich
feef6ee80d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField from recent commits.
13 years ago
marcos henrich
57ce9d449d
Removed class parameter from CheckIgnoreFunction, CheckIgnoreMethod and CheckIgnoreField.
13 years ago
marcos henrich
777de80c3b
Resolved ambiguous type Type.
13 years ago
marcos henrich
ca569eb334
Better template function generation, less manual fixes are needed after generation.
13 years ago
marcos henrich
5c7bbe1bc0
Added CheckIgnoreDecls to the to pre passes, so user added passes already have some declarations ignored.
13 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.
13 years ago
marcos henrich
3bd0086ac6
Fixed methods generated by FunctionToInstanceMethodPass and FunctionToStaticMethodPass, to use parent class Namespace and keep function Namespace as OriginalNamespace.
13 years ago
marcos henrich
dc8ecc9d2e
Removed unnecessary override keyword from interface method implementations.
13 years ago
marcos henrich
c28723c0b6
Added support to emit messages without DiagnosticId.
13 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.
13 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.
13 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.
13 years ago
marcos henrich
379cf32f1d
Added FieldToPropertyPass, all non ignored fields can now be transformed into properties before generation.
13 years ago
triton
f1f5723157
Use a constant displacement for block ids so they do not conflict with CLI ones.
13 years ago
triton
cca70acea5
Skip implementation generation for proxy methods.
13 years ago
triton
5f4edce340
Extract field generation into its own method.
13 years ago
triton
1887f80dfd
Added declarations of class properties to CLI.
13 years ago
triton
ea96abb94f
Added IgnoreClassField helper.
13 years ago
triton
80c987a1e6
Use an explicit cast instead of "as" since there should always be a namespace.
13 years ago
triton
c13e843a3d
Fixed the FunctionToInstanceMethod pass.
13 years ago
Bright Twin
7c19f5f7db
Added global:: prefix to all System.IntPtr references in the C# code generator.
...
Without this qualification it is possible for the generated code to have namespace clashes with nested System namespaces in the code being wrapped.
13 years ago
marcos henrich
06ab4864e2
Added TypeReferenceCollector used for include and forward reference printing. TypeMaps are now able to add includes and forward references. Record system allows more complex situations where you need a declaration's origin type/declaration.
13 years ago
marcos henrich
fdd7075c53
Added ASTRecordCollector, it can be backtrack from where each declaration and type was visited.
13 years ago
marcos henrich
7dd2771604
Removed CheckTypeReferencesPass and TypeRefsVisitor
13 years ago
marcos henrich
e168e84d6a
Resolved ambiguity of System.Type and CppSharp.AST.Type
13 years ago
marcos henrich
32428155e3
Fixed enum type print.
13 years ago
marcos henrich
4875addfb4
Added synthetized check on block generation of ObjectOverridesPass.cs so already existing methods are not modified.
13 years ago
marcos henrich
10b4cde907
Added support to specify with TypeMaps, required includes and forward references of generic types
13 years ago
triton
383bfdf670
Add work-in-progress ObjectOverrides pass that adds GetHashCode and Equals overrides.
13 years ago
triton
252af32318
Added first pass at a pass for transforming compatible getters/setters into properties.
13 years ago
triton
ef7cd8ea47
Added support for IsOverride in the generators.
13 years ago
triton
2e97311423
Reference classes now implement the ICppInstance interface.
...
This will be used to add support for overrides of Equals and GetHashCode.
13 years ago
triton
fdb35ce28e
Clean up driver.
13 years ago
triton
acac3fc00d
Re-work handling of enum constants fixing signedness and formatting issues.
13 years ago
triton
6eef880f7e
Clean up the console driver by emitting file parsing diagnostics in the main driver.
13 years ago
triton
8ed1584126
When checking for ignored declarations, return early if the declaration is already ignored.
13 years ago
triton
7dca138287
Use fully qualified names in C# to minimize the chance of conflicts.
13 years ago
triton
815b9dcf37
Output the runtime helper in sources instead of headers.
13 years ago
triton
f47dc5bb07
Convert the C# backend to the new blocks system.
13 years ago
triton
443e2a278b
Visit the base VisitDeclaration in Pass.
13 years ago
triton
0e0a78e008
Do not visit already visited classes in the ResolveIncompleteDecls pass.
13 years ago
triton
0307acadab
Simplify library/symbols handling in the C# backend.
13 years ago
triton
b9e57dba78
Re-write the blocks generator again (thanks to esdrubal for helping me with the new design).
...
Now the whitespace/new line handling is done by the output generator per block, instead of having to be managed manually which could lead to all sorts of messy output without being extra careful.
Also the new system limits the usage of generics since C# was too limited to design it properly, and it ended up being more trouble than it was worth. The blocks kinds were also changed to be const int, since enums are very hard to extend and made it hard to provide a common interface for dealing with blocks.
13 years ago