简体   繁体   English

字节码编译错误

[英]Bytecode compilation errors

I am using the program JBE (Java Bytecode Editor) http://set.ee/jbe I have the following bytecode but it keeps outputting errors due to 我正在使用程序JBE(Java字节码编辑器) http://set.ee/jbe,我具有以下字节码,但由于以下原因,它会一直输出错误

Error: Argument type error at line 53, instruction "ldc"
Error: Syntax error at line 54, instruction """
Error: Argument type error at line 100, instruction "ldc"
Error: Syntax error at line 101, instruction """
Error: Argument type error at line 154, instruction "ldc"
Error: Syntax error at line 155, instruction """
Error: Argument type error at line 206, instruction "ldc"
Error: Syntax error at line 207, instruction """

for example the first 2 errors refer to 例如前两个错误是指

ldc ");
"

I understand as to why this is causing an error but how do I insert a \\r\\n at the end 我了解这为什么会导致错误,但是我如何在末尾插入\\ r \\ n

the instructions 说明

getstatic BlockResources/instance LBlockResources;
aload_0
invokevirtual BlockBase/GetTypeID()I
invokevirtual BlockResources/getTextureMappingData(I)LTextureMappingData;
astore_2
aload_0
invokevirtual BlockBase/GetMeta()I
ifne 103
iload_1
ifeq 57
new java/lang/StringBuilder
dup
ldc "       world.setBlockWithNotify(i + "
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
aload_0
invokevirtual BlockBase/GetX()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", j + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetY()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", k + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetZ()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_2
ifnull 39
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ifnull 39
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ldc ""
if_acmpne 43
aload_0
invokevirtual BlockBase/GetTypeID()I
invokestatic java/lang/Integer/valueOf(I)Ljava/lang/Integer;
goto 52
new java/lang/StringBuilder
dup
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
invokestatic java/lang/String/valueOf(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
ldc ".blockID"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
invokevirtual java/lang/StringBuilder/append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ");
"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
areturn
new java/lang/StringBuilder
dup
ldc "       world.setBlock(i + "
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
aload_0
invokevirtual BlockBase/GetX()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", j + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetY()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", k + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetZ()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_2
ifnull 85
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ifnull 85
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ldc ""
if_acmpne 89
aload_0
invokevirtual BlockBase/GetTypeID()I
invokestatic java/lang/Integer/valueOf(I)Ljava/lang/Integer;
goto 98
new java/lang/StringBuilder
dup
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
invokestatic java/lang/String/valueOf(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
ldc ".blockID"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
invokevirtual java/lang/StringBuilder/append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ");
"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
areturn
iload_1
ifeq 156
new java/lang/StringBuilder
dup
ldc "       world.setBlockAndMetadataWithNotify(i + "
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
aload_0
invokevirtual BlockBase/GetX()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", j + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetY()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", k + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetZ()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_2
ifnull 133
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ifnull 133
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ldc ""
if_acmpne 137
aload_0
invokevirtual BlockBase/GetTypeID()I
invokestatic java/lang/Integer/valueOf(I)Ljava/lang/Integer;
goto 146
new java/lang/StringBuilder
dup
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
invokestatic java/lang/String/valueOf(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
ldc ".blockID"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
invokevirtual java/lang/StringBuilder/append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetMeta()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ");
"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
areturn
new java/lang/StringBuilder
dup
ldc "       world.setBlockAndMetadata(i + "
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
aload_0
invokevirtual BlockBase/GetX()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", j + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetY()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", k + "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetZ()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_2
ifnull 184
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ifnull 184
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
ldc ""
if_acmpne 188
aload_0
invokevirtual BlockBase/GetTypeID()I
invokestatic java/lang/Integer/valueOf(I)Ljava/lang/Integer;
goto 197
new java/lang/StringBuilder
dup
aload_2
invokevirtual TextureMappingData/getSpawnCode()Ljava/lang/String;
invokestatic java/lang/String/valueOf(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java/lang/StringBuilder/<init>(Ljava/lang/String;)V
ldc ".blockID"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
invokevirtual java/lang/StringBuilder/append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload_0
invokevirtual BlockBase/GetMeta()I
invokevirtual java/lang/StringBuilder/append(I)Ljava/lang/StringBuilder;
ldc ");
"
invokevirtual java/lang/StringBuilder/append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java/lang/StringBuilder/toString()Ljava/lang/String;
areturn

it's as simple as you wrote. 就像您写的一样简单。 For example amend line 53 to ldc ");\\r\\n" 例如,将第53行修改为ldc ");\\r\\n"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM