jaroslav@8: /* jaroslav@8: * To change this template, choose Tools | Templates jaroslav@8: * and open the template in the editor. jaroslav@8: */ jaroslav@22: package org.apidesign.vm4brwsr; jaroslav@8: jaroslav@8: /** jaroslav@8: * jaroslav@8: * @author Jaroslav Tulach jaroslav@8: */ jaroslav@8: public class Instance { jaroslav@8: private int i; jaroslav@8: protected short s; jaroslav@8: public double d; jaroslav@8: private float f; jaroslav@10: protected byte b = (byte)31; jaroslav@10: jaroslav@10: private Instance() { jaroslav@10: } jaroslav@8: jaroslav@8: public Instance(int i, double d) { jaroslav@8: this.i = i; jaroslav@8: this.d = d; jaroslav@8: } jaroslav@8: public byte getByte() { jaroslav@8: return b; jaroslav@8: } jaroslav@8: jaroslav@8: public void setByte(byte b) { jaroslav@8: this.b = b; jaroslav@8: } jaroslav@10: public static double defaultDblValue() { jaroslav@10: Instance create = new Instance(); jaroslav@10: return create.d; jaroslav@10: } jaroslav@8: jaroslav@10: public static byte assignedByteValue() { jaroslav@10: return new Instance().b; jaroslav@10: } jaroslav@8: public static double magicOne() { jaroslav@8: Instance i = new Instance(10, 3.3d); jaroslav@10: i.b = (byte)0x09; jaroslav@10: return (i.i - i.b) * i.d; jaroslav@8: } jaroslav@14: public static int virtualBytes() { jaroslav@13: Instance i = new InstanceSub(7, 2.2d); jaroslav@12: i.setByte((byte)0x0a); jaroslav@14: Instance i2 = new Instance(3, 333.0d); jaroslav@14: i2.setByte((byte)44); jaroslav@14: return i.getByte() + i2.getByte(); jaroslav@12: } jaroslav@15: public static float interfaceBytes() { jaroslav@15: GetByte i = new InstanceSub(7, 2.2d); jaroslav@15: return i.getByte(); jaroslav@15: } jaroslav@16: public static boolean instanceOf(boolean sub) { jaroslav@16: Instance i = createInstance(sub); jaroslav@16: return isInstanceSubOf(i); jaroslav@16: } jaroslav@16: private static boolean isInstanceSubOf(Instance instance) { jaroslav@16: return instance instanceof InstanceSub; jaroslav@16: } jaroslav@16: private static Instance createInstance(boolean sub) { jaroslav@16: return sub ? new InstanceSub(3, 0) : new Instance(); jaroslav@16: } jaroslav@16: private static boolean isNull() { jaroslav@16: return createInstance(true) == null; jaroslav@16: } jaroslav@8: }