diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 0b94ed839..79297fd0f 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -9,4 +9,4 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- - uses: gradle/actions/wrapper-validation@v3
+ - uses: gradle/actions/wrapper-validation@v4
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 5f5d81090..de6789258 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -9,27 +9,21 @@ jobs:
name: Publish
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
+ - name: Checkout sources
+ uses: actions/checkout@v4
with:
submodules: true
- name: Fetch latest submodule updates
run: git submodule update --remote
- - uses: actions/setup-java@v4
+ - name: Setup Java
+ uses: actions/setup-java@v4
with:
- distribution: 'zulu'
- java-version: |
- 11
- 17
- - uses: actions/cache@v4
+ distribution: 'temurin'
+ java-version: 17
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v4
with:
- path: |
- ~/.gradle/caches
- ~/.gradle/jdks
- ~/.gradle/native
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', 'gradle/**', 'gradle.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
+ cache-read-only: true
- name: Setup publish token
env:
JETBRAINS_TOKEN: ${{ secrets.JETBRAINS_TOKEN }}
@@ -38,8 +32,12 @@ jobs:
mkdir -p ~/.gradle/
echo "GRADLE_USER_HOME=$HOME/.gradle" >> "$GITHUB_ENV"
echo "mcdev.deploy.token=${JETBRAINS_TOKEN}" > ~/.gradle/gradle.properties
+ - shell: bash
+ run: |
+ mkdir -p ~/.gradle/
+ echo -e '\norg.gradle.jvmargs=-Xmx4G\n' >> ~/.gradle/gradle.properties
- name: Publish plugin
- run: ./gradlew clean :publishPlugin --no-daemon --stacktrace
+ run: ./gradlew clean :publishPlugin --stacktrace
- name: Get tag name
id: get_tag
shell: bash
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index c535c8082..d34499f21 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -16,21 +16,25 @@ jobs:
- 'windows-latest'
runs-on: ${{ matrix.os }}
steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-java@v4
+ - name: Checkout sources
+ uses: actions/checkout@v4
+ - name: Setup Java
+ uses: actions/setup-java@v4
with:
- distribution: 'zulu'
- java-version: |
- 11
- 17
- - uses: actions/cache@v4
+ distribution: 'temurin'
+ java-version: 17
+ - uses: actions-ecosystem/action-regex-match@d50fd2e7a37d0e617aea3d7ada663bd56862b9cc
+ id: branch-match
with:
- path: |
- ~/.gradle/caches
- ~/.gradle/jdks
- ~/.gradle/native
- ~/.gradle/wrapper
- key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', 'gradle/**', 'gradle.properties') }}
- restore-keys: |
- ${{ runner.os }}-gradle-
- - run: ./gradlew build --no-daemon --stacktrace
+ text: ${{ github.ref }}
+ regex: '^refs\/heads\/\d{4}\.\d$'
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v4
+ with:
+ cache-read-only: ${{ github.ref != 'refs/heads/dev' && steps.branch-match.outputs.match == '' }}
+ - shell: bash
+ run: |
+ mkdir -p ~/.gradle/
+ echo -e '\norg.gradle.jvmargs=-Xmx4G\n' >> ~/.gradle/gradle.properties
+ - name: Build
+ run: ./gradlew build --stacktrace
diff --git a/build.gradle.kts b/build.gradle.kts
index a0321242b..285b8235b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -86,7 +86,9 @@ dependencies {
implementation(files(gradleToolingExtensionJar))
- implementation(libs.mixinExtras.expressions)
+ implementation(libs.mixinExtras.expressions) {
+ exclude(group = "org.ow2.asm", module = "asm-debug-all")
+ }
testLibs(libs.mixinExtras.common)
implementation(libs.mappingIo)
@@ -105,12 +107,14 @@ dependencies {
bundledPlugin("ByteCodeViewer")
bundledPlugin("org.intellij.intelliLang")
bundledPlugin("com.intellij.properties")
+ bundledPlugin("Git4Idea")
// Optional dependencies
bundledPlugin("org.jetbrains.kotlin")
bundledPlugin("org.toml.lang")
bundledPlugin("org.jetbrains.plugins.yaml")
+
testFramework(TestFrameworkType.JUnit5)
testFramework(TestFrameworkType.Plugin.Java)
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 5b044e7c9..fda3b3b6f 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -18,6 +18,7 @@
* along with this program. If not, see .
*/
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
@@ -25,10 +26,10 @@ plugins {
}
tasks.withType().configureEach {
- options.release.set(8)
+ options.release.set(17)
}
tasks.withType().configureEach {
- kotlinOptions.jvmTarget = "1.8"
+ compilerOptions.jvmTarget = JvmTarget.JVM_17
}
repositories {
diff --git a/gradle.properties b/gradle.properties
index 07af68a83..2c534dc7e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -21,7 +21,7 @@
# suppress inspection "UnusedProperty" for whole file
ideaVersionName = 2024.1
-coreVersion = 1.8.2
+coreVersion = 1.8.3
# Silences a build-time warning because we are bundling our own kotlin library
kotlin.stdlib.default.dependency = false
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 7dd239360..d747135a5 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -7,7 +7,7 @@ asm = "9.6"
fuel = "2.3.1"
licenser = "0.6.1"
changelog = "2.2.0"
-intellij-plugin = "2.1.0"
+intellij-plugin = "2.4.0"
intellij-ide = "2024.1"
idea-ext = "1.1.8"
psiPlugin = "241.14494.158-EAP-SNAPSHOT"
@@ -31,7 +31,7 @@ changelog-plugin = { module = "org.jetbrains.changelog:org.jetbrains.changelog.g
coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "coroutines" }
mappingIo = "net.fabricmc:mapping-io:0.2.1"
-mixinExtras-expressions = "io.github.llamalad7:mixinextras-expressions:0.0.3"
+mixinExtras-expressions = "io.github.llamalad7:mixinextras-expressions:0.0.4"
# GrammarKit
jflex-lib = "org.jetbrains.idea:jflex:1.7.0-b7f882a"
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 2c3521197..9bbc975c7 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 09523c0e5..37f853b1c 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
index f5feea6d6..faf93008b 100755
--- a/gradlew
+++ b/gradlew
@@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
+APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
@@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
+# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
diff --git a/obfuscation-explorer/changelog.md b/obfuscation-explorer/changelog.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/obfuscation-explorer/src/main/grammars/CSrgLexer.flex b/obfuscation-explorer/src/main/grammars/CSrgLexer.flex
index 11fd178ac..77596ee01 100644
--- a/obfuscation-explorer/src/main/grammars/CSrgLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/CSrgLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.csrg.gen;
+package io.mcdev.obfex.formats.csrg.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/EnigmaLexer.flex b/obfuscation-explorer/src/main/grammars/EnigmaLexer.flex
index 952cec42c..665b79a86 100644
--- a/obfuscation-explorer/src/main/grammars/EnigmaLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/EnigmaLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.enigma.gen;
+package io.mcdev.obfex.formats.enigma.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/JamLexer.flex b/obfuscation-explorer/src/main/grammars/JamLexer.flex
index 91d65d89d..ec0629c22 100644
--- a/obfuscation-explorer/src/main/grammars/JamLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/JamLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.jam.gen;
+package io.mcdev.obfex.formats.jam.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/ProGuardLexer.flex b/obfuscation-explorer/src/main/grammars/ProGuardLexer.flex
index 7e0d82ddd..ed870583e 100644
--- a/obfuscation-explorer/src/main/grammars/ProGuardLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/ProGuardLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.proguard.gen;
+package io.mcdev.obfex.formats.proguard.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/SrgLexer.flex b/obfuscation-explorer/src/main/grammars/SrgLexer.flex
index ecee91339..3d552328c 100644
--- a/obfuscation-explorer/src/main/grammars/SrgLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/SrgLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.srg.gen;
+package io.mcdev.obfex.formats.srg.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/TSrg2Lexer.flex b/obfuscation-explorer/src/main/grammars/TSrg2Lexer.flex
index 8d4a381a7..f73adfd7d 100644
--- a/obfuscation-explorer/src/main/grammars/TSrg2Lexer.flex
+++ b/obfuscation-explorer/src/main/grammars/TSrg2Lexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.tsrg2.gen;
+package io.mcdev.obfex.formats.tsrg2.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/TSrgLexer.flex b/obfuscation-explorer/src/main/grammars/TSrgLexer.flex
index 9f8fc9451..25a1caec0 100644
--- a/obfuscation-explorer/src/main/grammars/TSrgLexer.flex
+++ b/obfuscation-explorer/src/main/grammars/TSrgLexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.tsrg.gen;
+package io.mcdev.obfex.formats.tsrg.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/TinyV1Lexer.flex b/obfuscation-explorer/src/main/grammars/TinyV1Lexer.flex
index 1eacc61db..d4fbad6b8 100644
--- a/obfuscation-explorer/src/main/grammars/TinyV1Lexer.flex
+++ b/obfuscation-explorer/src/main/grammars/TinyV1Lexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.tinyv1.gen;
+package io.mcdev.obfex.formats.tinyv1.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/grammars/TinyV2Lexer.flex b/obfuscation-explorer/src/main/grammars/TinyV2Lexer.flex
index 4275b9232..4ad4a6605 100644
--- a/obfuscation-explorer/src/main/grammars/TinyV2Lexer.flex
+++ b/obfuscation-explorer/src/main/grammars/TinyV2Lexer.flex
@@ -18,7 +18,7 @@
* along with this program. If not, see .
*/
-package io.mcdev.obfex.formats.tinyv2.gen;
+package io.mcdev.obfex.formats.tinyv2.gen.lexer;
import com.intellij.lexer.*;
import com.intellij.psi.tree.IElementType;
diff --git a/obfuscation-explorer/src/main/kotlin/formats/csrg/lang/psi/CSrgLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/csrg/lang/psi/CSrgLexerAdapter.kt
index 4015443b9..f5d1aa03e 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/csrg/lang/psi/CSrgLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/csrg/lang/psi/CSrgLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.csrg.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.csrg.gen.CSrgLexer
+import io.mcdev.obfex.formats.csrg.gen.lexer.CSrgLexer
class CSrgLexerAdapter : FlexAdapter(CSrgLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/enigma/lang/psi/EnigmaLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/enigma/lang/psi/EnigmaLexerAdapter.kt
index 06f6689ac..fcef4e772 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/enigma/lang/psi/EnigmaLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/enigma/lang/psi/EnigmaLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.enigma.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.enigma.gen.EnigmaLexer
+import io.mcdev.obfex.formats.enigma.gen.lexer.EnigmaLexer
class EnigmaLexerAdapter : FlexAdapter(EnigmaLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/jam/lang/psi/JamLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/jam/lang/psi/JamLexerAdapter.kt
index 6f03025aa..13adff601 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/jam/lang/psi/JamLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/jam/lang/psi/JamLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.jam.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.jam.gen.JamLexer
+import io.mcdev.obfex.formats.jam.gen.lexer.JamLexer
class JamLexerAdapter : FlexAdapter(JamLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/proguard/lang/psi/ProGuardLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/proguard/lang/psi/ProGuardLexerAdapter.kt
index bdba4fd3d..18aec9663 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/proguard/lang/psi/ProGuardLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/proguard/lang/psi/ProGuardLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.proguard.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.proguard.gen.ProGuardLexer
+import io.mcdev.obfex.formats.proguard.gen.lexer.ProGuardLexer
class ProGuardLexerAdapter : FlexAdapter(ProGuardLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/srg/lang/psi/SrgLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/srg/lang/psi/SrgLexerAdapter.kt
index 806d4b0a2..c59982ad5 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/srg/lang/psi/SrgLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/srg/lang/psi/SrgLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.srg.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.srg.gen.SrgLexer
+import io.mcdev.obfex.formats.srg.gen.lexer.SrgLexer
class SrgLexerAdapter : FlexAdapter(SrgLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/tinyv1/lang/psi/TinyV1LexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/tinyv1/lang/psi/TinyV1LexerAdapter.kt
index af44f6803..a319a9d59 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/tinyv1/lang/psi/TinyV1LexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/tinyv1/lang/psi/TinyV1LexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.tinyv1.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.tinyv1.gen.TinyV1Lexer
+import io.mcdev.obfex.formats.tinyv1.gen.lexer.TinyV1Lexer
class TinyV1LexerAdapter : FlexAdapter(TinyV1Lexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/tinyv2/lang/psi/TinyV2LexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/tinyv2/lang/psi/TinyV2LexerAdapter.kt
index c9c198e29..3b0fa1394 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/tinyv2/lang/psi/TinyV2LexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/tinyv2/lang/psi/TinyV2LexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.tinyv2.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.tinyv2.gen.TinyV2Lexer
+import io.mcdev.obfex.formats.tinyv2.gen.lexer.TinyV2Lexer
class TinyV2LexerAdapter : FlexAdapter(TinyV2Lexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/tsrg/lang/psi/TSrgLexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/tsrg/lang/psi/TSrgLexerAdapter.kt
index b8f12c4be..eff982ae7 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/tsrg/lang/psi/TSrgLexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/tsrg/lang/psi/TSrgLexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.tsrg.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.tsrg.gen.TSrgLexer
+import io.mcdev.obfex.formats.tsrg.gen.lexer.TSrgLexer
class TSrgLexerAdapter : FlexAdapter(TSrgLexer())
diff --git a/obfuscation-explorer/src/main/kotlin/formats/tsrg2/lang/psi/TSrg2LexerAdapter.kt b/obfuscation-explorer/src/main/kotlin/formats/tsrg2/lang/psi/TSrg2LexerAdapter.kt
index 8f3adde11..93c32de9b 100644
--- a/obfuscation-explorer/src/main/kotlin/formats/tsrg2/lang/psi/TSrg2LexerAdapter.kt
+++ b/obfuscation-explorer/src/main/kotlin/formats/tsrg2/lang/psi/TSrg2LexerAdapter.kt
@@ -21,6 +21,6 @@
package io.mcdev.obfex.formats.tsrg2.lang.psi
import com.intellij.lexer.FlexAdapter
-import io.mcdev.obfex.formats.tsrg2.gen.TSrg2Lexer
+import io.mcdev.obfex.formats.tsrg2.gen.lexer.TSrg2Lexer
class TSrg2LexerAdapter : FlexAdapter(TSrg2Lexer())
diff --git a/obfuscation-explorer/src/test/kotlin/formats/srg/SrgLexerTest.kt b/obfuscation-explorer/src/test/kotlin/formats/srg/SrgLexerTest.kt
index a6e119fc3..5f75f70f2 100644
--- a/obfuscation-explorer/src/test/kotlin/formats/srg/SrgLexerTest.kt
+++ b/obfuscation-explorer/src/test/kotlin/formats/srg/SrgLexerTest.kt
@@ -23,7 +23,7 @@ package io.mcdev.obfex.formats.srg
import com.intellij.lexer.FlexAdapter
import com.intellij.testFramework.LexerTestCase
import io.mcdev.obfex.filterCrlf
-import io.mcdev.obfex.formats.srg.gen.SrgLexer
+import io.mcdev.obfex.formats.srg.gen.lexer.SrgLexer
import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.Test
@@ -45,4 +45,3 @@ class SrgLexerTest {
Assertions.assertEquals(expected.filterCrlf(), actual.filterCrlf())
}
}
-
\ No newline at end of file
diff --git a/src/main/kotlin/platform/mixin/util/AsmUtil.kt b/src/main/kotlin/platform/mixin/util/AsmUtil.kt
index f3c4cf878..d2454bbe0 100644
--- a/src/main/kotlin/platform/mixin/util/AsmUtil.kt
+++ b/src/main/kotlin/platform/mixin/util/AsmUtil.kt
@@ -236,11 +236,11 @@ fun findClassNodeByPsiClass(psiClass: PsiClass, module: Module? = psiClass.findM
}
val classFile = parentDir.findChild("${fqn.substringAfterLast('.')}.class")
?: return@lockedCached null
- val node = ClassNode()
+ val node = ClassNode(Opcodes.ASM7)
classFile.inputStream.use { ClassReader(it).accept(node, 0) }
node
} else {
- val node = ClassNode()
+ val node = ClassNode(Opcodes.ASM7)
ClassReader(bytes).accept(node, 0)
node
}
diff --git a/templates b/templates
index 181828d86..b5f361b16 160000
--- a/templates
+++ b/templates
@@ -1 +1 @@
-Subproject commit 181828d864f81cf7471ee7af111268776e68875d
+Subproject commit b5f361b163bf1cc48f5f1c26c96db88972926662