Class BytecodeMethod

java.lang.Object
org.eolang.jeo.representation.bytecode.BytecodeMethod
All Implemented Interfaces:
Testable

public final class BytecodeMethod extends Object implements Testable
Bytecode method.
Since:
0.1.0
  • Constructor Details

    • BytecodeMethod

      public BytecodeMethod(BytecodeMethodProperties properties, CustomClassWriter visitor, BytecodeClass clazz, int stack, int locals)
      Constructor.
      Parameters:
      properties - Method properties.
      visitor - ASM class writer.
      clazz - Original class.
      stack - Stack size.
      locals - Local variables.
  • Method Details

    • up

      public BytecodeClass up()
      Return to the original class.
      Returns:
      Original class.
    • label

      public BytecodeMethod label(org.objectweb.asm.Label label)
      Add label.
      Parameters:
      label - Label.
      Returns:
      This object.
    • opcode

      public BytecodeMethod opcode(int opcode, Object... args)
      Add instruction.
      Parameters:
      opcode - Opcode.
      args - Arguments.
      Returns:
      This object.
    • trycatch

      public BytecodeMethod trycatch(BytecodeEntry entry)
      Add try-catch block.
      Parameters:
      entry - Try-catch block.
      Returns:
      This object.
    • entry

      public BytecodeMethod entry(BytecodeEntry entry)
      Add some bytecode entry.
      Parameters:
      entry - Entry.
      Returns:
      This object.
    • annotation

      public BytecodeMethod annotation(BytecodeAnnotation annotation)
      Add annotation.
      Parameters:
      annotation - Annotation.
      Returns:
      This object.
    • defvalue

      public BytecodeMethod defvalue(BytecodeDefaultValue defvalue)
      Add default value.
      Parameters:
      defvalue - Default value.
      Returns:
      This object.
    • testCode

      public String testCode()
      Description copied from interface: Testable
      Generate test Java code.
      Specified by:
      testCode in interface Testable
      Returns:
      Java code.