langtools/src/share/classes/com/sun/tools/javap/LocalVariableTableWriter.java
changeset 22163 3651128c74eb
parent 5847 1908176fd6e3
equal deleted inserted replaced
22162:3b3e23e67329 22163:3651128c74eb
    62         NoteKind(String text) {
    62         NoteKind(String text) {
    63             this.text = text;
    63             this.text = text;
    64         }
    64         }
    65         public abstract boolean match(LocalVariableTable_attribute.Entry entry, int pc);
    65         public abstract boolean match(LocalVariableTable_attribute.Entry entry, int pc);
    66         public final String text;
    66         public final String text;
    67     };
    67     }
    68 
    68 
    69     static LocalVariableTableWriter instance(Context context) {
    69     static LocalVariableTableWriter instance(Context context) {
    70         LocalVariableTableWriter instance = context.get(LocalVariableTableWriter.class);
    70         LocalVariableTableWriter instance = context.get(LocalVariableTableWriter.class);
    71         if (instance == null)
    71         if (instance == null)
    72             instance = new LocalVariableTableWriter(context);
    72             instance = new LocalVariableTableWriter(context);
    79         classWriter = ClassWriter.instance(context);
    79         classWriter = ClassWriter.instance(context);
    80     }
    80     }
    81 
    81 
    82     public void reset(Code_attribute attr) {
    82     public void reset(Code_attribute attr) {
    83         codeAttr = attr;
    83         codeAttr = attr;
    84         pcMap = new HashMap<Integer, List<LocalVariableTable_attribute.Entry>>();
    84         pcMap = new HashMap<>();
    85         LocalVariableTable_attribute lvt =
    85         LocalVariableTable_attribute lvt =
    86                 (LocalVariableTable_attribute) (attr.attributes.get(Attribute.LocalVariableTable));
    86                 (LocalVariableTable_attribute) (attr.attributes.get(Attribute.LocalVariableTable));
    87         if (lvt == null)
    87         if (lvt == null)
    88             return;
    88             return;
    89 
    89 
   143     }
   143     }
   144 
   144 
   145     private void put(int pc, LocalVariableTable_attribute.Entry entry) {
   145     private void put(int pc, LocalVariableTable_attribute.Entry entry) {
   146         List<LocalVariableTable_attribute.Entry> list = pcMap.get(pc);
   146         List<LocalVariableTable_attribute.Entry> list = pcMap.get(pc);
   147         if (list == null) {
   147         if (list == null) {
   148             list = new ArrayList<LocalVariableTable_attribute.Entry>();
   148             list = new ArrayList<>();
   149             pcMap.put(pc, list);
   149             pcMap.put(pc, list);
   150         }
   150         }
   151         if (!list.contains(entry))
   151         if (!list.contains(entry))
   152             list.add(entry);
   152             list.add(entry);
   153     }
   153     }