Commit Graph
33 Commits
Author SHA1 Message Date
Jeremy Pritts 1dfeeddc4e Fix pre-v29 attributes (#596) 2026-08-03 23:11:09 +01:00
Sam Byass a87d484b95 Decompiler: Stop having operands be raw object-typed 2026-08-02 14:12:15 +01:00
Jeremy Pritts 7f25c1da26 Support overriding default values for method parameters (#586) 2026-07-25 15:28:08 +01:00
Aaron Robinson 0ac9268db1 Fix attributes on metadata version >= 104 (#555) 2026-06-08 00:14:21 +01:00
Sam ByassandMilo 7fd44cac62 Rebase of #481 on current development
Original exploratory work by Milo (@TheUser-1231) in PR #481.

Co-authored-by: Milo <[email protected]>
2026-06-07 17:25:14 +01:00
Xpl0itR 9f6b2f6d76 Remove static mutable state from LibCpp2IL 2: Electric Boogaloo (#542) 2026-06-07 14:14:35 +01:00
Jeremy PrittsandSam Byass 9ce22e9116 Support overriding anything (#462)
Co-authored-by: Sam Byass <[email protected]>
2025-06-01 17:47:23 +01:00
ds5678 b3c0dbefb8 Remove AttributeAttribute::Name 2025-05-15 19:18:41 +01:00
ds5678 717c40a73c Support injecting anything
* Nested types
* Events
* Properties
* Assemblies

Support additional metadata in injected assemblies

Make setter for TypeAnalysisContext::OverrideBaseType public

TypeAnalysisContext::InterfaceContexts as list rather than array

Fix sign bug

Support generic parameters on type contexts and method contexts

Make GenericParameterTypeAnalysisContext instances unique

Revert change to Il2CppGenericParameter::Index

Use attributes to determine if injected methods are static
* Also add hide by sig attribute for injected constructors

Support overrides on injected methods

In ControlFlowGraphOutputFormat, exclude injected assemblies

Ensure injected assemblies can't delete existing assemblies

Backing field on .NET Standard for injected method overrides

Implement requested change
2025-05-15 19:16:23 +01:00
Jeremy Pritts 0749353ae8 Fix explicit interface method overrides (#414) 2025-02-24 16:27:23 +00:00
Sam Byass ea00fc3adf Factor out some usage of static state 2024-12-13 22:29:28 +00:00
Jeremy Pritts b9b8ccaf99 Add Type field to AttributeAttribute (#393)
* Change AttributeAttribute Name field to a Type field

* Revert removal of Name field

* Make the name field last
2024-12-13 18:09:30 +00:00
Jeremy Pritts 03b6607aab Hide duplicate properties in MethodAnalysisContext (#354) 2024-10-25 16:28:45 +01:00
ds5678 d9048e9a8f * Reduce allocations
* Ensure correct return type
* Ensure correct declaring type
* Improve output in call analysis
2024-10-24 10:52:24 +00:00
Sam Byass 059ab924e7 Standardise code formatting across entire repo 2024-08-25 00:19:11 +01:00
thegu5 b993b3eef8 bump language versions, use collection expressions and file-scoped namespaces 2024-08-21 09:15:53 +00:00
ds5678 fa86c0910d Avoid unnecessary control flow 2024-08-19 00:28:17 +01:00
ds5678 b56f402238 Handle strings in Call Analysis and Native Method Detection 2024-08-17 21:43:27 +00:00
Sam Byass a227bef9ab Core: Code cleanup, diffable-cs improvements 2024-07-23 12:14:01 +01:00
Sam Byass 4943b34d64 Core: Add a "low-memory mode" that attempts to reduce memory usage
More work to help on #306
2024-06-30 22:45:57 +01:00
Sam Byass 97493473de Core: Some changes to reduce memory usage of call analysis + native method detection
Should help with #306
2024-06-30 22:38:16 +01:00
Jeremy PrittsandSam Byass 6b49552396 Update Cpp2IL.Core/ProcessingLayers/CallAnalysisProcessingLayer.cs
Co-authored-by: Sam Byass <[email protected]>
2024-06-20 11:46:15 +01:00
ds5678 707c797d6d Include the return type in call analysis attributes 2024-06-20 11:46:15 +01:00
Jeremy PrittsandSam Byass 03e634cab3 Update Cpp2IL.Core/ProcessingLayers/CallAnalysisProcessingLayer.cs
Co-authored-by: Sam Byass <[email protected]>
2024-06-20 11:45:55 +01:00
ds5678 2e3ee1ca9d Generate MemberTypeParameters for Generic Methods 2024-06-20 11:45:55 +01:00
ds5678 82e36b7f6f New Invalid ISIL Instruction 2024-06-19 14:57:31 +01:00
Jeremy Pritts 3d6a81f9ff object instead of Type in Call Analysis Attributes (#267) 2024-01-01 21:16:50 +00:00
Jeremy Pritts 97fac89c39 Emit Full Method Signatures in Call Analysis (#263) 2024-01-01 19:16:32 +00:00
Jeremy Pritts c0eccb1cf5 Support Type Parameters in Call Analysis (#255) 2024-01-01 14:59:41 +00:00
Jeremy Pritts 6a5e46ef3c Make call analysis compatible with native method detection (#251) 2024-01-01 03:01:27 +00:00
Jeremy Pritts 3cacee9c22 Native Method Detection (#246) 2023-12-31 17:03:09 +00:00
Jeremy Pritts cda94c13c7 TypeAnalysisContext for Custom Attribute parameters 2022-12-20 23:52:58 +00:00
Jeremy Pritts a82215265d Refactor CorePlugin namespace 2022-12-20 23:32:46 +00:00