Elias Holzer
1cab6e5f02
Do not generate ToString override for value types - not handled properly in generated code yet.
12 years ago
Tomi Valkeinen
480a06f260
Generator: Remove DriverOptions.Is32Bit
...
DriverOptions.Is32Bit is used to decide whether to use 4 or 8 byte
pointer size in VTable calculations.
Instead of having a settable Is32Bit property, use
TargetInfo.PointerWidth for this. This allows us to remove the whole
Is32Bit property, and the IS_64_BIT define.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago
Elias Holzer
06218ec48a
Extended the ObjectOverridesPass to generate ToString methods if the insertion operator (<<) is overloaded.
12 years ago
Elias Holzer
b1c5cb3bf3
Fixed crash when file path of a unit was invalid.
12 years ago
triton
7594df6d11
Skip dependent types when handling CLI type references.
12 years ago
Tomi Valkeinen
4e185973e5
Normalize all the line endings
...
Normalized all the line endings with:
git rm --cached -r .
git reset --hard
git add .
git commit -m "Normalize all the line endings"
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
12 years ago
triton
af06f32fd5
Reworked static class support in CLI and C#.
12 years ago
triton
eb2bbba883
Added better support for nullptr_t types.
12 years ago
marcos henrich
3e3e605a26
Declaration.IsInternal is no longer true when Declaration.GenerationKind is Generate.
12 years ago
marcos henrich
b5fc658888
CheckIgnoreField now properly handles internal fields.
12 years ago
marcos henrich
20b9f5df52
Replaced some IsGenerated by IsInternal.
12 years ago
marcos henrich
de764599fa
Separated IsTagDecl into TryGetClass and TryGetEnum, added IsClass() and IsEnum().
12 years ago
Elias Holzer
d1a3141f5b
The unique name set by the CleanInvalidDeclNames pass will now truly be unique across translation units.
12 years ago
Elias Holzer
b83b5029b0
Added extension method SetPropertyAsReadOnly to ASTContext.
...
The Property.HasGetter and HasSetter method will take the GenerationKind flag of the field/method pair into account.
12 years ago
Elias Holzer
f9ef513d5f
Removed obsolete code.
12 years ago
Elias Holzer
755861492a
Fixed the getter/setter to property passes to not include synthesized methods.
12 years ago
Elias Holzer
0c260bd223
Improved support for indexed properties.
...
More types and types with different qualifiers are supported now - in both backends. See test cases for details.
12 years ago
triton
8eece168db
Added some better logging for macro ignored declarations.
12 years ago
triton
acef972a55
Added support for a "dry run" option that does not write anything to disk.
12 years ago
Elias Holzer
6145bf600b
Do not generate the destructor/finalizer pair if the destructor of the native class is protected.
...
Had to fix line endings (LF) in the CLI* files.
12 years ago
Elias Holzer
a72c43fd2f
Added marshaling code for std::ostream using a System.TextWriter to CLI backend.
12 years ago
Elias Holzer
911ce43e07
Use List<IntPtr> when mapping a std::vector<T*> where T is a primitive type.
...
Pointers are not allowed in generic arguments.
12 years ago
Elias Holzer
f88d59d9cf
Fixed the duplicated names pass check for conversion operators.
12 years ago
Elias Holzer
cc3cc40fc4
When generating delegates attributed types need to be taken into account or proper calling convention won't get picked up.
12 years ago
Elias Holzer
2736088957
CSharp and CLI backend use same function to convert the calling convention.
12 years ago
Elias Holzer
dcbf34b8e2
Add special marshaling attribute to delegate declaration if calling convention differs.
12 years ago
Elias Holzer
a0ee284d00
Removed the const restriction in the constructor to conversion operator pass.
12 years ago
Elias Holzer
fe6ac28c60
Constructor to conversion operator pass makes use of newly introduced Method.IsExplicit property.
12 years ago
Elias Holzer
474f82b513
Added support for explicit conversion operators and added new pass which will create implicit and explicit conversion operators out of single argument constructors.
...
Conflicts:
src/Generator/Passes/CheckAmbiguousFunctions.cs
src/Generator/Passes/CheckOperatorsOverloads.cs
12 years ago
marcos henrich
7125109e3f
Deprecated ExplicityIgnored use ExplicitlyIgnore(). Getting ExplicityIgnored and setting ExplicityIgnored to false don't make much sense anymore.
...
Conflicts:
src/Generator/Passes/CheckOperatorsOverloads.cs
12 years ago
marcos henrich
df7319d8bc
External declarations are now only marked as such when being generated.
12 years ago
marcos henrich
2a162489c2
TypeIgnoreChecker now ignores declarations when GenerationKind == GenerationKind.None.
12 years ago
marcos henrich
94eda74596
Removed non generated headers from includes collected.
12 years ago
marcos henrich
0416a35e8d
Added CheckIgnoreProperty to AST/Utils.cs. Changed CheckIgnoreField to handle value class fields declared in linked assemblies.
12 years ago
marcos henrich
d63ef03200
Changed Driver.Diagnostics setter to public. Replaced TextDiagnosticPrinter Verbose field by Level.
12 years ago
marcos henrich
951ba999b4
Added to macro pass CS_CONSTRAINT which can be use to constraint generic arguments.
12 years ago
marcos henrich
9af08fd551
Changed property fields generation kind to internal.
12 years ago
marcos henrich
7794e52103
Fixed QualifiedIdentifier when QualifiedName is empty (case of namespaces)
12 years ago
marcos henrich
0300f45c1b
Replaced usage of «IsGenerated with IsDeclared when handling with base classes and value types properties.
12 years ago
marcos henrich
2b3d907ce8
Changed CS_IGNORE_GEN to set generation kind to internal.
12 years ago
marcos henrich
3f96bdbfe3
Replaced declaration IgnoreFlags by GenerationKind. Added methods IsInternal and IsDeclared to declaration. Replaced IsGenerated = true by GeneratioKind = GeneratioKind.Internal. Deprecated Ignore, replace Ignore set by ExplicityIgnored, replace Ignore get by IsGenerated, IsInternal or IsDeclared.
...
Conflicts:
src/Generator/Passes/CheckOperatorsOverloads.cs
12 years ago
João Matos
ab5e7a3a8b
Fixed vtable generation for the Itanium case.
12 years ago
João Matos
8781cc0854
Fixed the resource stream loading to work with Mono resources.
12 years ago
triton
96479e7bdd
Do a null check for the verbs resource since non-VS Premake does not know how to embed it yet.
12 years ago
triton
c7dba1b5bd
Fixed type map matching regression introduced in d68b7b3.
...
Thanks to Elias Holzer for reporting the issue.
Conflicts:
src/Generator/Generators/CLI/CLITypePrinter.cs
12 years ago
Elias Holzer
325bca6082
CLI generator didn't respect static properties.
12 years ago
triton
df188d92f8
Fixed the tests by adding another option for the advanced property pass.
...
Long-term, I'd like to see both passes merged...
12 years ago
Elias Holzer
3144976349
Removed unnecessary Desugar() calls when testing whether or not a type is primitive.
...
The extension method IsPrimitiveType does the desugaring - see 55bbba46dd .
12 years ago
triton
9166a55202
Fixed generation of properties to behave as expected.
...
Fixed this by changing GenerateProperties to use GetterSetterToPropertyPass instead of GetterSetterToPropertyAdvancedPass.
Fixes issue #215 .
12 years ago
triton
d36bc5aad0
Changed GetterSetterToPropertyAdvancedPass visibility to public.
...
This way it can be added to the passes by external users.
12 years ago