singlevalueconstant.java

来自「已经移植好的java虚拟机」· Java 代码 · 共 73 行

JAVA
73
字号
/* *	SingleValueConstant.java	1.2	97/05/27 SMI * * Copyright (c) 1997 Sun Microsystems, Inc. All Rights Reserved. * * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information").  You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING * THIS SOFTWARE OR ITS DERIVATIVES. * Use is subject to license terms. */// Represents a CONSTANT_Integer or CONSTANT_Floatpackage components;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import vm.Const;publicclass SingleValueConstant extends ConstantObject{    public int value;    private SingleValueConstant( int t, int v ){	tag = t;	value = v;	nSlots = 1;    }    public SingleValueConstant( int ival ){	this( Const.CONSTANT_INTEGER, ival );    }    public static ConstantObject read( int t, DataInput i ) throws IOException{	return new SingleValueConstant( t, i.readInt() );    }    public void write( DataOutput o ) throws IOException{	o.writeByte( tag );	o.writeInt( value );    }    public String toString(){	return (tag==Const.CONSTANT_FLOAT)? ("Float: "+Float.intBitsToFloat(value) ):		("Int: "+Integer.toHexString( value ));    }    public int hashCode() {	return tag + value;    }    public boolean equals(Object o) {	if (o instanceof SingleValueConstant) {	    SingleValueConstant s = (SingleValueConstant) o;	    return tag == s.tag && value == s.value;	} else {	    return false;	}    }    public boolean isResolved(){ return true; }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?