Package ghidra.pcode.emu.jit.gen.opnd
Record Class IntConstOpnd
java.lang.Object
java.lang.Record
ghidra.pcode.emu.jit.gen.opnd.IntConstOpnd
- Record Components:
value- the valuetype- the p-code type
- All Implemented Interfaces:
Opnd<JitType.IntJitType>,SimpleOpnd<Types.TInt,JitType.IntJitType>
A constant
int-
Nested Class Summary
Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.gen.opnd.Opnd
Opnd.DoubleToDouble, Opnd.DoubleToFloat, Opnd.DoubleToInt, Opnd.DoubleToLong, Opnd.DoubleToMpInt, Opnd.Ext, Opnd.FloatToDouble, Opnd.FloatToFloat, Opnd.FloatToInt, Opnd.FloatToLong, Opnd.FloatToMpInt, Opnd.IntToDouble, Opnd.IntToFloat, Opnd.IntToInt, Opnd.IntToLong, Opnd.IntToMpInt, Opnd.LongToDouble, Opnd.LongToFloat, Opnd.LongToInt, Opnd.LongToLong, Opnd.LongToMpInt, Opnd.MpIntToDouble, Opnd.MpIntToFloat, Opnd.MpIntToInt, Opnd.MpIntToLong, Opnd.MpIntToMpInt, Opnd.MpToMpConv<FT extends Types.BPrim<?>,FLT extends JitType.SimpleJitType<FT, FLT>, FJT extends JitType.LeggedJitType<FT, FLT>, TT extends Types.BPrim<?>, TLT extends JitType.SimpleJitType<TT, TLT>, TJT extends JitType.LeggedJitType<TT, TLT>>, Opnd.MpToStackConv<FT extends Types.BPrim<?>, FLT extends JitType.SimpleJitType<FT, FLT>, FJT extends JitType.LeggedJitType<FT, FLT>, TT extends Types.BPrim<?>, TJT extends JitType.SimpleJitType<TT, TJT>>, Opnd.OpndEm<T extends JitType, N extends Emitter.Next>, Opnd.StackToMpConv<FT extends Types.BPrim<?>, FJT extends JitType.SimpleJitType<FT, FJT>, TT extends Types.BPrim<?>, TLT extends JitType.SimpleJitType<TT, TLT>, TJT extends JitType.LeggedJitType<TT, TLT>>, Opnd.StackToStackConv<FT extends Types.BPrim<?>, FJT extends JitType.SimpleJitType<FT, FJT>, TT extends Types.BPrim<?>, TJT extends JitType.SimpleJitType<TT, TJT>> Nested classes/interfaces inherited from interface ghidra.pcode.emu.jit.gen.opnd.SimpleOpnd
SimpleOpnd.SimpleOpndEm<T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, JT>, N extends Emitter.Next> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IntConstOpnd0 of typeint1static final IntConstOpnd0 of typeint2static final IntConstOpnd0 of typeint3static final IntConstOpnd0 of typeint4 -
Constructor Summary
ConstructorsConstructorDescriptionIntConstOpnd(int value, JitType.IntJitType type) Creates an instance of aIntConstOpndrecord class. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.name()Returns the name.<N extends Emitter.Next>
Emitter<Emitter.Ent<N, Types.TInt>> Emit code to read the operand onto the stackdefault StringtempName()Generate a name should this need conversion into a temporary variablefinal StringtoString()Returns a string representation of this record class.type()Returns the value of thetyperecord component.intvalue()Returns the value of thevaluerecord component.<N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, Types.TInt>>
SimpleOpnd.SimpleOpndEm<Types.TInt, JitType.IntJitType, N1> Emit code to write the operand from the stackdefault <N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, T>>
Emitter<N1> writeDirect(Emitter<N0> em) Emit code to write the operand, without generating a new operandstatic IntConstOpndzero(JitType.IntJitType type) Get a constant 0 of the given p-codeinttype.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface ghidra.pcode.emu.jit.gen.opnd.SimpleOpnd
legsLE
-
Field Details
-
Constructor Details
-
Method Details
-
zero
Get a constant 0 of the given p-codeinttype.- Parameters:
type- the type- Returns:
- the constant 0
-
name
Description copied from interface:OpndReturns the name.- Specified by:
namein interfaceOpnd<JitType.IntJitType>- Returns:
- the name
-
read
Description copied from interface:SimpleOpndEmit code to read the operand onto the stack- Specified by:
readin interfaceSimpleOpnd<Types.TInt,JitType.IntJitType> - Type Parameters:
N- the tail of the stack (...)- Parameters:
em- the emitter- Returns:
- the emitter with ..., value
-
write
public <N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, SimpleOpnd.SimpleOpndEm<Types.TInt,Types.TInt>> JitType.IntJitType, writeN1> (Emitter<N0> em, Scope scope) Description copied from interface:SimpleOpndEmit code to write the operand from the stackThis will generate a new operand if this operand is read-only. Callers must therefore be prepared to take the result in place of this operand.
- Specified by:
writein interfaceSimpleOpnd<Types.TInt,JitType.IntJitType> - Type Parameters:
N1- the tail of the stack (...)N0- ..., value- Parameters:
em- the emitterscope- a scope for generated temporary variables- Returns:
- the resulting operand and emitter with ...
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared withObjects::equals(Object,Object); primitive components are compared with '=='. -
value
public int value()Returns the value of thevaluerecord component.- Returns:
- the value of the
valuerecord component
-
type
Returns the value of thetyperecord component.- Specified by:
typein interfaceOpnd<JitType.IntJitType>- Returns:
- the value of the
typerecord component
-
tempName
Generate a name should this need conversion into a temporary variable- Returns:
- the name
-
writeDirect
default <N1 extends Emitter.Next,N0 extends Emitter.Ent<N1, Emitter<N1> writeDirectT>> (Emitter<N0> em) Description copied from interface:SimpleOpndEmit code to write the operand, without generating a new operandThis will throw an exception during generation if this operand is read-only. This should only be used when the caller is certain the operand can be written and when a scope is not available.
- Specified by:
writeDirectin interfaceSimpleOpnd<T extends Types.BPrim<?>,JT extends JitType.SimpleJitType<T, JT>> - Type Parameters:
N1- the tail of the stack (...)N0- ..., value- Parameters:
em- the emitter- Returns:
- the emitter with ...
-