MCPcopy Index your code
hub / github.com/Liubsyy/VisualClassBytes

github.com/Liubsyy/VisualClassBytes @v1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0 ↗ · + Follow
464 symbols 1,138 edges 101 files 109 documented · 23%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

VisualClassBytes

IDEA plugin for Java class bytecode editor.

Features

  • Modify info of class, field, inner class and method.
  • Edit method bytecode instructions, local variable table, exception table, and line number table.
  • Modify constant pool.
  • Support class file and class in JAR.

Quick start

1. Install plugin from marketplace

First install the plugin JarEditor from marketplace, IDEA at least version 2020.3

2. Open VisualClassBytes Editor

Right click on class file** -> Visual ClassBytes, you can open VisualClassBytes editor.

3. Modify info

Then you can modify class ,field,inner class and method info etc.

4. Edit method bytecode instructions

Open the method node to modify the bytecode instructions.

You can also modify local variable,exception table,line number and etc.

5. Modify constant pool

Open the constant pool node to modify constant.

Extension points exported contracts — how you extend this code

IPanelRefresh (Interface)
@author Liubsyy @date 2024/10/21 [1 implementers]
src/main/java/com/liubs/vcb/ui/IPanelRefresh.java
MyTokenSets (Interface)
@author Liubsyy @date 2024/10/29
src/main/java/com/liubs/vcb/language/MyTokenSets.java
OnclickListener (Interface)
@author Liubsyy @date 2024/10/27
src/main/java/com/liubs/vcb/ui/common/OnclickListener.java
MyIcons (Interface)
@author Liubsyy @date 2024/6/26
src/main/java/icons/MyIcons.java
VCBProperty (Interface)
(no doc) [1 implementers]
src/main/gen/com/liubs/vcb/language/psi/VCBProperty.java

Core symbols most depended-on inside this repo

setText
called by 47
src/main/java/com/liubs/vcb/ui/common/EditableLabel.java
addLabeledComponent
called by 43
src/main/java/com/liubs/vcb/ui/constpool/ConstBasePanel.java
equals
called by 29
src/main/java/com/liubs/vcb/ui/linemark/MyLineMakRenderer.java
toString
called by 23
src/main/java/com/liubs/vcb/language/MyPsiFile.java
getInstance
called by 22
src/main/java/com/liubs/vcb/bean/OpenedEditors.java
refresh
called by 19
src/main/java/com/liubs/vcb/ui/IPanelRefresh.java
getText
called by 19
src/main/java/com/liubs/vcb/ui/common/EditableLabel.java
onActionForInput
called by 18
src/main/java/com/liubs/vcb/ui/common/EditableLabel.java

Shape

Method 362
Class 95
Interface 7

Languages

Java100%

Modules by API surface

src/main/gen/com/liubs/vcb/language/VCBLexer.java21 symbols
src/main/java/com/liubs/vcb/ui/common/EditableLabel.java14 symbols
src/main/java/com/liubs/vcb/editor/VisualClassEditor.java14 symbols
src/main/java/com/liubs/vcb/ui/linemark/MyLineMakRenderer.java13 symbols
src/main/java/com/liubs/vcb/ui/MethodPanel.java13 symbols
src/main/java/com/liubs/vcb/ui/ClassEditorPanel.java12 symbols
src/main/java/com/liubs/vcb/ui/MyTree.java10 symbols
src/main/gen/com/liubs/vcb/language/parser/VCBParser.java10 symbols
src/main/java/com/liubs/vcb/ui/constpool/ConstBasePanel.java9 symbols
src/main/java/com/liubs/vcb/entity/Result.java9 symbols
src/main/java/com/liubs/vcb/entity/MyInstructionInfo.java9 symbols
src/main/java/com/liubs/vcb/ui/ConstPoolPanel.java8 symbols

For agents

$ claude mcp add VisualClassBytes \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact