Interface ValueCompiler

All Known Implementing Classes:
IndyValueCompiler, NormalValueCompiler

public interface ValueCompiler
  • 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

      void pushString(ByteList bl, int cr)
      Stack required: none
      Parameters:
      bl - ByteList for the String to push
    • pushFrozenString

      void pushFrozenString(ByteList bl, int cr, String path, int line)
      Stack required: none
      Parameters:
      bl - ByteList for the String to push
    • pushFrozenString

      void pushFrozenString(ByteList bl, int cr)
      Stack required: none
      Parameters:
      bl - ByteList for the String to push
    • pushByteList

      void pushByteList(ByteList bl)
      Stack required: none
      Parameters:
      bl - ByteList to push
    • pushRange

      void pushRange(Runnable begin, Runnable end, boolean exclusive)
      Build and save a literal range.

      Stack required: context

      Parameters:
      begin - a runnable that will emit code for the begin value
      end - a runnable that will emit code for the end value
      exclusive - 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 value
      end - end value
      exclusive - 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 value
      exclusive - 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 value
      exclusive - whether this is an exclusive range
    • pushRange

      void pushRange(ByteList begin, int beginCR, ByteList end, int endCR, boolean exclusive)
      Build and save a literal string..string range.

      Stack required: context

      Parameters:
      begin - begin value
      end - end value
      exclusive - whether this is an exclusive range
    • pushRegexp

      void pushRegexp(ByteList source, int options)
      Build and save a literal regular expression.

      Stack required: none

      Parameters:
      options - options for the regexp
    • pushSymbol

      void pushSymbol(ByteList bytes)
      Push a symbol on the stack. Stack required: none
      Parameters:
      bytes - the ByteList for the symbol
    • pushSymbolProc

      void pushSymbolProc(ByteList bytes)
      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

      void pushBignum(BigInteger bigint)
      Load a Bignum onto the stack. Stack required: none
      Parameters:
      bigint - the value of the Bignum to push
    • pushCallSite

      void pushCallSite(String className, String siteName, String scopeFieldName, CallBase call)
      Load a CallSite onto the stack
    • pushConstantLookupSite

      void pushConstantLookupSite(String className, String siteName, ByteList name)
      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

      void pushChilledString(ByteList byteList, int codeRange, String file, int line)
    • pushFixnumArray

      void pushFixnumArray(List<Long> values)
    • pushFloatArray

      void pushFloatArray(List<Double> values)
    • 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()