Package org.jruby.ir.targets
Interface ValueCompiler
- All Known Implementing Classes:
IndyValueCompiler
,NormalValueCompiler
public interface ValueCompiler
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final record
static enum
-
Method Summary
Modifier and TypeMethodDescriptionvoid
buildDynamicString
(org.jcodings.Encoding encoding, int size, boolean frozen, boolean chilled, boolean debugFrozen, String file, int line, List<ValueCompiler.DStringElement> elements) void
Push the Array class on the stack.void
pushBeginlessRange
(long begin, boolean exclusive) Build and save a literal ..fixnum range.void
pushBignum
(BigInteger bigint) Load a Bignum onto the stack.void
pushBoolean
(boolean b) Load a boolean onto the stack.void
pushBufferString
(org.jcodings.Encoding encoding, int size) Push a new empty string on the stack preallocated to the given size Stack required: nonevoid
pushByteList
(ByteList bl) Stack required: nonevoid
pushCallSite
(String className, String siteName, String scopeFieldName, CallBase call) Load a CallSite onto the stackvoid
pushChilledString
(ByteList byteList, int codeRange, String file, int line) void
pushConstantLookupSite
(String className, String siteName, ByteList name) Load a ConstantLookupSite onto the stackvoid
pushEmptyString
(org.jcodings.Encoding encoding) Push a new empty string on the stack Stack required: nonevoid
pushEncoding
(org.jcodings.Encoding encoding) Push an encoding on the stack.void
pushEndlessRange
(long end, boolean exclusive) Build and save a literal fixnum..void
pushFixnum
(long l) Stack required: nonevoid
pushFixnumArray
(List<Long> values) void
pushFloat
(double d) Stack required: nonevoid
pushFloatArray
(List<Double> values) void
pushFrozenString
(ByteList bl, int cr) Stack required: nonevoid
pushFrozenString
(ByteList bl, int cr, String path, int line) Stack required: nonevoid
Push the Hash class on the stack.void
pushNil()
Load nil onto the stack.void
Push the Object class on the stack.void
pushRange
(long begin, long end, boolean exclusive) Build and save a literal fixnum..fixnum range.void
Build and save a literal range.void
Build and save a literal string..string range.void
pushRegexp
(ByteList source, int options) Build and save a literal regular expression.void
pushRubyEncoding
(org.jcodings.Encoding encoding) Push a RubyEncoding on the stack.void
Push the JRuby runtime on the stack.void
pushString
(ByteList bl, int cr) Stack required: nonevoid
pushSymbol
(ByteList bytes) Push a symbol on the stack.void
void
pushSymbolProc
(ByteList bytes) Push a Symbol.to_proc on the stack.void
Push the UNDEFINED constant on the stack.
-
Method Details
-
pushRuntime
void pushRuntime()Push the JRuby runtime on the stack. Stack required: none -
pushArrayClass
void pushArrayClass()Push the Array class on the stack. Stack required: none -
pushHashClass
void pushHashClass()Push the Hash class on the stack. Stack required: none -
pushObjectClass
void pushObjectClass()Push the Object class on the stack. Stack required: none -
pushUndefined
void pushUndefined()Push the UNDEFINED constant on the stack. Stack required: none -
pushFixnum
void pushFixnum(long l) Stack required: none- Parameters:
l
- long value to push as a Fixnum
-
pushFloat
void pushFloat(double d) Stack required: none- Parameters:
d
- double value to push as a Float
-
pushString
Stack required: none- Parameters:
bl
- ByteList for the String to push
-
pushFrozenString
Stack required: none- Parameters:
bl
- ByteList for the String to push
-
pushFrozenString
Stack required: none- Parameters:
bl
- ByteList for the String to push
-
pushByteList
Stack required: none- Parameters:
bl
- ByteList to push
-
pushRange
Build and save a literal range.Stack required: context
- Parameters:
begin
- a runnable that will emit code for the begin valueend
- a runnable that will emit code for the end valueexclusive
- whether this is an exclusive range
-
pushRange
void pushRange(long begin, long end, boolean exclusive) Build and save a literal fixnum..fixnum range.Stack required: context
- Parameters:
begin
- begin valueend
- end valueexclusive
- whether this is an exclusive range
-
pushEndlessRange
void pushEndlessRange(long end, boolean exclusive) Build and save a literal fixnum.. range.Stack required: context
- Parameters:
end
- end valueexclusive
- whether this is an exclusive range
-
pushBeginlessRange
void pushBeginlessRange(long begin, boolean exclusive) Build and save a literal ..fixnum range.Stack required: context
- Parameters:
begin
- begin valueexclusive
- whether this is an exclusive range
-
pushRange
Build and save a literal string..string range.Stack required: context
- Parameters:
begin
- begin valueend
- end valueexclusive
- whether this is an exclusive range
-
pushRegexp
Build and save a literal regular expression.Stack required: none
- Parameters:
options
- options for the regexp
-
pushSymbol
Push a symbol on the stack. Stack required: none- Parameters:
bytes
- the ByteList for the symbol
-
pushSymbolProc
Push a Symbol.to_proc on the stack. Stack required: none- Parameters:
bytes
- the ByteList for the symbol
-
pushRubyEncoding
void pushRubyEncoding(org.jcodings.Encoding encoding) Push a RubyEncoding on the stack. Stack required: none- Parameters:
encoding
- the encoding to push
-
pushEncoding
void pushEncoding(org.jcodings.Encoding encoding) Push an encoding on the stack. Stack required: none- Parameters:
encoding
- the encoding to push
-
pushNil
void pushNil()Load nil onto the stack. Stack required: none -
pushBoolean
void pushBoolean(boolean b) Load a boolean onto the stack. Stack required: none- Parameters:
b
- the boolean to push
-
pushBignum
Load a Bignum onto the stack. Stack required: none- Parameters:
bigint
- the value of the Bignum to push
-
pushCallSite
Load a CallSite onto the stack -
pushConstantLookupSite
Load a ConstantLookupSite onto the stack -
pushEmptyString
void pushEmptyString(org.jcodings.Encoding encoding) Push a new empty string on the stack Stack required: none -
pushBufferString
void pushBufferString(org.jcodings.Encoding encoding, int size) Push a new empty string on the stack preallocated to the given size Stack required: none -
pushChilledString
-
pushFixnumArray
-
pushFloatArray
-
buildDynamicString
void buildDynamicString(org.jcodings.Encoding encoding, int size, boolean frozen, boolean chilled, boolean debugFrozen, String file, int line, List<ValueCompiler.DStringElement> elements) -
pushSymbolClass
void pushSymbolClass()
-