diff --git a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableEnumEncodedValue.java b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableEnumEncodedValue.java index 2607f8a0..a67ff317 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableEnumEncodedValue.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableEnumEncodedValue.java @@ -32,15 +32,15 @@ package org.jf.dexlib2.immutable.value; import org.jf.dexlib2.base.value.BaseEnumEncodedValue; -import org.jf.dexlib2.iface.reference.FieldReference; import org.jf.dexlib2.iface.value.EnumEncodedValue; +import org.jf.dexlib2.immutable.reference.ImmutableFieldReference; import javax.annotation.Nonnull; public class ImmutableEnumEncodedValue extends BaseEnumEncodedValue implements ImmutableEncodedValue { - @Nonnull protected final FieldReference value; + @Nonnull protected final ImmutableFieldReference value; - public ImmutableEnumEncodedValue(@Nonnull FieldReference value) { + public ImmutableEnumEncodedValue(@Nonnull ImmutableFieldReference value) { this.value = value; } @@ -48,8 +48,8 @@ public class ImmutableEnumEncodedValue extends BaseEnumEncodedValue implements I if (enumEncodedValue instanceof ImmutableEnumEncodedValue) { return (ImmutableEnumEncodedValue)enumEncodedValue; } - return new ImmutableEnumEncodedValue(enumEncodedValue.getValue()); + return new ImmutableEnumEncodedValue(ImmutableFieldReference.of(enumEncodedValue.getValue())); } - @Nonnull @Override public FieldReference getValue() { return value; } + @Nonnull @Override public ImmutableFieldReference getValue() { return value; } } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableFieldEncodedValue.java b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableFieldEncodedValue.java index 691b6cfe..60dea872 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableFieldEncodedValue.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableFieldEncodedValue.java @@ -32,15 +32,15 @@ package org.jf.dexlib2.immutable.value; import org.jf.dexlib2.base.value.BaseFieldEncodedValue; -import org.jf.dexlib2.iface.reference.FieldReference; import org.jf.dexlib2.iface.value.FieldEncodedValue; +import org.jf.dexlib2.immutable.reference.ImmutableFieldReference; import javax.annotation.Nonnull; public class ImmutableFieldEncodedValue extends BaseFieldEncodedValue implements ImmutableEncodedValue { - @Nonnull protected final FieldReference value; + @Nonnull protected final ImmutableFieldReference value; - public ImmutableFieldEncodedValue(@Nonnull FieldReference value) { + public ImmutableFieldEncodedValue(@Nonnull ImmutableFieldReference value) { this.value = value; } @@ -48,8 +48,8 @@ public class ImmutableFieldEncodedValue extends BaseFieldEncodedValue implements if (fieldEncodedValue instanceof ImmutableFieldEncodedValue) { return (ImmutableFieldEncodedValue)fieldEncodedValue; } - return new ImmutableFieldEncodedValue(fieldEncodedValue.getValue()); + return new ImmutableFieldEncodedValue(ImmutableFieldReference.of(fieldEncodedValue.getValue())); } - @Nonnull @Override public FieldReference getValue() { return value; } + @Nonnull @Override public ImmutableFieldReference getValue() { return value; } } diff --git a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableMethodEncodedValue.java b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableMethodEncodedValue.java index 05b45809..99c108fc 100644 --- a/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableMethodEncodedValue.java +++ b/dexlib2/src/main/java/org/jf/dexlib2/immutable/value/ImmutableMethodEncodedValue.java @@ -32,15 +32,15 @@ package org.jf.dexlib2.immutable.value; import org.jf.dexlib2.base.value.BaseMethodEncodedValue; -import org.jf.dexlib2.iface.reference.MethodReference; import org.jf.dexlib2.iface.value.MethodEncodedValue; +import org.jf.dexlib2.immutable.reference.ImmutableMethodReference; import javax.annotation.Nonnull; public class ImmutableMethodEncodedValue extends BaseMethodEncodedValue implements ImmutableEncodedValue { - @Nonnull protected final MethodReference value; + @Nonnull protected final ImmutableMethodReference value; - public ImmutableMethodEncodedValue(@Nonnull MethodReference value) { + public ImmutableMethodEncodedValue(@Nonnull ImmutableMethodReference value) { this.value = value; } @@ -48,8 +48,8 @@ public class ImmutableMethodEncodedValue extends BaseMethodEncodedValue implemen if (methodEncodedValue instanceof ImmutableMethodEncodedValue) { return (ImmutableMethodEncodedValue)methodEncodedValue; } - return new ImmutableMethodEncodedValue(methodEncodedValue.getValue()); + return new ImmutableMethodEncodedValue(ImmutableMethodReference.of(methodEncodedValue.getValue())); } - @Nonnull @Override public MethodReference getValue() { return value; } + @Nonnull @Override public ImmutableMethodReference getValue() { return value; } } diff --git a/smali/src/main/antlr/smaliTreeWalker.g b/smali/src/main/antlr/smaliTreeWalker.g index 171756ec..f80e8ad7 100644 --- a/smali/src/main/antlr/smaliTreeWalker.g +++ b/smali/src/main/antlr/smaliTreeWalker.g @@ -1314,19 +1314,19 @@ subannotation returns[String annotationType, List elements] $elements = elements; }; -field_literal returns[FieldReference value] +field_literal returns[ImmutableFieldReference value] : ^(I_ENCODED_FIELD field_reference) { $value = $field_reference.fieldReference; }; -method_literal returns[MethodReference value] +method_literal returns[ImmutableMethodReference value] : ^(I_ENCODED_METHOD method_reference) { $value = $method_reference.methodReference; }; -enum_literal returns[FieldReference value] +enum_literal returns[ImmutableFieldReference value] : ^(I_ENCODED_ENUM field_reference) { $value = $field_reference.fieldReference;