Commit 37ed53c5 authored by Julian Kranz's avatar Julian Kranz

Jgdrr

- Continued to implement jgdrr
parent dd48e34a
package rnati;
import rreil.Statement;
import rreil.statement.Statement;
public class NativeInterface {
public NativeInterface() {
......
package rreil;
import rreil.linear.LinearExpression;
public class Address {
private long size;
public long getSize() {
return size;
}
private LinearExpression address;
public LinearExpression getAddress() {
return address;
}
public Address(long size, LinearExpression address) {
this.size = size;
this.address = address;
}
}
package rreil;
public enum BranchHint {
JUMP, CALL, RET
}
package rreil;
import rreil.id.Id;
public class Variable {
private Id id;
public Id getId() {
return id;
}
private long offset;
public long getOffset() {
return offset;
}
public Variable(Id id, long offset) {
this.id = id;
this.offset = offset;
}
}
package rreil.id;
public class Id {
}
package rreil.id;
public class VirtualEqualsId extends Id {
}
package rreil.id;
public class VirtualEqualsNotId extends Id {
}
package rreil.id;
public class VirtualLessOrEqualSignedId extends Id {
}
package rreil.id;
public class VirtualLessOrEqualUnsignedId extends Id {
}
package rreil.id;
public class VirtualLessSignedId extends Id {
}
package rreil.id;
public class VirtualLessUnsignedId extends Id {
}
package rreil.id;
public class VirtualTemporaryId extends Id {
private long id;
public long getId() {
return id;
}
public VirtualTemporaryId(long id) {
this.id = id;
}
}
package rreil.linear;
public class LinearAdditionExpression extends LinearBinaryExpression {
public LinearAdditionExpression(LinearExpression operand1,
LinearExpression operand2) {
super(operand1, operand2);
}
}
package rreil.linear;
public class LinearBinaryExpression extends LinearExpression {
private LinearExpression operand1;
public LinearExpression getOperand1() {
return operand1;
}
private LinearExpression operand2;
public LinearExpression getOperand2() {
return operand2;
}
public LinearBinaryExpression(LinearExpression operand1, LinearExpression operand2) {
this.operand1 = operand1;
this.operand2 = operand2;
}
}
package rreil.linear;
public abstract class LinearExpression {
}
package rreil.linear;
public class LinearImmediateExpression extends LinearExpression {
private long immediate;
public long getImmediate() {
return immediate;
}
public LinearImmediateExpression(long immediate) {
this.immediate = immediate;
}
}
package rreil.linear;
public class LinearScaleExpression extends LinearExpression {
private long immediate;
public long getImmediate() {
return immediate;
}
private LinearExpression operand;
public LinearExpression getOperand1() {
return operand;
}
public LinearScaleExpression(long immediate, LinearExpression operand) {
this.immediate = immediate;
this.operand = operand;
}
}
package rreil.linear;
public class LinearSubtractionExpression extends LinearBinaryExpression {
public LinearSubtractionExpression(LinearExpression operand1,
LinearExpression operand2) {
super(operand1, operand2);
}
}
package rreil.linear;
import rreil.Variable;
public class LinearVariableExpression extends LinearExpression {
private Variable variable;
public Variable getVariable() {
return variable;
}
public LinearVariableExpression(Variable variable) {
this.variable = variable;
}
}
package rreil.operation;
public class AndOperation extends BinaryOperation {
}
package rreil.operation;
public class ArbitraryOperation extends Operation {
}
package rreil.operation;
public abstract class BinaryOperation extends Operation {
}
package rreil.operation;
public class CompareEqualOperation extends BinaryOperation {
}
package rreil.operation;
public class CompareLesOrEqualSignedOperation extends BinaryOperation {
}
package rreil.operation;
public class CompareLessOrEqualUnsignedOperation extends BinaryOperation {
}
package rreil.operation;
public class CompareLessSignedOperation extends BinaryOperation {
}
package rreil.operation;
public class CompareLessUnsignedOperation extends BinaryOperation {
}
package rreil.operation;
public class CompareNotEqualOperation extends BinaryOperation {
}
package rreil.operation;
public class DivisionOperation extends BinaryOperation {
}
package rreil.operation;
public class LinearOperation extends UnaryOperation {
}
package rreil.operation;
public class ModuloOperation extends BinaryOperation {
}
package rreil.operation;
public class MultiplicationOperation extends BinaryOperation {
}
package rreil.operation;
public abstract class Operation {
}
package rreil.operation;
public class OrOperation extends BinaryOperation {
}
package rreil.operation;
public class ShiftLeftOperation extends BinaryOperation {
}
package rreil.operation;
public class ShiftRightOperation extends BinaryOperation {
}
package rreil.operation;
public class ShiftRightSignedOperation extends BinaryOperation {
}
package rreil.operation;
public class SignExtendOperation extends Operation {
}
package rreil.operation;
public class SignedDivisionOperation extends BinaryOperation {
}
package rreil.operation;
public abstract class UnaryOperation extends Operation {
}
package rreil.operation;
public class XorOperation extends BinaryOperation {
}
package rreil.operation;
public class ZeroExtendOperation extends Operation {
}
package rreil;
package rreil.statement;
public class AssignStatement extends Statement {
......
package rreil.statement;
public class BranchStatement extends Statement {
}
package rreil.statement;
public class ConditionalBranchStatement extends Statement {
}
package rreil.statement;
public class IfThenElseStatement extends Statement {
}
package rreil;
package rreil.statement;
public class LoadStatement extends Statement {
......
package rreil;
package rreil.statement;
public abstract class Statement {
......
package rreil.statement;
public class StoreStatement extends Statement {
}
package rreil.statement;
public class WhileStatement extends Statement {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment