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
triton
68ddfbdd6f
Move the AST project to the CppSharp.AST namespace.
13 years ago
triton
3f664784c9
Added support for CIL types to the type system.
13 years ago
triton
2a08b6e05b
Ignore properties if their getter or setter methods are also ignored.
13 years ago
triton
02be3857ed
Re-write code dealing with library symbol checking to respect the new symbol checking options.
13 years ago
triton
968df88117
Add new option for checking symbols and for the main shared library name.
13 years ago
triton
a0e5aa1192
Remove two unused options.
13 years ago
triton
76cf2886c1
Add the generated output to the list of outputs when generating.
13 years ago
triton
c989d9c121
Add the method RunPasses to PassBuilder.
13 years ago
triton
19bba20fd9
Update the tests to compile again.
13 years ago
triton
c488dcbfde
Prefix all the libraries and project names with CppSharp.
13 years ago
triton
ff0eb8e496
Added missing MaxIndent option.
13 years ago
triton
0a7656e257
Fix the build.
13 years ago
triton
e600aba110
Check for empty names when checking for classes type references.
13 years ago