package soot.JastAddJ;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;import java.io.FileNotFoundException;import java.util.Collection;import soot.*;import soot.util.*;import soot.jimple.*;import soot.coffi.ClassFile;import soot.coffi.method_info;import soot.coffi.CONSTANT_Utf8_info;import soot.tagkit.SourceFileTag;import soot.coffi.CoffiMethodSource;
public class Constant extends java.lang.Object {
// Declared in ConstantExpression.jrag at line 12
static class ConstantInt extends Constant {
private int value;
public ConstantInt(int i) { this.value = i; }
int intValue() { return value; }
long longValue() { return value; }
float floatValue() { return value; }
double doubleValue() { return value; }
String stringValue() { return new Integer(value).toString(); }
Literal buildLiteral() { return new IntegerLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 22
static class ConstantLong extends Constant {
private long value;
public ConstantLong(long l) { this.value = l; }
int intValue() { return (int)value; }
long longValue() { return value; }
float floatValue() { return value; }
double doubleValue() { return value; }
String stringValue() { return new Long(value).toString(); }
Literal buildLiteral() { return new LongLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 32
static class ConstantFloat extends Constant {
private float value;
public ConstantFloat(float f) { this.value = f; }
int intValue() { return (int)value; }
long longValue() { return (long)value; }
float floatValue() { return value; }
double doubleValue() { return value; }
String stringValue() { return new Float(value).toString(); }
Literal buildLiteral() { return new FloatingPointLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 42
static class ConstantDouble extends Constant {
private double value;
public ConstantDouble(double d) { this.value = d; }
int intValue() { return (int)value; }
long longValue() { return (long)value; }
float floatValue() { return (float)value; }
double doubleValue() { return value; }
String stringValue() { return new Double(value).toString(); }
Literal buildLiteral() { return new DoubleLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 52
static class ConstantChar extends Constant {
private char value;
public ConstantChar(char c) { this.value = c; }
int intValue() { return value; }
long longValue() { return value; }
float floatValue() { return value; }
double doubleValue() { return value; }
String stringValue() { return new Character(value).toString(); }
Literal buildLiteral() { return new CharacterLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 62
static class ConstantBoolean extends Constant {
private boolean value;
public ConstantBoolean(boolean b) { this.value = b; }
boolean booleanValue() { return value; }
String stringValue() { return new Boolean(value).toString(); }
Literal buildLiteral() { return new BooleanLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 69
static class ConstantString extends Constant {
private String value;
public ConstantString(String s) { this.value = s; }
String stringValue() { return value; }
Literal buildLiteral() { return new StringLiteral(stringValue()); }
}
// Declared in ConstantExpression.jrag at line 76
int intValue() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 77
long longValue() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 78
float floatValue() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 79
double doubleValue() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 80
boolean booleanValue() { throw new UnsupportedOperationException(getClass().getName()); }
// Declared in ConstantExpression.jrag at line 81
String stringValue() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 82
Literal buildLiteral() { throw new UnsupportedOperationException(); }
// Declared in ConstantExpression.jrag at line 84
protected Constant() {
}
// Declared in ConstantExpression.jrag at line 87
public boolean error = false;
// Declared in ConstantExpression.jrag at line 89
static Constant create(int i) { return new ConstantInt(i); }
// Declared in ConstantExpression.jrag at line 90
static Constant create(long l) { return new ConstantLong(l); }
// Declared in ConstantExpression.jrag at line 91
static Constant create(float f) { return new ConstantFloat(f); }
// Declared in ConstantExpression.jrag at line 92
static Constant create(double d) { return new ConstantDouble(d); }
// Declared in ConstantExpression.jrag at line 93
static Constant create(boolean b) { return new ConstantBoolean(b); }
// Declared in ConstantExpression.jrag at line 94
static Constant create(char c) { return new ConstantChar(c); }
// Declared in ConstantExpression.jrag at line 95
static Constant create(String s) { return new ConstantString(s); }
}