Commit Graph

76 Commits

Author SHA1 Message Date
Katy Coe
e60f1ef89b Model: Implement various generic method properties 2020-02-01 23:42:51 +01:00
Katy Coe
a338196057 Model: Introduce TypeInfo.GetGenericArguments(), refactor handling 2020-01-29 10:14:41 +01:00
Katy Coe
024b390f25 Output: Suppress global::Locale when using --must-compile 2020-01-21 03:30:22 +01:00
Katy Coe
ff90ab7c96 Output: Add <ProjectReference> elements in .csproj files 2020-01-21 02:38:45 +01:00
Katy Coe
f01c20570b Output: Create Visual Studio .csproj files when using --project (Project References are not currently resolved) 2020-01-21 01:44:47 +01:00
Katy Coe
05e83db383 Output: Give .sln file a default name when writing to root folder 2020-01-19 04:08:20 +01:00
Katy Coe
b4ab0036f0 CLI/Output: Add option to create Visual Studio solution (.sln) (no project files yet) 2020-01-19 04:03:14 +01:00
Katy Coe
f71e065968 CLI/Output: Add --separate-attributes option for assembly-level attributes 2020-01-19 02:59:59 +01:00
Katy Coe
3f00d2a3ad CLI/Output: Added "tree" layout option 2020-01-18 23:15:00 +01:00
Katy Coe
c144e361c6 Output: Fix crash regression with edge case explicit interface property output 2020-01-18 22:26:11 +01:00
Katy Coe
22ab1c4afd Performance: Paralellize code generation by namespace, assembly and class 2019-12-14 14:01:04 +01:00
Katy Coe
f60047a55a Output: Prepend fields, events, properties and parameter names using reserved C# keywords with @ 2019-12-12 10:18:55 +01:00
Katy Coe
b8df3d7100 Output: Handle explicit interface implementation of indexers correctly 2019-12-11 10:27:52 +01:00
Katy Coe
d8befc0a15 Output: Give non-auto-properties accessor bodies (CS8080) 2019-12-10 15:32:13 +01:00
Katy Coe
f78e2b3c54 Output: Don't force indexers to have get accessors 2019-12-10 14:32:54 +01:00
Katy Coe
be52e7d201 Output: Auto-properties must have get accessors (CS8051) 2019-12-10 14:22:13 +01:00
Katy Coe
231339add3 Output: Parameterized struct constructors must call parameterless constructor (CS0843) 2019-12-02 08:12:12 +01:00
Katy Coe
ae782f4a3a Output: Struct constructors must initialize all fields in the struct (CS0171) 2019-12-02 07:54:57 +01:00
Katy Coe
df8d84b39b Output: Include generic type parameters in class filenames 2019-12-02 01:53:50 +01:00
Katy Coe
3f1508ecab Output: Indexers must have getter and setter bodies (CS0501) 2019-11-30 07:27:58 +01:00
Katy Coe
00135d2a15 Output: Generate method bodies to populate out parameters (CS0117) 2019-11-30 07:15:19 +01:00
Katy Coe
e48c1813f3 Model and Output: Retrieve fully qualified assembly names 2019-11-28 04:44:27 +01:00
Katy Coe
de846ea6db Clean up some compiler messages 2019-11-28 04:00:32 +01:00
Katy Coe
8f7b461310 Output: Render finalizers as C# destructors (CS0249) 2019-11-18 06:24:18 +01:00
Katy Coe
7ca78175e0 Output: extern methods should not declare a body (CS0179) 2019-11-18 05:57:56 +01:00
Katy Coe
10dfc60344 Output: Don't emit unnecessary scope on explicit interface implementations of methods and properties 2019-11-18 00:43:42 +01:00
Katy Coe
673c9c94a9 Output: Don't emit add/remove/raise on events when using --must-compile 2019-11-17 22:49:59 +01:00
Katy Coe
f0134e0d16 CLI: Merge some options into --must-compile 2019-11-17 22:43:58 +01:00
Katy Coe
32608874cc Output: Handle scoped type name resolution conflicts (CS0104) 2019-11-17 22:27:44 +01:00
Katy Coe
bd3ac7dcc8 Output: Don't generate duplicate assembly attributes across class/namespace files 2019-11-16 23:47:33 +01:00
Katy Coe
b862fd99de Output: Implement --comment-attributes option 2019-11-16 21:33:49 +01:00
Katy Coe
0c259836c7 Output: Give methods that don't return void "=> default" 2019-11-16 21:12:02 +01:00
Katy Coe
9b79217a38 Output: Show offsets in metadata file for const fields and parameters with default values 2019-11-14 05:02:36 +01:00
Katy Coe
a880e8bd04 Calculate and output pointers to the end of each method 2019-11-14 02:44:56 +01:00
Katy Coe
312c2f8e66 Output: Add empty method bodies to non-abstract constructors and methods 2019-11-13 17:19:01 +01:00
Katy Coe
885679e4bd Output: Show last type definition index in each image 2019-11-13 16:40:21 +01:00
Katy Coe
7c64e0a09c Add --suppress-metadata option 2019-11-13 15:55:18 +01:00
Katy Coe
0185570bac Output: Fix crash on single-file output when only the leaf filename is specified 2019-11-13 05:34:11 +01:00
Katy Coe
587f9c732d Output: Add WriteFilesByNamespace, WriteFilesByAssembly, WriteFilesByClass 2019-11-13 04:35:44 +01:00
Katy Coe
a5e4508e6f Output: Use C# namespace syntax 2019-11-12 23:03:05 +01:00
Katy Coe
144380c6d3 Output: Write preamble comment at top of code output 2019-11-12 21:05:37 +01:00
Katy Coe
928ba16efc Fix crash for fixed buffers when the name of FixedBufferAttribute.FixedElementField is obfuscated 2019-11-12 18:33:13 +01:00
Katy Coe
cec6c4aea7 Output: Include using directives for assembly-level attribute namespaces 2019-11-12 05:46:33 +01:00
Katy Coe
268a10a950 Output: Emit using directives at start of C# output 2019-11-12 05:38:05 +01:00
Katy Coe
fee6e02cb3 Output: Refactor code and fix spacing between code blocks 2019-11-12 02:08:31 +01:00
Katy Coe
06ed21747e Model and Output: Implement generic type constraints 2019-11-11 21:48:04 +01:00
Katy Coe
13ceaaf47a Output: Implement extension methods 2019-11-11 03:01:29 +01:00
Katy Coe
d6422baf45 Output: Write custom attributes in alphabetical order 2019-11-11 01:44:45 +01:00
Katy Coe
734e88a07b Model: Make assembly definitions available 2019-11-11 01:37:51 +01:00
Katy Coe
5bf6e2c7c3 Output: Annotate unmanaged type usages with 'unsafe' keyword 2019-11-10 18:53:07 +01:00