Package org.jruby.ir.targets
Interface ValueCompiler
- All Known Implementing Classes:
IndyValueCompiler,NormalValueCompiler
public interface ValueCompiler
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordstatic enum -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildDynamicString(org.jcodings.Encoding encoding, int size, boolean frozen, boolean chilled, boolean debugFrozen, String file, int line, List<ValueCompiler.DStringElement> elements) voidPush the Array class on the stack.voidpushBeginlessRange(long begin, boolean exclusive) Build and save a literal ..fixnum range.voidpushBignum(BigInteger bigint) Load a Bignum onto the stack.voidpushBoolean(boolean b) Load a boolean onto the stack.voidpushBufferString(org.jcodings.Encoding encoding, int size) Push a new empty string on the stack preallocated to the given size Stack required: nonevoidpushByteList(ByteList bl) Stack required: nonevoidpushCallSite(String className, String siteName, String scopeFieldName, CallBase call) Load a CallSite onto the stackvoidpushChilledString(ByteList byteList, int codeRange, String file, int line) voidpushConstantLookupSite(String className, String siteName, ByteList name) Load a ConstantLookupSite onto the stackvoidpushEmptyString(org.jcodings.Encoding encoding) Push a new empty string on the stack Stack required: nonevoidpushEncoding(org.jcodings.Encoding encoding) Push an encoding on the stack.voidpushEndlessRange(long end, boolean exclusive) Build and save a literal fixnum..voidpushFixnum(long l) Stack required: nonevoidpushFixnumArray(List<Long> values) voidpushFloat(double d) Stack required: nonevoidpushFloatArray(List<Double> values) voidpushFrozenString(ByteList bl, int cr) Stack required: nonevoidpushFrozenString(ByteList bl, int cr, String path, int line) Stack required: nonevoidPush the Hash class on the stack.voidpushNil()Load nil onto the stack.voidPush the Object class on the stack.voidpushRange(long begin, long end, boolean exclusive) Build and save a literal fixnum..fixnum range.voidBuild and save a literal range.voidBuild and save a literal string..string range.voidpushRegexp(ByteList source, int options) Build and save a literal regular expression.voidpushRubyEncoding(org.jcodings.Encoding encoding) Push a RubyEncoding on the stack.voidPush the JRuby runtime on the stack.voidpushString(ByteList bl, int cr) Stack required: nonevoidpushSymbol(ByteList bytes) Push a symbol on the stack.voidvoidpushSymbolProc(ByteList bytes) Push a Symbol.to_proc on the stack.voidPush 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()
-