com.googlecode.d2j.Field.getOwner()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(5.9k)|赞(0)|评价(0)|浏览(99)

本文整理了Java中com.googlecode.d2j.Field.getOwner()方法的一些代码示例,展示了Field.getOwner()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Field.getOwner()方法的具体详情如下:
包路径:com.googlecode.d2j.Field
类名称:Field
方法名:getOwner

Field.getOwner介绍

暂无

代码示例

代码示例来源:origin: pxb1988/dex2jar

@Override
  public String toString() {
    return this.getOwner() + "." + this.getName() + " " + this.getType();
  }
}

代码示例来源:origin: pxb1988/dex2jar

@Override
  public void visitFieldStmt(Op op, int a, int b, Field field) {
    switch (op) {
    case SPUT:
    case SPUT_BOOLEAN:
    case SPUT_BYTE:
    case SPUT_CHAR:
    case SPUT_OBJECT:
    case SPUT_SHORT:
    case SPUT_WIDE:
      if (field.getOwner().equals(classNode.className)) {
        String key = field.getName() + ":" + field.getType();
        fs.remove(key);
        DexFieldNode dn = shouldNotBeAssigned.get(key);
        if (dn != null) {
          //System.out.println(field.getName() + ":" + field.getType());
          dn.cst = null;
        }
      }
      break;
    default:
      // ignored
      break;
    }
  }
});

代码示例来源:origin: pxb1988/dex2jar

public FieldIdItem uniqField(Field field) {
  return uniqField(field.getOwner(), field.getName(), field.getType());
}

代码示例来源:origin: pxb1988/dex2jar

public static String v(Field f) {
  return String.format("new Field(%s,%s,%s)", v(f.getOwner()), v(f.getName()), v(f.getType()));
}

代码示例来源:origin: pxb1988/dex2jar

String owner = f.getOwner();
if (owner == null) {
  owner = f.getType();

代码示例来源:origin: pxb1988/dex2jar

public static String escapeField(Field f) {
  String owner = f.getOwner();
  if (owner == null) {
    owner = f.getType();
  }
  return escapeType(owner) + "->" + f.getName() + ":" + escapeType(f.getType());
}

代码示例来源:origin: pxb1988/dex2jar

public static void doAccept(DexAnnotationVisitor dexAnnotationVisitor, String k, Object value) {
  if (value instanceof ArrayList) {
    DexAnnotationVisitor a = dexAnnotationVisitor.visitArray(k);
    for (Object o : (ArrayList) value) {
      doAccept(a, null, o);
    }
    a.visitEnd();
  } else if (value instanceof Ann) {
    Ann ann = (Ann) value;
    DexAnnotationVisitor a = dexAnnotationVisitor.visitAnnotation(k, ann.name);
    for (Map.Entry<String, Object> e : ann.elements) {
      doAccept(a, e.getKey(), e.getValue());
    }
    a.visitEnd();
  } else if (value instanceof Field) {
    Field f = (Field) value;
    dexAnnotationVisitor.visitEnum(k, f.getOwner(), f.getName());
  } else {
    dexAnnotationVisitor.visit(k, value);
  }
}

代码示例来源:origin: pxb1988/dex2jar

case IGET_SHORT:
case IGET_WIDE:
  list.add(nAssign(locals[a], nField(locals[b], field.getOwner(), field.getName(), field.getType())));
  break;
case IPUT:
case IPUT_SHORT:
case IPUT_WIDE:
  list.add(nAssign(nField(locals[b], field.getOwner(), field.getName(), field.getType()), locals[a]));
  break;
case SGET:
case SGET_SHORT:
case SGET_WIDE:
  list.add(nAssign(locals[a], nStaticField(field.getOwner(), field.getName(), field.getType())));
  break;
case SPUT:
case SPUT_SHORT:
case SPUT_WIDE:
  list.add(nAssign(nStaticField(field.getOwner(), field.getName(), field.getType()), locals[a]));
  break;
default:

代码示例来源:origin: pxb1988/dex2jar

case SGET_WIDE:
  Field field = ((FieldStmtNode) insn).field;
  return b(nStaticField(field.getOwner(), field.getName(), field.getType()));
case NEW_INSTANCE:
  return b(nNew(((TypeStmtNode) insn).type));

代码示例来源:origin: pxb1988/dex2jar

switch (mh.getType()) {
  case MethodHandle.INSTANCE_GET:
    h = new Handle(Opcodes.H_GETFIELD, toInternalName(mh.getField().getOwner()), mh.getField().getName(), mh.getField().getType());
    break;
  case MethodHandle.INSTANCE_PUT:
    h = new Handle(Opcodes.H_PUTFIELD, toInternalName(mh.getField().getOwner()), mh.getField().getName(), mh.getField().getType());
    break;
  case MethodHandle.STATIC_GET:
    h = new Handle(Opcodes.H_GETFIELD, toInternalName(mh.getField().getOwner()), mh.getField().getName(), mh.getField().getType());
    break;
  case MethodHandle.STATIC_PUT:
    h = new Handle(Opcodes.H_PUTFIELD, toInternalName(mh.getField().getOwner()), mh.getField().getName(), mh.getField().getType());
    break;
  case MethodHandle.INVOKE_INSTANCE:

代码示例来源:origin: pxb1988/dex2jar

case SPUT_WIDE: {
  Field field = ((FieldStmtNode) insn).field;
  emit(nAssign(nStaticField(field.getOwner(), field.getName(), field.getType()), local));
  return null;
case IGET_WIDE: {
  Field field = ((FieldStmtNode) insn).field;
  return b(nField(local, field.getOwner(), field.getName(), field.getType()));

代码示例来源:origin: pxb1988/dex2jar

case IPUT_WIDE:
  Field field = ((FieldStmtNode) insn).field;
  emit(nAssign(nField(local1, field.getOwner(), field.getName(), field.getType()), local2));
  return null;

代码示例来源:origin: SparkInLee/dexdiff

@Override
  public String toString() {
    return this.getOwner() + "." + this.getName() + " " + this.getType();
  }
}

代码示例来源:origin: SparkInLee/dexdiff

public FieldIdItem uniqField(Field field) {
  return uniqField(field.getOwner(), field.getName(), field.getType());
}

代码示例来源:origin: SparkInLee/dexdiff

public static String v(Field f) {
  return String.format("new Field(%s,%s,%s)", v(f.getOwner()), v(f.getName()), v(f.getType()));
}

代码示例来源:origin: SparkInLee/dexdiff

private void writeAnnotationArrayValue(DexAnnotationVisitor aw, EncodedArray array) {
  for (EncodedValue value : array.values) {
    String name = null;
    Object decodeValue = decodeValue(value);
    if (value.valueType == VALUE_ENUM) {
      Field field = (Field) decodeValue;
      aw.visitEnum(name, field.getOwner(), field.getName());
    } else if (decodeValue instanceof EncodedAnnotation) {
      EncodedAnnotation aannotation = (EncodedAnnotation) decodeValue;
      DexAnnotationVisitor aaw = aw.visitAnnotation(name, aannotation.type.descriptor.stringData.string);
      writeAnnotation(aaw, aannotation);
      aaw.visitEnd();
    } else if (decodeValue instanceof EncodedArray) {
      DexAnnotationVisitor aaw = aw.visitArray(name);
      writeAnnotationArrayValue(aaw, (EncodedArray) decodeValue);
      aaw.visitEnd();
    } else if (decodeValue instanceof Object[]) {
      Object[] values = (Object[]) decodeValue;
      EncodedArray aarray = new EncodedArray();
      for (Object avalue : values) {
        aarray.values.add(EncodedValue.wrap(mFw.cp.wrapEncodedItem(avalue)));
      }
      DexAnnotationVisitor aaw = aw.visitArray(name);
      writeAnnotationArrayValue(aaw, aarray);
      aaw.visitEnd();
    } else {
      aw.visit(name, decodeValue);
    }
  }
}

代码示例来源:origin: SparkInLee/dexdiff

if (element.value.valueType == VALUE_ENUM) {
  Field field = (Field) decodeValue;
  aw.visitEnum(name, field.getOwner(), field.getName());
} else if (decodeValue instanceof EncodedAnnotation) {
  EncodedAnnotation aannotation = (EncodedAnnotation) decodeValue;

相关文章

微信公众号

最新文章

更多