本文整理汇总了Java中com.sun.jdi.FloatValue类的典型用法代码示例。如果您正苦于以下问题:Java FloatValue类的具体用法?Java FloatValue怎么用?Java FloatValue使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
FloatValue类属于com.sun.jdi包,在下文中一共展示了FloatValue类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeUntaggedValueChecked
import com.sun.jdi.FloatValue; //导入依赖的package包/类
void writeUntaggedValueChecked(Value val) throws InvalidTypeException {
byte tag = ValueImpl.typeValueKey(val);
if (isObjectTag(tag)) {
if (val == null) {
writeObjectRef(0);
} else {
if (!(val instanceof ObjectReference)) {
throw new InvalidTypeException();
}
writeObjectRef(((ObjectReferenceImpl)val).ref());
}
} else {
switch (tag) {
case JDWP.Tag.BYTE:
if(!(val instanceof ByteValue))
throw new InvalidTypeException();
writeByte(((PrimitiveValue)val).byteValue());
break;
case JDWP.Tag.CHAR:
if(!(val instanceof CharValue))
throw new InvalidTypeException();
writeChar(((PrimitiveValue)val).charValue());
break;
case JDWP.Tag.FLOAT:
if(!(val instanceof FloatValue))
throw new InvalidTypeException();
writeFloat(((PrimitiveValue)val).floatValue());
break;
case JDWP.Tag.DOUBLE:
if(!(val instanceof DoubleValue))
throw new InvalidTypeException();
writeDouble(((PrimitiveValue)val).doubleValue());
break;
case JDWP.Tag.INT:
if(!(val instanceof IntegerValue))
throw new InvalidTypeException();
writeInt(((PrimitiveValue)val).intValue());
break;
case JDWP.Tag.LONG:
if(!(val instanceof LongValue))
throw new InvalidTypeException();
writeLong(((PrimitiveValue)val).longValue());
break;
case JDWP.Tag.SHORT:
if(!(val instanceof ShortValue))
throw new InvalidTypeException();
writeShort(((PrimitiveValue)val).shortValue());
break;
case JDWP.Tag.BOOLEAN:
if(!(val instanceof BooleanValue))
throw new InvalidTypeException();
writeBoolean(((PrimitiveValue)val).booleanValue());
break;
}
}
}
示例2: getPrimitiveObject
import com.sun.jdi.FloatValue; //导入依赖的package包/类
private Data getPrimitiveObject(String name, Value value) {
Data object = null;
if (value instanceof BooleanValue)
object = new SimpleData(name,((BooleanValue) value).booleanValue());
else if (value instanceof ByteValue)
object = new SimpleData(name,((ByteValue) value).byteValue());
else if (value instanceof CharValue)
object = new SimpleData(name,((CharValue) value).charValue());
else if (value instanceof DoubleValue)
object = new SimpleData(name,((DoubleValue) value).doubleValue());
else if (value instanceof FloatValue)
object = new SimpleData(name,((FloatValue) value).floatValue());
else if (value instanceof IntegerValue)
object = new SimpleData(name,((IntegerValue) value).intValue());
else if (value instanceof LongValue)
object = new SimpleData(name,((LongValue) value).longValue());
else if (value instanceof ShortValue)
object = new SimpleData(name,((ShortValue)value).shortValue());
return object;
}
示例3: equals
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public boolean equals(Object obj) {
if ((obj != null) && (obj instanceof FloatValue)) {
return (value == ((FloatValue)obj).value()) &&
super.equals(obj);
} else {
return false;
}
}
示例4: compareTo
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public int compareTo(FloatValue obj) {
float other = obj.value();
if (value() < other) {
return -1;
} else if (value() == other) {
return 0;
} else {
return 1;
}
}
示例5: wrap
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public static F3Value wrap(F3VirtualMachine f3vm, Value value) {
if (value == null) {
return null;
}
if (value instanceof PrimitiveValue) {
if (value instanceof BooleanValue) {
return f3vm.booleanValue((BooleanValue)value);
} else if (value instanceof CharValue) {
return f3vm.charValue((CharValue)value);
} else if (value instanceof ByteValue) {
return f3vm.byteValue((ByteValue)value);
} else if (value instanceof ShortValue) {
return f3vm.shortValue((ShortValue)value);
} else if (value instanceof IntegerValue) {
return f3vm.integerValue((IntegerValue)value);
} else if (value instanceof LongValue) {
return f3vm.longValue((LongValue)value);
} else if (value instanceof FloatValue) {
return f3vm.floatValue((FloatValue)value);
} else if (value instanceof DoubleValue) {
return f3vm.doubleValue((DoubleValue)value);
} else {
throw new IllegalArgumentException("illegal primitive value : " + value);
}
} else if (value instanceof VoidValue) {
return f3vm.voidValue();
} else if (value instanceof ObjectReference) {
return wrap(f3vm, (ObjectReference)value);
} else {
throw new IllegalArgumentException("illegal value: " + value);
}
}
示例6: setValue
import com.sun.jdi.FloatValue; //导入依赖的package包/类
/**
* Replace a sequence element with another value.
*
* Object values must be assignment compatible with the element type.
* (This implies that the component type must be loaded through the
* declaring class's class loader). Primitive values must be
* assignment compatible with the component type.
*
* @param value the new value
* @param index the index of the component to set. If this is beyond the
* end of the sequence, the new value is appended to the sequence.
*
* @throws InvalidTypeException if the type of <CODE><I>value</I></CODE>
* is not compatible with the declared type of sequence elements.
* @throws ClassNotLoadedException if the sequence element type
* has not yet been loaded through the appropriate class loader.
* @throws VMCannotBeModifiedException if the VirtualMachine is read-only - see {@link com.sun.jdi.VirtualMachine#canBeModified()}.
* @return a new sequence with the specified element replaced/added.
*/
public F3SequenceReference setValue(int index, Value value) {
Types type = getElementType();
switch (type) {
case INT:
return setIntValue(index, (IntegerValue)value);
case FLOAT:
return setFloatValue(index, (FloatValue)value);
case OBJECT:
return setObjectValue(index, (ObjectReference)value);
case DOUBLE:
return setDoubleValue(index, (DoubleValue)value);
case BOOLEAN:
return setBooleanValue(index, (BooleanValue)value);
case LONG:
return setLongValue(index, (LongValue)value);
case SHORT:
return setShortValue(index, (ShortValue)value);
case BYTE:
return setByteValue(index, (ByteValue)value);
case CHAR:
return setCharValue(index, (CharValue)value);
case OTHER:
return setObjectValue(index, (ObjectReference)value);
default:
throw new IllegalArgumentException("Invalid sequence element type");
}
}
示例7: unbox
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public static Value unbox(ObjectReference val, PrimitiveType type,
ThreadReference thread,
EvaluationContext context) throws InvalidTypeException,
ClassNotLoadedException,
IncompatibleThreadStateException,
InvocationException {
ReferenceType rt = val.referenceType();
String classType = rt.name();
PrimitiveValue pv;
if (classType.equals("java.lang.Boolean")) {
pv = invokeUnboxingMethod(val, "booleanValue", thread, context);
} else if (classType.equals("java.lang.Byte")) {
pv = invokeUnboxingMethod(val, "byteValue", thread, context);
} else if (classType.equals("java.lang.Character")) {
pv = invokeUnboxingMethod(val, "charValue", thread, context);
} else if (classType.equals("java.lang.Short")) {
pv = invokeUnboxingMethod(val, "shortValue", thread, context);
} else if (classType.equals("java.lang.Integer")) {
pv = invokeUnboxingMethod(val, "intValue", thread, context);
} else if (classType.equals("java.lang.Long")) {
pv = invokeUnboxingMethod(val, "longValue", thread, context);
} else if (classType.equals("java.lang.Float")) {
pv = invokeUnboxingMethod(val, "floatValue", thread, context);
} else if (classType.equals("java.lang.Double")) {
pv = invokeUnboxingMethod(val, "doubleValue", thread, context);
//throw new RuntimeException("Invalid type while unboxing: " + type.signature()); // never happens
} else {
return val;
}
VirtualMachine vm = pv.virtualMachine();
if (type instanceof BooleanType && !(pv instanceof BooleanValue)) {
return vm.mirrorOf(pv.booleanValue());
}
if (type instanceof ByteType && !(pv instanceof ByteValue)) {
return vm.mirrorOf(pv.byteValue());
}
if (type instanceof CharType && !(pv instanceof CharValue)) {
return vm.mirrorOf(pv.charValue());
}
if (type instanceof ShortType && !(pv instanceof ShortValue)) {
return vm.mirrorOf(pv.shortValue());
}
if (type instanceof IntegerType && !(pv instanceof IntegerValue)) {
return vm.mirrorOf(pv.intValue());
}
if (type instanceof LongType && !(pv instanceof LongValue)) {
return vm.mirrorOf(pv.longValue());
}
if (type instanceof FloatType && !(pv instanceof FloatValue)) {
return vm.mirrorOf(pv.floatValue());
}
if (type instanceof DoubleType && !(pv instanceof DoubleValue)) {
return vm.mirrorOf(pv.doubleValue());
}
return pv;
}
示例8: compareTo
import com.sun.jdi.FloatValue; //导入依赖的package包/类
@Override
public int compareTo(FloatValue o) {
return (int)(value - ((FloatValue) o).value());
}
示例9: mirrorOf
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public FloatValue mirrorOf(float value) {
validateVM();
return new FloatValueImpl(this,value);
}
示例10: compareTo
import com.sun.jdi.FloatValue; //导入依赖的package包/类
@Override
public int compareTo(FloatValue o) {
float diff = value() - o.value();
return diff == 0 ? 0 : (diff > 0 ? 1 : -1);
}
示例11: F3FloatValue
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public F3FloatValue(F3VirtualMachine f3vm, FloatValue underlying) {
super(f3vm, underlying);
}
示例12: compareTo
import com.sun.jdi.FloatValue; //导入依赖的package包/类
public int compareTo(FloatValue o) {
return underlying().compareTo((FloatValue)F3Wrapper.unwrap(o));
}
示例13: underlying
import com.sun.jdi.FloatValue; //导入依赖的package包/类
@Override
protected FloatValue underlying() {
return (FloatValue) super.underlying();
}
示例14: getValueAsFloat
import com.sun.jdi.FloatValue; //导入依赖的package包/类
private FloatValue getValueAsFloat(int index) {
Method getAsFloatMethod = virtualMachine().f3SequenceType().getAsFloatMethod();
return (FloatValue) getElement(getAsFloatMethod, index);
}
示例15: setFloatValue
import com.sun.jdi.FloatValue; //导入依赖的package包/类
private F3SequenceReference setFloatValue(int index, FloatValue value) {
Method setFloatElementMethod = virtualMachine().f3SequencesType().setFloatElementMethod();
return setElement(setFloatElementMethod, index, value);
}