Commit Graph

228 Commits

Author SHA1 Message Date
Katy Coe
c113f3abe9 Model: Include generic type arguments in GetAllTypeReferences() (CS0246) 2019-11-28 18:36:35 +01:00
Katy Coe
e48c1813f3 Model and Output: Retrieve fully qualified assembly names 2019-11-28 04:44:27 +01:00
Katy Coe
946288a7b5 Model: Give names to unnamed parameters 2019-11-28 04:17:22 +01:00
Katy Coe
b0a1ce3df7 Fix end method pointers being incorrect when compiler aggregates multiple methods to same start address 2019-11-28 04:08:58 +01:00
Katy Coe
de846ea6db Clean up some compiler messages 2019-11-28 04:00:32 +01:00
Katy Coe
f77a9e5289 Model: TypeInfo.GetMethods() returned incorrect data 2019-11-28 03:49:09 +01:00
Katy Coe
e3cd4a06d2 Output: Dramatically improve scope resolution (CS0104, CS0234, CS0246, CS0718, CS0721, CS0722, CS0723) 2019-11-27 18:33:59 +01:00
Katy Coe
f41c6dc231 Output: Don't output base method generic constraints on overridden method (CS0460) 2019-11-18 07:27:58 +01:00
Katy Coe
36f7c19b8f Model: Improve signature matching for overridden/hidden methods (CS0108) 2019-11-18 07:24:47 +01:00
Katy Coe
8f7b461310 Output: Render finalizers as C# destructors (CS0249) 2019-11-18 06:24:18 +01:00
Katy Coe
b141e57598 Output: Annotate float values with 'f' suffix (CS0664) 2019-11-18 06:06:42 +01:00
Katy Coe
e1752febbb Model: Include ComVisible and Serializable in TypeInfo.GetAllTypeReferences() 2019-11-18 02:46:07 +01:00
Katy Coe
3849b38520 Output: Fix regressions in TypeInfo.CSharpTypeDeclarationName and TypeInfo.CSharpName 2019-11-18 02:19:25 +01:00
Katy Coe
4e3a8f25cc Output: Correctly handle slicing of explicit interface implementations with built-in types 2019-11-18 01:59:49 +01:00
Katy Coe
aa50791362 Output: Don't output inherited generic type parameters on nested class definitions 2019-11-18 01:58:53 +01:00
Katy Coe
7167f37d18 Output: Fix covariant/contravariant generic constraints and nested generic parameters in type definitions 2019-11-18 01:06:24 +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
22d85ce683 Output: Explicit interface implementations should not have access level modifiers 2019-11-17 23:20:23 +01:00
Katy Coe
32608874cc Output: Handle scoped type name resolution conflicts (CS0104) 2019-11-17 22:27:44 +01:00
Katy Coe
e2f423b7f2 Model: Cache type definitions by fully qualified name 2019-11-17 21:53:59 +01:00
Katy Coe
d97a36d8f7 Model: Cache instances of CustomAttributeData 2019-11-16 23:31:59 +01:00
Katy Coe
b862fd99de Output: Implement --comment-attributes option 2019-11-16 21:33:49 +01:00
Katy Coe
7de9451e7c Output: Don't output generic constraints from outer types on inner types 2019-11-15 06:09:41 +01:00
Katy Coe
00f094e921 Output: Static constructors cannot have an access modifier 2019-11-15 05:15:32 +01:00
Katy Coe
92b964cd9c Output: Escape special characters in C# strings properly 2019-11-15 05:14:49 +01:00
Katy Coe
6c1a56abbd IL2CPP: Fix duplicate key / key not found errors introduced in previous commit 2019-11-14 17:07:19 +01:00
Katy Coe
f1629824d7 Performance: Pre-calculate all method start and end pointers 2019-11-14 16:39:42 +01:00
Katy Coe
69d4ffa9d5 Performance: Pre-arrange custom attribute indexes for versions >=24.1 2019-11-14 05:04:03 +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
f5e98678bb IL2CPP: Load all Il2CppCodeGenModule method pointers into memory at init time 2019-11-13 17:12:31 +01:00
Katy Coe
7c64e0a09c Add --suppress-metadata option 2019-11-13 15:55:18 +01:00
Katy Coe
3b6dee36ba IL2CPP: Fix versioning errors in Il2CppAssemblyNameDefinition and Il2CppAssemblyDefinition 2019-11-12 20:23:50 +01:00
Katy Coe
ae57e239bf Model: Simplify SelectMany() queries 2019-11-12 04:52:36 +01:00
Katy Coe
26d341db81 Model: TypeInfo.GetAllTypeReferences() and TypeInfo.DeclaredMembers 2019-11-12 04:19:52 +01:00
Katy Coe
06ed21747e Model and Output: Implement generic type constraints 2019-11-11 21:48:04 +01:00
Katy Coe
0f8b1428e4 IL2CPP: Read generic constraints data 2019-11-11 20:44:10 +01:00
Katy Coe
13ceaaf47a Output: Implement extension methods 2019-11-11 03:01:29 +01:00
Katy Coe
cbcec482b9 Model: Retrieve assembly-level custom attributes correctly 2019-11-11 01:38:14 +01:00
Katy Coe
734e88a07b Model: Make assembly definitions available 2019-11-11 01:37:51 +01:00
Katy Coe
e923a51fc0 IL2CPP: Read metadata v15 correctly 2019-11-11 01:33:03 +01:00
Katy Coe
eb334751f9 Inspector: Load Assembly and AssemblyName metadata 2019-11-11 01:04:44 +01:00
Katy Coe
5bf6e2c7c3 Output: Annotate unmanaged type usages with 'unsafe' keyword 2019-11-10 18:53:07 +01:00
Katy Coe
54d03b9f0f Refactor C# keyword modifer code slightly 2019-11-10 17:46:19 +01:00
Katy Coe
7f683fc629 Output: Handle indexers correctly 2019-11-09 23:46:07 +01:00
Katy Coe
41d2325560 Model: Handle C# method hiding ('new' keyword in method declarations) 2019-11-09 22:32:32 +01:00
Katy Coe
4f54c7a85e Model: Add TypeInfo.GetMethods(string) and TypeInfo.GetAllMethods() 2019-11-09 22:15:26 +01:00
Katy Coe
68dc57f541 Model: MemberInfo.GetCustomAttributes() now returns CustomAttributeData[] 2019-11-09 20:24:43 +01:00
Katy Coe
21d486eb92 Model: Make Get*() return null instead of throwing exception if no matching item found 2019-11-09 20:21:31 +01:00
Katy Coe
769dd2079d Add MethodInfo/ParameterInfo GetSignatureString() 2019-11-09 05:32:59 +01:00