public void add(StructLocalVariableTypeTableAttribute attr) { backingAttribute.add(attr.backingAttribute); }
private boolean isAmbiguous() { MethodWrapper method = (MethodWrapper)DecompilerContext.getProperty(DecompilerContext.CURRENT_METHOD_WRAPPER); if (method != null) { StructLocalVariableTableAttribute attr = method.methodStruct.getLocalVariableAttr(); if (attr != null) { return attr.containsName(name); } } return false; }
public String getSignature(int index, int visibleOffset) { return backingAttribute.getDescriptor(index, visibleOffset); } }
public String getName(int index, int visibleOffset) { return matchingVars(index, visibleOffset).map(v -> v.name).findFirst().orElse(null); }
@Override public void initContent(DataInputFullStream data, ConstantPool pool) throws IOException { backingAttribute.initContent(data, pool); }
public String getDebugName(StructMethod method) { StructLocalVariableTableAttribute attr = method.getLocalVariableAttr(); if (attr != null && processor != null) { Integer origIndex = processor.getVarOriginalIndex(index); if (origIndex != null) { String name = attr.getName(origIndex, visibleOffset); if (name != null && TextUtil.isValidIdentifier(name, method.getClassStruct().getBytecodeVersion())) { return name; } } } return null; }
if (attr != null) { varProc.setDebugVarNames(attr.getMapParamNames());
public String getDescriptor(int index, int visibleOffset) { return matchingVars(index, visibleOffset).map(v -> v.descriptor).findFirst().orElse(null); }
@Override public void initContent(DataInputFullStream data, ConstantPool pool) throws IOException { backingAttribute.initContent(data, pool); }
public String getDebugName(StructMethod method) { StructLocalVariableTableAttribute attr = method.getLocalVariableAttr(); if (attr != null && processor != null) { Integer origIndex = processor.getVarOriginalIndex(index); if (origIndex != null) { String name = attr.getName(origIndex, visibleOffset); if (name != null && TextUtil.isValidIdentifier(name, method.getClassStruct().getBytecodeVersion())) { return name; } } } return null; }
attr = new StructLocalVariableTableAttribute();
if (attr != null) { varProc.setDebugVarNames(attr.getMapParamNames());
String descriptor = attr.getDescriptor(originalIndex, visibleOffset); if (descriptor != null) { buffer.append(ExprProcessor.getCastTypeName(new VarType(descriptor)));
public String getName(int index, int visibleOffset) { return matchingVars(index, visibleOffset).map(v -> v.name).findFirst().orElse(null); }
protected Map<String, StructGeneralAttribute> readAttributes(DataInputFullStream in, ConstantPool pool) throws IOException { int length = in.readUnsignedShort(); Map<String, StructGeneralAttribute> attributes = new HashMap<>(length); for (int i = 0; i < length; i++) { int nameIndex = in.readUnsignedShort(); String name = pool.getPrimitiveConstant(nameIndex).getString(); StructGeneralAttribute attribute = readAttribute(in, pool, name); if (attribute != null) { if (StructGeneralAttribute.ATTRIBUTE_LOCAL_VARIABLE_TABLE.getName().equals(name) && attributes.containsKey(name)) { // merge all variable tables StructLocalVariableTableAttribute table = (StructLocalVariableTableAttribute)attributes.get(name); table.add((StructLocalVariableTableAttribute)attribute); } else if (StructGeneralAttribute.ATTRIBUTE_LOCAL_VARIABLE_TYPE_TABLE.getName().equals(name) && attributes.containsKey(name)) { // merge all variable tables StructLocalVariableTypeTableAttribute table = (StructLocalVariableTypeTableAttribute)attributes.get(name); table.add((StructLocalVariableTypeTableAttribute)attribute); } else { attributes.put(attribute.getName(), attribute); } } } return attributes; }
private boolean isAmbiguous() { MethodWrapper method = (MethodWrapper)DecompilerContext.getProperty(DecompilerContext.CURRENT_METHOD_WRAPPER); if (method != null) { StructLocalVariableTableAttribute attr = method.methodStruct.getLocalVariableAttr(); if (attr != null) { return attr.containsName(name); } } return false; }
public String getSignature(int index, int visibleOffset) { return backingAttribute.getDescriptor(index, visibleOffset); } }
public String getDescriptor(int index, int visibleOffset) { return matchingVars(index, visibleOffset).map(v -> v.descriptor).findFirst().orElse(null); }
public void add(StructLocalVariableTypeTableAttribute attr) { backingAttribute.add(attr.backingAttribute); }