Class LocalVariableTable

java.lang.Object
org.glassfish.rmic.tools.asm.LocalVariableTable

final class LocalVariableTable extends Object
This class is used to assemble the local variable table. WARNING: The contents of this source file are not part of any supported API. Code that depends on them does so at its own risk: they are subject to change or removal without notice.
  • Field Details

  • Constructor Details

    • LocalVariableTable

      LocalVariableTable()
  • Method Details

    • define

      void define(MemberDefinition field, int slot, int from, int to)
      Define a new local variable. Merge entries where possible.
    • trim_ranges

      private void trim_ranges()
      Trim overlapping local ranges. Java forbids shadowing of locals in nested scopes, but non-nested scopes may still declare locals with the same name. Because local variable ranges are computed using flow analysis as part of assembly, it isn't possible to simply make sure variable ranges end where the enclosing lexical scope ends. This method makes sure that variables with the same name don't overlap, giving priority to fields with higher slot numbers that should have appeared later in the source.
    • write

      void write(Environment env, DataOutputStream out, ConstantPool tab) throws IOException
      Write out the data.
      Throws:
      IOException