Class BytecodeMethod

java.lang.Object
org.eolang.jeo.representation.bytecode.BytecodeMethod

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

    • BytecodeMethod

      public BytecodeMethod()
      Constructor for tests.
    • BytecodeMethod

      public BytecodeMethod(String name)
      Constructor.
      Parameters:
      name - Method name.
    • BytecodeMethod

      public BytecodeMethod(BytecodeEntry... instructions)
      Constructor.
      Parameters:
      instructions - Method instructions.
    • BytecodeMethod

      public BytecodeMethod(String name, BytecodeAnnotations annotations)
      Constructor.
      Parameters:
      name - Method name.
      annotations - Method annotations.
    • BytecodeMethod

      public BytecodeMethod(String name, BytecodeMaxs maxs)
      Constructor.
      Parameters:
      name - Method name.
      maxs - Max stack and locals.
    • BytecodeMethod

      public BytecodeMethod(BytecodeMethodProperties properties, BytecodeMaxs maxs)
      Constructor.
      Parameters:
      properties - Method properties.
      maxs - Max stack and locals.
    • BytecodeMethod

      public BytecodeMethod(List<BytecodeEntry> tryblocks, List<BytecodeEntry> instructions, BytecodeAnnotations annotations, BytecodeMethodProperties properties, List<BytecodeDefaultValue> defvalues, BytecodeMaxs maxs)
      Constructor.
      Parameters:
      tryblocks - Try-catch blocks.
      instructions - Method instructions.
      annotations - Method annotations.
      properties - Method properties.
      defvalues - Default values.
      maxs - Max stack and locals.
  • Method Details

    • withoutMaxs

      public BytecodeMethod withoutMaxs()
      Similar method without maxs.
      Returns:
      Method without maxs.
    • label

      public BytecodeMethod label(org.objectweb.asm.Label label)
      Add label.
      Parameters:
      label - Label.
      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.
    • defvalue

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

      public String name()
      Method name.
      Returns:
      Method name.
    • directives

      public DirectivesMethod directives(boolean counting)
      Generate directives.
      Parameters:
      counting - Whether to count opcodes.
      Returns:
      Directives.