Commit e053a4e2 authored by Julian Kranz's avatar Julian Kranz

Jgdrr

- Continued to implement jgdrr
parent 37ed53c5
package rreil.operation;
import rreil.linear.LinearExpression;
public class AndOperation extends BinaryOperation {
public AndOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
public class ArbitraryOperation extends Operation {
public ArbitraryOperation(long size) {
super(size);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public abstract class BinaryOperation extends Operation {
private LinearExpression operand1;
public LinearExpression getOperand1() {
return operand1;
}
private LinearExpression operand2;
public LinearExpression getOperand2() {
return operand2;
}
public BinaryOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size);
this.operand1 = operand1;
this.operand2 = operand2;
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareEqualOperation extends BinaryOperation {
public CompareEqualOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareLesOrEqualSignedOperation extends BinaryOperation {
public CompareLesOrEqualSignedOperation(long size,
LinearExpression operand1, LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareLessOrEqualUnsignedOperation extends BinaryOperation {
public CompareLessOrEqualUnsignedOperation(long size,
LinearExpression operand1, LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareLessSignedOperation extends BinaryOperation {
public CompareLessSignedOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareLessUnsignedOperation extends BinaryOperation {
public CompareLessUnsignedOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class CompareNotEqualOperation extends BinaryOperation {
public CompareNotEqualOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class DivisionOperation extends BinaryOperation {
public DivisionOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public abstract class ExtendOperation extends Operation {
private long fromsize;
public long getfromsize() {
return fromsize;
}
private LinearExpression operand1;
public LinearExpression getOperand1() {
return operand1;
}
public ExtendOperation(long size, long fromsize, LinearExpression operand1) {
super(size);
this.fromsize = fromsize;
this.operand1 = operand1;
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class LinearOperation extends UnaryOperation {
public LinearOperation(long size, LinearExpression operand1) {
super(size, operand1);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class ModuloOperation extends BinaryOperation {
public ModuloOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class MultiplicationOperation extends BinaryOperation {
public MultiplicationOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
public abstract class Operation {
private long size;
public long getSize() {
return size;
}
public Operation(long size) {
this.size = size;
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class OrOperation extends BinaryOperation {
public OrOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class ShiftLeftOperation extends BinaryOperation {
public ShiftLeftOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class ShiftRightOperation extends BinaryOperation {
public ShiftRightOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class ShiftRightSignedOperation extends BinaryOperation {
public ShiftRightSignedOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class SignExtendOperation extends Operation {
public class SignExtendOperation extends ExtendOperation {
public SignExtendOperation(long size, long fromsize,
LinearExpression operand1) {
super(size, fromsize, operand1);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class SignedDivisionOperation extends BinaryOperation {
public SignedDivisionOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public abstract class UnaryOperation extends Operation {
private LinearExpression operand1;
public LinearExpression getOperand1() {
return operand1;
}
public UnaryOperation(long size, LinearExpression operand1) {
super(size);
this.operand1 = operand1;
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class XorOperation extends BinaryOperation {
public XorOperation(long size, LinearExpression operand1,
LinearExpression operand2) {
super(size, operand1, operand2);
}
}
package rreil.operation;
import rreil.linear.LinearExpression;
public class ZeroExtendOperation extends Operation {
public class ZeroExtendOperation extends ExtendOperation {
public ZeroExtendOperation(long size, long fromsize,
LinearExpression operand1) {
super(size, fromsize, operand1);
}
}
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