You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
11 years ago
|
/*
|
||
|
* Fernflower - The Analytical Java Decompiler
|
||
|
* http://www.reversed-java.com
|
||
|
*
|
||
|
* (C) 2008 - 2010, Stiver
|
||
|
*
|
||
|
* This software is NEITHER public domain NOR free software
|
||
|
* as per GNU License. See license.txt for more details.
|
||
|
*
|
||
|
* This software is distributed WITHOUT ANY WARRANTY; without
|
||
|
* even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
||
|
* A PARTICULAR PURPOSE.
|
||
|
*/
|
||
|
|
||
10 years ago
|
package org.jetbrains.java.decompiler.code.optinstructions;
|
||
11 years ago
|
|
||
|
import java.io.DataOutputStream;
|
||
|
import java.io.IOException;
|
||
|
|
||
10 years ago
|
import org.jetbrains.java.decompiler.code.JumpInstruction;
|
||
11 years ago
|
|
||
|
public class GOTO extends JumpInstruction {
|
||
|
|
||
|
public void writeToStream(DataOutputStream out, int offset) throws IOException {
|
||
|
int operand = getOperand(0);
|
||
|
if(operand < -32768 || operand > 32767) {
|
||
|
out.writeByte(opc_goto_w);
|
||
|
out.writeInt(operand);
|
||
|
} else {
|
||
|
out.writeByte(opc_goto);
|
||
|
out.writeShort(operand);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public int length() {
|
||
|
int operand = getOperand(0);
|
||
|
if(operand < -32768 || operand > 32767) {
|
||
|
return 5;
|
||
|
} else {
|
||
|
return 3;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|