Class LiteralBytecodeGenerator

java.lang.Object
org.ek9lang.compiler.backend.jvm.support.LiteralBytecodeGenerator

public final class LiteralBytecodeGenerator extends Object
Generates JVM bytecode for EK9 literal values.

Each literal type has an optimized generation strategy that produces the most compact bytecode possible for common values.

  • Constructor Details

  • Method Details

    • generateLiteral

      public void generateLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue, String literalType)
      Generate literal value directly onto stack based on type.
    • generateStringLiteral

      public void generateStringLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue)
      Generate EK9 String literal from string value.
    • generateIntegerLiteral

      public void generateIntegerLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue)
      Generate EK9 Integer literal from string value.
    • generateBooleanLiteral

      public void generateBooleanLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue)
      Generate EK9 Boolean literal from string value.
    • generateFloatLiteral

      public void generateFloatLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue)
      Generate EK9 Float literal from string value.
    • generateCharacterLiteral

      public void generateCharacterLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue)
      Generate EK9 Character literal from string value.
    • generateObjectLiteral

      public void generateObjectLiteral(org.objectweb.asm.MethodVisitor mv, String literalValue, String literalType)
      Generate EK9 type literal for generic/object types.