Joao Matos
1e8db6020e
Add convenience constructor to ArrayType.
5 years ago
Joao Matos
50451ac897
Code cleanup.
5 years ago
Joao Matos
5e74bc351f
Add TypeQualifiersMode to Type and implement in C++ type printer.
5 years ago
Joao Matos
6b53f5828a
Add new VisitQualifiedType overload to visitors.
5 years ago
Joao Matos
c5bcb48cc2
Implement UnresolvedUsingType and UnresolvedUsingTypename.
...
Fixes https://github.com/mono/CppSharp/issues/1235 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
6 years ago
Joao Matos
53816286bc
Fixed type map support for typedef types.
...
Fixes https://github.com/mono/CppSharp/issues/1205 .
7 years ago
Dimitar Dobrev
9bc39c44ab
Generate valid C# for template indexers taking const char*
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
3caa8c5da2
Restore removed specializations
...
All specializations which only use pointers as their type arguments need at most one internal representation since pointers are mapped to IntPtr. This was achieved by removing the unneeded specializations from their containing list. This was, however, a bug because specializations were thus removed not only as internal structures but in their entirety.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Joao Matos
6dfd16ba9b
Move `CppTypePrinter` to generators and inherit from `TypePrinter`.
7 years ago
Dimitar Dobrev
e2a23b8987
Fixed the generated C# when returning a non-const char*.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
55053fddda
Properly hashed types to optimize their storage in maps.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
4adc3d646a
Fixed right-value references creating ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
202ae75df4
Fixed the generated code in a case of ambiguous overloads.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
e10fc01bff
Changed type maps to only return types - no strings.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
7 years ago
Dimitar Dobrev
c8536b4141
Updated to LLVM/Clang revisions 339502/339494 respectively.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Dimitar Dobrev
4b310875d3
Enabled classes having specializations for secondary bases to call their extensions.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
8 years ago
Joao Matos
5dc239a9ef
Improve debugging display for Type type.
8 years ago
Dimitar Dobrev
16aa74a20b
Changed an event to a context with a read-only list of parameters.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Mohit Mohta
8a2e813445
Merged Delegate Pass and pass for Anonymous Delegates and added the following improvements alongwith.
...
1. Got rid of Anonymous Names.
2. Merged the common code for Delegate Generation.
3. The delegate pass also works for C++/CLI now.
4. Fixed the calling conventions of delegates for both, C++/CLI and C#.
5. Ensures that if a delegate is used for a virtual as well as something else, it finally ends up as public.
6. Fixed the code generation when the return type of a method is a function pointer that has been used somewhere else as well.
7. Added Access and Calling convention to the delegate definition.
The only thing left is to get rid of the hack used, i.e move the code in VisitFunctionDecl to VisitParametersDecl. Somehow, it's not working right now.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
649df6e5e7
Made all lists of parameters read-only.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
9c0f80f69d
Bound the supported specialisations with generic syntax in the generated C#. ( #880 )
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
5caa12375c
Add Decimal primitive types to the AST type model.
9 years ago
Joao Matos
a85dcaa533
[ast] Added a constructor taking string to UnsupportedType.
9 years ago
Dimitar Dobrev
9dbcc3cc2c
Completed the support for dependent type names.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
974f8fab20
Replaced the useless desugared dependent name type with its qualifier.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
4a653b00bd
Added string as a primitive type to the type system.
...
This will make it less hacky to represent proper strings in our AST model.
9 years ago
Dimitar Dobrev
7ad1af0cac
Removed redundant qualification of types in the generated C#.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
9a5728ec16
Fixed equality testing of unsugared template specializalition types.
...
Fixes crash in Test.AST.TestAmbiguity.
System.NullReferenceException: Object reference not set to an instance of an object
at CppSharp.AST.QualifiedType.Equals (System.Object obj) [0x00027] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:89
at CppSharp.AST.QualifiedType.op_Equality (CppSharp.AST.QualifiedType left, CppSharp.AST.QualifiedType right) [0x0000f] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:94
at CppSharp.AST.TemplateSpecializationType.Equals (System.Object obj) [0x00062] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:718
at CppSharp.AST.TypedefType.Equals (System.Object obj) [0x0002a] in /Users/joao/Dev/MonoEmbeddinator4000/external/CppSharp/src/AST/Type.cs:447
9 years ago
Dimitar Dobrev
8d322ad53e
Properly handled signed chars in the AST.
9 years ago
Dimitar Dobrev
cef847825a
Exposed constant expressions, friendships and exception specifications of functions in our AST.
9 years ago
Dimitar Dobrev
5af5b2093f
Extended the AST with the template parameters being substituted.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Dimitar Dobrev
d22e084c7c
Fixed the walking of pointer types to use the correct qualifiers.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
9 years ago
Joao Matos
71c6e72959
Added convenience ctor to TypedefType.
9 years ago
Joao Matos
76ce6c7836
Added an unsupported type node to the AST.
9 years ago
Dimitar Dobrev
5d8ecf32d7
Extended the AST with the GCC vector type ("__attribute__").
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
7d67f4b023
Added unary transformations and other fixes to restore the full build with all tests.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Joao Matos
b7689b2d60
Added support for missing basic Clang built-in types.
10 years ago
Joao Matos
1206b48776
Improved debugging representation of template arguments and specializations.
10 years ago
Dimitar Dobrev
fc87fb6ee9
Added the desugared type, if any, of DependentNameType, to the AST.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
7986747373
Added dependent template specialization types to the AST.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
eaef452d52
Stopped ignoring system declarations so that they can be properly parsed.
...
We need this because of the upcoming support for system types, such as std::string or std::vector.
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
3eb259f151
Fixed the generated code when having long doubles in the origin.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
6abdb764e6
Completed the exposing of type aliases in our AST.
...
Fixes https://github.com/mono/CppSharp/issues/670 .
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
0c107a3bee
Fixed the comparison of template specialisation types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
2624c91e75
Fixed the comparison involving typedefs to use their real types.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
41cd6e6ab7
Fixed a regression when generating the parser bindings for OS X.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
0d5c4539a2
Generated internals of types nested in templates.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
e4200f4690
Fixed the wrapping of template parameters in the parser.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
10 years ago
Dimitar Dobrev
908988e70e
Fixed some warnings about missing default values of params in overrides.
...
Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
11 years ago
triton
2593f4727f
Added support for getting the array element size to the AST.
11 years ago