Class Thunk


public final class Thunk extends DeclarationScope
Thunk Declaration.
  • Field Details

    • OBJECT_SEQU

      private static int OBJECT_SEQU
      Local variable
    • CD_ThisClass

      private ClassDesc CD_ThisClass
      Local variable
    • kind

      private int kind
      Local variable
    • expr

      private Expression expr
      Local variable
  • Constructor Details

    • Thunk

      private Thunk(int kind, Expression expr)
      Create a new Thunk object.
      Parameters:
      kind - the kind code
      expr - the Thunk expression.
  • Method Details

    • findVisibleAttributeMeaning

      public Meaning findVisibleAttributeMeaning(String ident)
      Description copied from class: DeclarationScope
      Find visible attribute's Meaning
      Overrides:
      findVisibleAttributeMeaning in class DeclarationScope
      Parameters:
      ident - attribute identifier
      Returns:
      the resulting Meaning
    • buildInvoke

      public static void buildInvoke(int kind, Expression expr, CodeBuilder codeBuilder)
      ClassFile Coding Utility: Build invoke Thunk
      Parameters:
      kind - a kind code
      expr - the Thunk expression
      codeBuilder - the codeBuilder to use.
    • buildClassFile

      public byte[] buildClassFile()
      Description copied from class: DeclarationScope
      Build Class File
      Specified by:
      buildClassFile in class DeclarationScope
      Returns:
      Class File bytes
    • buildConstructor

      private void buildConstructor(CodeBuilder codeBuilder)

      Generate byteCode for the Constructor.

          public ClassIdent(RTS_RTObject staticLink) {
              super(staticLink);
         }
      
      Parameters:
      codeBuilder - the CodeBuilder
    • buildMethod_get

      void buildMethod_get(CodeBuilder codeBuilder)

      Generate byteCode for the 'get' method.

      public Integer get() { return(((adHoc13)(_ENV._SL)).n);
      
      Parameters:
      codeBuilder - the CodeBuilder
    • buildMethod_put

      void buildMethod_put(CodeBuilder codeBuilder, Expression beforeDot, Expression expr)

      Generate byteCode for the 'put' method.

      public Integer put(Integer x_) {
      	return(((adHoc13)(_ENV._SL)).n=(int)x_);
      

      }

      Parameters:
      codeBuilder - the CodeBuilder
      beforeDot - expression.
      expr - the Thunk expression.
    • buildMethod_put2

      private void buildMethod_put2(CodeBuilder codeBuilder)
      ClassFile Coding Utility: Build synthetic bridge to the 'put' method.
      Parameters:
      codeBuilder - the codeBuilder to use.
    • buildProcedureQuant

      private static void buildProcedureQuant(Expression apar, CodeBuilder codeBuilder)
      ClassFile Coding Utility: Edit new procedure quant.
      Parameters:
      apar - the actual parameter
      codeBuilder - the CodeBuilder
    • toString

      public String toString()
      Overrides:
      toString in class Object