Commit Graph

247 Commits

Author SHA1 Message Date
Katy Coe
8d272a25fc Make model access thread-safe 2019-12-14 12:00:47 +01:00
Katy Coe
98366a7b49 Output: Explicitly implemented generic properties could have mismatched chevrons 2019-12-12 11:14:14 +01:00
Katy Coe
001e60dbde Output: Fix \u-format string escaping 2019-12-12 10:33:33 +01:00
Katy Coe
1ce823833f Output: Extension method first parameter attributes must go before 'this' 2019-12-12 10:26:09 +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
88be17003e Output: Don't include nested generic type parameters in generic type usages (CS0305) 2019-12-11 12:34:36 +01:00
Katy Coe
ffb1ebced7 Output: Ignore static and non-public constructors when determining if an attribute should be commented out (CS7036) 2019-12-11 10:47:20 +01:00
Katy Coe
5a42afe7f2 Model and Output: Dramatically improve handling of byref types 2019-12-11 09:30:00 +01:00
Katy Coe
d8befc0a15 Output: Give non-auto-properties accessor bodies (CS8080) 2019-12-10 15:32:13 +01:00
Katy Coe
46acc1b5a7 IL2CPP: Load InterfaceOffsets, VTableMethodIndices and MethodSpecs 2019-12-10 14:14:02 +01:00
Katy Coe
33de89bed7 Output: Add AttributeTargets.All to AttributeUsage instances when using --must-compile (CS0592) 2019-12-10 03:13:37 +01:00
Katy Coe
c24bb6a7bd Output: Use default instead of null for default struct and generic type parameter values (CS1750) 2019-12-10 02:57:57 +01:00
Katy Coe
12ecce4086 Output: Don't show default values for required parameters in method signatures (CS1737) 2019-12-10 01:34:50 +01:00
Katy Coe
a38b75c9c1 Output: struct/class must be the first generic type constraint (CS0449) 2019-11-30 07:21:09 +01:00
Katy Coe
da9252a68c Output: Show enum usages as their corresponding member names (CS0266, CS1750) 2019-11-29 08:37:46 +01:00
Katy Coe
b36ccda9b9 Model: Small naming corrections to improve reliability (re: CS0308) 2019-11-29 06:51:30 +01:00
Katy Coe
022d6db74a Model and Output: Calculate generic type parameter scopes in nested type usages (CS0308) 2019-11-29 04:56:39 +01:00
Katy Coe
6e304ab7da Model: Include type parameter constraints in generic class definition when finding referenced types (CS0246) 2019-11-29 02:46:42 +01:00
Katy Coe
0fe5fa53a6 Model: Include the global namespace when checking for ambiguous type references 2019-11-29 02:33:47 +01:00
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