Fix up a few non-immutable members in immutable encoded value implementations

This commit is contained in:
Ben Gruver 2018-01-31 13:26:11 -08:00
parent dea793447f
commit 8bdb50381d
4 changed files with 18 additions and 18 deletions

View File

@ -32,15 +32,15 @@
package org.jf.dexlib2.immutable.value; package org.jf.dexlib2.immutable.value;
import org.jf.dexlib2.base.value.BaseEnumEncodedValue; 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.iface.value.EnumEncodedValue;
import org.jf.dexlib2.immutable.reference.ImmutableFieldReference;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImmutableEnumEncodedValue extends BaseEnumEncodedValue implements ImmutableEncodedValue { 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; this.value = value;
} }
@ -48,8 +48,8 @@ public class ImmutableEnumEncodedValue extends BaseEnumEncodedValue implements I
if (enumEncodedValue instanceof ImmutableEnumEncodedValue) { if (enumEncodedValue instanceof ImmutableEnumEncodedValue) {
return (ImmutableEnumEncodedValue)enumEncodedValue; 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; }
} }

View File

@ -32,15 +32,15 @@
package org.jf.dexlib2.immutable.value; package org.jf.dexlib2.immutable.value;
import org.jf.dexlib2.base.value.BaseFieldEncodedValue; 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.iface.value.FieldEncodedValue;
import org.jf.dexlib2.immutable.reference.ImmutableFieldReference;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImmutableFieldEncodedValue extends BaseFieldEncodedValue implements ImmutableEncodedValue { 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; this.value = value;
} }
@ -48,8 +48,8 @@ public class ImmutableFieldEncodedValue extends BaseFieldEncodedValue implements
if (fieldEncodedValue instanceof ImmutableFieldEncodedValue) { if (fieldEncodedValue instanceof ImmutableFieldEncodedValue) {
return (ImmutableFieldEncodedValue)fieldEncodedValue; 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; }
} }

View File

@ -32,15 +32,15 @@
package org.jf.dexlib2.immutable.value; package org.jf.dexlib2.immutable.value;
import org.jf.dexlib2.base.value.BaseMethodEncodedValue; 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.iface.value.MethodEncodedValue;
import org.jf.dexlib2.immutable.reference.ImmutableMethodReference;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
public class ImmutableMethodEncodedValue extends BaseMethodEncodedValue implements ImmutableEncodedValue { 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; this.value = value;
} }
@ -48,8 +48,8 @@ public class ImmutableMethodEncodedValue extends BaseMethodEncodedValue implemen
if (methodEncodedValue instanceof ImmutableMethodEncodedValue) { if (methodEncodedValue instanceof ImmutableMethodEncodedValue) {
return (ImmutableMethodEncodedValue)methodEncodedValue; 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; }
} }

View File

@ -1314,19 +1314,19 @@ subannotation returns[String annotationType, List<AnnotationElement> elements]
$elements = elements; $elements = elements;
}; };
field_literal returns[FieldReference value] field_literal returns[ImmutableFieldReference value]
: ^(I_ENCODED_FIELD field_reference) : ^(I_ENCODED_FIELD field_reference)
{ {
$value = $field_reference.fieldReference; $value = $field_reference.fieldReference;
}; };
method_literal returns[MethodReference value] method_literal returns[ImmutableMethodReference value]
: ^(I_ENCODED_METHOD method_reference) : ^(I_ENCODED_METHOD method_reference)
{ {
$value = $method_reference.methodReference; $value = $method_reference.methodReference;
}; };
enum_literal returns[FieldReference value] enum_literal returns[ImmutableFieldReference value]
: ^(I_ENCODED_ENUM field_reference) : ^(I_ENCODED_ENUM field_reference)
{ {
$value = $field_reference.fieldReference; $value = $field_reference.fieldReference;