Commit Graph

213 Commits

Author SHA1 Message Date
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
Katy Coe
c54e56c6df Model: Don't crash on ParameterInfo.IsByRef if the parameter contains a generic component 2019-11-07 03:02:24 +01:00
Katy Coe
a22a4c1927 Model: Set ContainsGenericParameters correctly for arrays and pointers 2019-11-07 03:01:39 +01:00
Katy Coe
4602497166 Model: Move parameter string generation to ParameterInfo 2019-11-07 02:31:47 +01:00
Katy Coe
7ab0c347f2 Model: Handle "in" and "ref" parameters 2019-11-07 02:26:03 +01:00
Katy Coe
4800575f08 Output: Fix access modifiers on properties, add to getters and setters 2019-11-06 00:33:38 +01:00
Katy Coe
fa6e1683e5 Output: FieldAttributes.FamANDAssem is "private protected" from C# 7.2 onwards 2019-11-05 21:08:40 +01:00
Katy Coe
14a9c89804 Model and Output: Implement default method parameter values 2019-11-05 20:09:13 +01:00
Katy Coe
6f53d87a55 Model: Fill in remaining ParameterAttributes 2019-11-05 19:41:18 +01:00
Katy Coe
87374e0a63 Model: Use FIELD_ATTRIBUTE_HAS_DEFAULT to determine if a field has a default value 2019-11-05 19:40:17 +01:00
Katy Coe
067cea9e5f Refactor some string output helper functions into extension methods 2019-11-05 19:34:12 +01:00
Katy Coe
8571d6d6f3 Output: Display Nullable<T> as T? 2019-11-05 18:58:04 +01:00
Katy Coe
8382df7cc9 Model: Base type of a pointer should be null 2019-11-05 17:09:15 +01:00
Katy Coe
45da7ab382 Model: Handle naming of nested arrays and nested pointers correctly 2019-11-05 16:59:23 +01:00
Katy Coe
7f0f5121e4 Model: Enumerations have an underlying type, not an element type 2019-11-05 16:21:25 +01:00
Katy Coe
5754e50c90 Model: Base type of System.Object is not System.Object 2019-11-04 23:11:36 +01:00