本文整理汇总了Java中org.jf.dexlib2.iface.value.ArrayEncodedValue类的典型用法代码示例。如果您正苦于以下问题:Java ArrayEncodedValue类的具体用法?Java ArrayEncodedValue怎么用?Java ArrayEncodedValue使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
ArrayEncodedValue类属于org.jf.dexlib2.iface.value包,在下文中一共展示了ArrayEncodedValue类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeTo
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static void writeTo(@Nonnull IndentingWriter writer,
@Nonnull ArrayEncodedValue arrayEncodedValue,
@Nullable String containingClass) throws IOException {
writer.write('{');
Collection<? extends EncodedValue> values = arrayEncodedValue.getValue();
if (values.size() == 0) {
writer.write('}');
return;
}
writer.write('\n');
writer.indent(4);
boolean first = true;
for (EncodedValue encodedValue: values) {
if (!first) {
writer.write(",\n");
}
first = false;
EncodedValueAdaptor.writeTo(writer, encodedValue, containingClass);
}
writer.deindent(4);
writer.write("\n}");
}
示例2: writeTo
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static void writeTo(IndentingWriter writer, ArrayEncodedValue arrayEncodedValue) throws IOException {
writer.write('{');
Collection<? extends EncodedValue> values = arrayEncodedValue.getValue();
if (values.size() == 0) {
writer.write('}');
return;
}
writer.write('\n');
writer.indent(4);
boolean first = true;
for (EncodedValue encodedValue: values) {
if (!first) {
writer.write(",\n");
}
first = false;
EncodedValueAdaptor.writeTo(writer, encodedValue);
}
writer.deindent(4);
writer.write("\n}");
}
示例3: rewrite
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Nonnull
@Override
public EncodedValue rewrite(@Nonnull EncodedValue encodedValue) {
switch (encodedValue.getValueType()) {
case ValueType.TYPE:
return new RewrittenTypeEncodedValue((TypeEncodedValue) encodedValue);
case ValueType.FIELD:
return new RewrittenFieldEncodedValue((FieldEncodedValue) encodedValue);
case ValueType.METHOD:
return new RewrittenMethodEncodedValue((MethodEncodedValue) encodedValue);
case ValueType.ENUM:
return new RewrittenEnumEncodedValue((EnumEncodedValue) encodedValue);
case ValueType.ARRAY:
return new RewrittenArrayEncodedValue((ArrayEncodedValue) encodedValue);
case ValueType.ANNOTATION:
return new RewrittenAnnotationEncodedValue((AnnotationEncodedValue) encodedValue);
default:
return encodedValue;
}
}
示例4: equals
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Override
public boolean equals(@Nullable Object o) {
if (o instanceof ArrayEncodedValue) {
return getValue().equals(((ArrayEncodedValue)o).getValue());
}
return false;
}
示例5: equals
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Override
public boolean equals( Object o) {
if (o instanceof ArrayEncodedValue) {
return getValue().equals(((ArrayEncodedValue)o).getValue());
}
return false;
}
示例6: of
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Nonnull
public static ImmutableEncodedValue of(@Nonnull EncodedValue encodedValue) {
switch (encodedValue.getValueType()) {
case ValueType.BYTE:
return ImmutableByteEncodedValue.of((ByteEncodedValue) encodedValue);
case ValueType.SHORT:
return ImmutableShortEncodedValue.of((ShortEncodedValue) encodedValue);
case ValueType.CHAR:
return ImmutableCharEncodedValue.of((CharEncodedValue) encodedValue);
case ValueType.INT:
return ImmutableIntEncodedValue.of((IntEncodedValue) encodedValue);
case ValueType.LONG:
return ImmutableLongEncodedValue.of((LongEncodedValue) encodedValue);
case ValueType.FLOAT:
return ImmutableFloatEncodedValue.of((FloatEncodedValue) encodedValue);
case ValueType.DOUBLE:
return ImmutableDoubleEncodedValue.of((DoubleEncodedValue) encodedValue);
case ValueType.STRING:
return ImmutableStringEncodedValue.of((StringEncodedValue) encodedValue);
case ValueType.TYPE:
return ImmutableTypeEncodedValue.of((TypeEncodedValue) encodedValue);
case ValueType.FIELD:
return ImmutableFieldEncodedValue.of((FieldEncodedValue) encodedValue);
case ValueType.METHOD:
return ImmutableMethodEncodedValue.of((MethodEncodedValue) encodedValue);
case ValueType.ENUM:
return ImmutableEnumEncodedValue.of((EnumEncodedValue) encodedValue);
case ValueType.ARRAY:
return ImmutableArrayEncodedValue.of((ArrayEncodedValue) encodedValue);
case ValueType.ANNOTATION:
return ImmutableAnnotationEncodedValue.of((AnnotationEncodedValue) encodedValue);
case ValueType.NULL:
return ImmutableNullEncodedValue.INSTANCE;
case ValueType.BOOLEAN:
return ImmutableBooleanEncodedValue.of((BooleanEncodedValue) encodedValue);
default:
Preconditions.checkArgument(false);
return null;
}
}
示例7: equals
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Override
public boolean equals(@Nullable Object o) {
if (o instanceof ArrayEncodedValue) {
return getValue().equals(((ArrayEncodedValue) o).getValue());
}
return false;
}
示例8: internEncodedValue
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Nonnull
private BuilderEncodedValue internEncodedValue(@Nonnull EncodedValue encodedValue) {
switch (encodedValue.getValueType()) {
case ValueType.ANNOTATION:
return internAnnotationEncodedValue((AnnotationEncodedValue) encodedValue);
case ValueType.ARRAY:
return internArrayEncodedValue((ArrayEncodedValue) encodedValue);
case ValueType.BOOLEAN:
boolean value = ((BooleanEncodedValue) encodedValue).getValue();
return value ? BuilderBooleanEncodedValue.TRUE_VALUE : BuilderBooleanEncodedValue.FALSE_VALUE;
case ValueType.BYTE:
return new BuilderByteEncodedValue(((ByteEncodedValue) encodedValue).getValue());
case ValueType.CHAR:
return new BuilderCharEncodedValue(((CharEncodedValue) encodedValue).getValue());
case ValueType.DOUBLE:
return new BuilderDoubleEncodedValue(((DoubleEncodedValue) encodedValue).getValue());
case ValueType.ENUM:
return internEnumEncodedValue((EnumEncodedValue) encodedValue);
case ValueType.FIELD:
return internFieldEncodedValue((FieldEncodedValue) encodedValue);
case ValueType.FLOAT:
return new BuilderFloatEncodedValue(((FloatEncodedValue) encodedValue).getValue());
case ValueType.INT:
return new BuilderIntEncodedValue(((IntEncodedValue) encodedValue).getValue());
case ValueType.LONG:
return new BuilderLongEncodedValue(((LongEncodedValue) encodedValue).getValue());
case ValueType.METHOD:
return internMethodEncodedValue((MethodEncodedValue) encodedValue);
case ValueType.NULL:
return BuilderNullEncodedValue.INSTANCE;
case ValueType.SHORT:
return new BuilderShortEncodedValue(((ShortEncodedValue) encodedValue).getValue());
case ValueType.STRING:
return internStringEncodedValue((StringEncodedValue) encodedValue);
case ValueType.TYPE:
return internTypeEncodedValue((TypeEncodedValue) encodedValue);
default:
throw new ExceptionWithContext("Unexpected encoded value type: %d", encodedValue.getValueType());
}
}
示例9: internArrayEncodedValue
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Nonnull
private BuilderArrayEncodedValue internArrayEncodedValue(@Nonnull ArrayEncodedValue value) {
return new BuilderArrayEncodedValue(
ImmutableList.copyOf(
Iterators.transform(value.getValue().iterator(),
new Function<EncodedValue, BuilderEncodedValue>() {
@Nullable
@Override
public BuilderEncodedValue apply(EncodedValue input) {
return internEncodedValue(input);
}
})));
}
示例10: writeTo
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static void writeTo(@Nonnull IndentingWriter writer, @Nonnull EncodedValue encodedValue,
@Nullable String containingClass)
throws IOException {
switch (encodedValue.getValueType()) {
case ValueType.ANNOTATION:
AnnotationEncodedValueAdaptor.writeTo(writer, (AnnotationEncodedValue) encodedValue, containingClass);
return;
case ValueType.ARRAY:
ArrayEncodedValueAdaptor.writeTo(writer, (ArrayEncodedValue)encodedValue, containingClass);
return;
case ValueType.BOOLEAN:
BooleanRenderer.writeTo(writer, ((BooleanEncodedValue) encodedValue).getValue());
return;
case ValueType.BYTE:
ByteRenderer.writeTo(writer, ((ByteEncodedValue) encodedValue).getValue());
return;
case ValueType.CHAR:
CharRenderer.writeTo(writer, ((CharEncodedValue) encodedValue).getValue());
return;
case ValueType.DOUBLE:
DoubleRenderer.writeTo(writer, ((DoubleEncodedValue) encodedValue).getValue());
return;
case ValueType.ENUM:
EnumEncodedValue enumEncodedValue = (EnumEncodedValue)encodedValue;
boolean useImplicitReference = false;
if (enumEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
useImplicitReference = true;
}
writer.write(".enum ");
ReferenceUtil.writeFieldDescriptor(writer, enumEncodedValue.getValue(), useImplicitReference);
return;
case ValueType.FIELD:
FieldEncodedValue fieldEncodedValue = (FieldEncodedValue)encodedValue;
useImplicitReference = false;
if (fieldEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
useImplicitReference = true;
}
ReferenceUtil.writeFieldDescriptor(writer, fieldEncodedValue.getValue(), useImplicitReference);
return;
case ValueType.FLOAT:
FloatRenderer.writeTo(writer, ((FloatEncodedValue) encodedValue).getValue());
return;
case ValueType.INT:
IntegerRenderer.writeTo(writer, ((IntEncodedValue) encodedValue).getValue());
return;
case ValueType.LONG:
LongRenderer.writeTo(writer, ((LongEncodedValue) encodedValue).getValue());
return;
case ValueType.METHOD:
MethodEncodedValue methodEncodedValue = (MethodEncodedValue)encodedValue;
useImplicitReference = false;
if (methodEncodedValue.getValue().getDefiningClass().equals(containingClass)) {
useImplicitReference = true;
}
ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference);
return;
case ValueType.NULL:
writer.write("null");
return;
case ValueType.SHORT:
ShortRenderer.writeTo(writer, ((ShortEncodedValue) encodedValue).getValue());
return;
case ValueType.STRING:
ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue) encodedValue).getValue());
return;
case ValueType.TYPE:
writer.write(((TypeEncodedValue)encodedValue).getValue());
}
}
示例11: of
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static ImmutableArrayEncodedValue of(@Nonnull ArrayEncodedValue arrayEncodedValue) {
if (arrayEncodedValue instanceof ImmutableArrayEncodedValue) {
return (ImmutableArrayEncodedValue)arrayEncodedValue;
}
return new ImmutableArrayEncodedValue(arrayEncodedValue.getValue());
}
示例12: compareTo
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Override public int compareTo(@Nonnull EncodedValue o) {
int res = Ints.compare(getValueType(), o.getValueType());
if (res != 0) return res;
return CollectionUtils.compareAsList(getValue(), ((ArrayEncodedValue)o).getValue());
}
示例13: of
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static ImmutableArrayEncodedValue of( ArrayEncodedValue arrayEncodedValue) {
if (arrayEncodedValue instanceof ImmutableArrayEncodedValue) {
return (ImmutableArrayEncodedValue)arrayEncodedValue;
}
return new ImmutableArrayEncodedValue(arrayEncodedValue.getValue());
}
示例14: compareTo
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
@Override public int compareTo( EncodedValue o) {
int res = Ints.compare(getValueType(), o.getValueType());
if (res != 0) return res;
return CollectionUtils.compareAsList(getValue(), ((ArrayEncodedValue)o).getValue());
}
示例15: of
import org.jf.dexlib2.iface.value.ArrayEncodedValue; //导入依赖的package包/类
public static ImmutableArrayEncodedValue of(@Nonnull ArrayEncodedValue arrayEncodedValue) {
if (arrayEncodedValue instanceof ImmutableArrayEncodedValue) {
return (ImmutableArrayEncodedValue) arrayEncodedValue;
}
return new ImmutableArrayEncodedValue(arrayEncodedValue.getValue());
}