Skip to content
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
9f940a3
initial working version of simple subtypes
supersaiyansubtlety Aug 2, 2025
f9d982b
checkstyle
supersaiyansubtlety Aug 2, 2025
ab2f7ca
merge SimpleSubtypeFieldNamesRegistry into SimpleTypeFieldNamesRegistry
supersaiyansubtlety Aug 3, 2025
46c07bc
improve SimpleTypeFieldNamesRegistry validation and schema
supersaiyansubtlety Aug 3, 2025
a3ca682
make SimpleSubtypeSingleIndex skip non-concrete types
supersaiyansubtlety Aug 3, 2025
55e8955
add tests for TRANSFORM_SUBTYPE_NAME
supersaiyansubtlety Aug 3, 2025
473e6a9
add clarifying test comment
supersaiyansubtlety Aug 3, 2025
01245ab
fix merging of outerclass fields in SimpleSubtypeSingleIndex
supersaiyansubtlety Aug 3, 2025
ef628f7
make simple subtype proposals incremental
supersaiyansubtlety Aug 4, 2025
6b11416
remove unnecessary type fields
supersaiyansubtlety Aug 6, 2025
e4a40c9
fix for packaged classes
supersaiyansubtlety Sep 9, 2025
0565547
Merge branch 'master' into simple-subtypes
supersaiyansubtlety Nov 30, 2025
622726e
fix starting param type counts at 0 instead of 1 for SimpleSubtypeSin…
supersaiyansubtlety Nov 30, 2025
eaf367b
fix ConflictFixProposer for deobf methods' params
supersaiyansubtlety Nov 30, 2025
c34c2f4
fix type verification test flakiness with polling hack
supersaiyansubtlety Nov 30, 2025
ec9ad10
minor cleanup
supersaiyansubtlety Nov 30, 2025
3038da4
reduce visibility of some simple sub/type index members
supersaiyansubtlety Nov 30, 2025
2dcf292
remove unused @TestOnly method
supersaiyansubtlety Nov 30, 2025
2e0599a
only read SimpleTypeFieldNamesRegistry once
supersaiyansubtlety Nov 30, 2025
c27c916
split up SimpleSubtypeFieldnameProposerTest tests
supersaiyansubtlety Nov 30, 2025
5567914
inline sub/type indexes' dropCache methods
supersaiyansubtlety Nov 30, 2025
b379020
fix inheritance search order in SimpleSubtypeSingleIndex
supersaiyansubtlety Dec 1, 2025
a2d2e6e
replace insertAndDynamicallyPropose with putMapping
supersaiyansubtlety Dec 1, 2025
7dfb0f8
fix inheritance overrides for simple type names
supersaiyansubtlety Dec 1, 2025
60d2c99
add separate simple type verification test
supersaiyansubtlety Dec 1, 2025
d0c1b13
remove SimpleTypeFieldNameProposerTest::testTypeVerification
supersaiyansubtlety Dec 1, 2025
1040441
unify unCapitalize methods
supersaiyansubtlety Dec 2, 2025
6670c5b
replace Either with Result for SimpleTypeFieldNamesRegistry parsing
supersaiyansubtlety Dec 2, 2025
15bdbe4
remove boolean parsing for inherit property
supersaiyansubtlety Dec 3, 2025
2848e8f
extract missingRequirementErrOf method
supersaiyansubtlety Dec 3, 2025
b4e37e9
Merge branch 'master' into simple-subtypes
supersaiyansubtlety Jan 27, 2026
0aef6fa
update to enigma 2.7.2, use InheritanceIndex::streamAncestors
supersaiyansubtlety Jan 27, 2026
5f7ca41
require enigma 2.7.2
supersaiyansubtlety Jan 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 28 additions & 11 deletions enigma_test/simple_type_field_names.json5
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
$schema: "../src/main/resources/simple_type_field_names_schema.json",

"com/a/a/a": "config",
"com/a/c/a": "config",

// for conflict fix test
"com/a/n": { // Identifiable
Expand All @@ -17,15 +17,15 @@
},

// Position
"com/a/a/b": "pos", // Pos
"com/a/a/c": { // Position
"com/a/c/b": "pos", // Pos
"com/a/c/c": { // Position
local_name: "pos",
exclusive: true,
fallback: [
"position"
]
},
"com/a/a/d": { // RandomPosition
"com/a/c/d": { // RandomPosition
local_name: "pos",
exclusive: true,
fallback: [
Expand All @@ -35,7 +35,7 @@
},

// State
"com/a/a/e": { // StateA
"com/a/c/e": { // StateA
local_name: "state",
static_name: "STATIC_STATE",
exclusive: true,
Expand All @@ -46,7 +46,7 @@
}
]
},
"com/a/a/f": { // StateB
"com/a/c/f": { // StateB
local_name: "state",
static_name: "STATIC_STATE",
exclusive: true,
Expand All @@ -59,35 +59,52 @@
},

// Value
"com/a/a/g": { // ValueA
"com/a/c/g": { // ValueA
local_name: "value",
exclusive: true,
fallback: [
"valueA"
]
},
"com/a/a/h": { // ValueB
"com/a/c/h": { // ValueB
local_name: "value",
exclusive: true,
fallback: [
"valueB"
]
},
"com/a/a/i": { // ValueC
"com/a/c/i": { // ValueC
local_name: "value",
exclusive: true,
fallback: [
"valueC"
]
},
"com/a/a/j": { // ValueD
"com/a/c/j": { // ValueD
local_name: "valueD",
exclusive: true,
inherit: true
},
"com/a/a/l": { // ValueE
"com/a/c/l": { // ValueE
local_name: "valueE",
exclusive: true
},

"com/a/b/b": { // Entity
local_name: "entity",
inherit: {
type: "TRUNCATED_SUBTYPE_NAME",
suffix: "Entity"
}
},
"com/a/a/a": { // BlockEntityRenderer
local_name: "blockEntityRenderer",
inherit: {
type: "TRANSFORMED_SUBTYPE_NAME",
"pattern": "(.+)BlockEntityRenderer",
"replacement": "$1Renderer"
}
},

"not/present": "missing"
}
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[versions]
enigma = "2.7.1"
enigma = "2.7.2"

asm = "9.9"
quilt_json_parser = "0.3.1"
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/quiltmc/enigma_plugin/index/JarIndexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import org.quiltmc.enigma.api.service.JarIndexerService;
import org.quiltmc.enigma_plugin.QuiltEnigmaPlugin;
import org.quiltmc.enigma_plugin.index.constant_fields.ConstantFieldIndex;
import org.quiltmc.enigma_plugin.index.simple_type_single.SimpleSubtypeSingleIndex;
import org.quiltmc.enigma_plugin.index.simple_type_single.SimpleTypeSingleIndex;

import java.util.ArrayList;
Expand All @@ -42,6 +43,7 @@ public JarIndexer() {
this.addIndex(new ConstructorParametersIndex());
this.addIndex(new GetterSetterIndex());
this.addIndex(new SimpleTypeSingleIndex());
this.addIndex(new SimpleSubtypeSingleIndex());
this.addIndex(new DelegateParametersIndex());
this.addIndex(new LoggerIndex());
this.addIndex(new LambdaParametersIndex());
Expand Down
Loading
Loading