Kotlin/Java 重编译、环境依赖管理与编辑器增强#2
Merged
Merged
Conversation
Keep JVM synthetic Kotlin names highlighted correctly and prevent long classpath paths from hiding controls.
Delay Kotlin dependency downloads until compile time, prepare Vineflower immediately after settings changes, and make classpath management easier from the explorer.
This simplifies classpath UI flow while making drop targets clearer and avoids failing Kotlin dependency downloads on non-JAR Maven artifacts.
This improves JVM/Kotlin identifier handling around '$' while reducing repeated UI and dependency helper logic without changing behavior.
This restores the Java path helper used by settings and scopes shell-only titlebar symbols to the platforms that actually use them.
This syncs the docs with the current Java/tooling behavior and makes YAML mapping keys stand out more clearly in the editor.
Keep drag-adding classpath entries responsive across external drops and make Kotlin/JVM dependency handling tolerate cached metadata and compiler entrypoint differences.
Remove the classpath drag/drop decision flow to keep file drops consistent, and restore clearer Java/Kotlin import coloring while improving JVM synthetic method highlighting.
Treat multi-segment $-separated identifiers as one synthetic symbol so accessor and delegate helper calls stay highlighted as method invocations.
Align the bundled ClassForge 1.1 toolchain with Kotlin 2.3.0 so recompilation uses the compatible compiler entrypoint, and render Java/Kotlin class names as plain text to avoid misleading type coloring.
Align Kotlin token detection with VS Code-style type/call heuristics while making classpath entries revealable and removing the toast copy hint.
Allow Kotlin classes to open and recompile as either Kotlin or Java while isolating cache entries by mode and restoring plain class-name coloring.
Keep decompiled Kotlin and Java outputs under dedicated cache subdirectories, and stop tinting single-letter Recaf labels as type descriptors in bytecode views.
Keep the recent Kotlin and classpath changes aligned with the branch's simpler control-flow style while removing redundant tests and helper duplication.
Keep the recent Kotlin, settings, and loading changes functionally unchanged while reshaping their control flow and helper layout to better match the simpler structure used before f94a48e.
Improve editor highlighting and navigation for Kotlin/JVM special method names, align field/type colors, and bump the app version for the 0.2.0 release.
Remove redundant helpers from the recent feature work, align first-party crate versions and release metadata, and refresh documentation for the 0.2.0 feature set.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
注意
此PR已将版本号提升至0.2.0,所有相关修改部分请仔细审查
概要
本 PR 汇总
f94a48effe792900483bfcf6d23dec75f3111590..HEAD范围内的 0.2.0 功能更新与清理工作,重点包括 Java/Kotlin 反编译、源码重编译、字节码编辑、环境依赖下载、编辑器体验和发布元数据同步。主要改动
Java / Kotlin 工具链
--compile-kt入口kotlin-compiler-embeddable编译 Kotlin 源码1.0升级到1.1classforge-1.1.jar环境与依赖管理
environment/deps模块:反编译与缓存
1.12.0.kt.javadecompiled/kotlin/<hash>decompiled/java/<hash>源码编辑与保存/导出
javax.tools.JavaCompiler.class写回内存 JARExplorer 与 Classpath
编辑器与语法高亮
$名称$视为 JVM 名称字符Ctrl+Click/Cmd+Click支持 Kotlin 反引号和$特殊方法名UI / 平台 / 发布
0.2.00.2.0