Commit Graph

259 Commits

Author SHA1 Message Date
Katy Coe
5a3e4d85ac Clarify IL2CPP image error message meaning 2020-01-26 21:46:20 +01:00
Carter Bush
8045f2cfd7 Output: IDA Python script generation
IL2CPP: Implement MetadataUsages
2020-01-26 21:34:48 +01:00
Katy Coe
7704c9f3d9 Model: Fix unscoped type names in files with no namespaces in scope 2020-01-19 02:57:24 +01:00
Katy Coe
adc52818fb Model: Detect and fix orphan property methods 2020-01-18 21:30:34 +01:00
Katy Coe
64b263bafb IL2CPP: Merge attribute and method pointers, improve attribute function end addresses 2020-01-18 20:28:53 +01:00
Katy Coe
ab15730e8e ELF: Fix function table addresses were not mapped to image (#15) 2020-01-18 04:59:32 +01:00
Katy Coe
30fd98b65a ELF: Fix incorrect DT_SYMTAB read offset (part of #15) 2020-01-16 19:24:35 +01:00
Katy Coe
140e31b206 Output: Fix crash outputting undefined enum value (use cast instead) (#11) 2020-01-06 11:06:14 +01:00
Katy Coe
0b868aae36 IL2CPP: Fix field offsets for certain 64-bit binaries (#10) 2020-01-06 08:54:52 +01:00
Katy Coe
a3fd260afc ELF: Ignore relocations into memory addresses not mapped from the image (part of #14) 2020-01-06 08:22:39 +01:00
Katy Coe
2b32d2535e Remove debugging output from TypeInfo.getScopedFullName 2019-12-14 14:05:10 +01:00
Katy Coe
e3058597f3 Output: Fix regression in truncation of interface names for explicitly implemented properties 2019-12-14 14:00:10 +01:00
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