Class BuildCPV

java.lang.Object
simula.compiler.syntaxClass.expression.BuildCPV

public abstract class BuildCPV extends Object

Coding Utilities: Build Call Procedure Virtual (CPV).

Link to GitHub: Source File.

Author:
Øystein Myhre Andersen
  • Constructor Details

    • BuildCPV

      private BuildCPV()
      Default Constructor: NOT USED
  • Method Details

    • virtual

      static void virtual(VariableExpression variable, VirtualSpecification virtual, boolean remotelyAccessed, CodeBuilder codeBuilder)
      Build Call Procedure Virtual
      Parameters:
      variable - the procedure variable
      virtual - the virtual specification
      remotelyAccessed - true if remotely accessed.
      codeBuilder - the CodeBuilder
    • remoteVirtual

      static void remoteVirtual(Expression obj, VariableExpression variable, VirtualSpecification virtual, SyntaxClass backLink, CodeBuilder codeBuilder)
      BuildCPV.remoteVirtual
      Parameters:
      obj - Object Expression before DOT
      variable - the procedure variable
      virtual - Virtual Specification
      backLink - if not null, this procedure call is part of the backLink Expression/Statement.
      codeBuilder - the CodeBuilder to use
    • buildCSVP

      private static void buildCSVP(VariableExpression variable, ProcedureSpecification procedureSpec, CodeBuilder codeBuilder)
      Coding Utility: Build Call Specified Virtual Procedure.
      Parameters:
      variable - the procedure variable
      procedureSpec - the procedure spec
      codeBuilder - the CodeBuilder
    • prepareForValueType

      private static void prepareForValueType(VariableExpression variable, CodeBuilder codeBuilder)
      ClassFile coding utility: Prepare for ValueType.
      Parameters:
      variable - the variable
      codeBuilder - the codeBuilder to use.
    • functionResultType

      private static Type functionResultType(VariableExpression variable)
      ClassFile coding utility: Get function ResultType.
      Parameters:
      variable - the variable.
      Returns:
      the function ResultType.
    • BuildLoad_RESULT

      private static void BuildLoad_RESULT(VariableExpression variable, CodeBuilder codeBuilder)
      ClassFile coding utility: Build Load_RESULT.
      Parameters:
      variable - the variable
      codeBuilder - the codeBuilder to use.