protected static FieldReference toFieldReference(SootField f) { FieldReference fieldRef = new ImmutableFieldReference(SootToDexUtils.getDexClassName(f.getDeclaringClass().getName()), f.getName(), SootToDexUtils.getDexTypeDescriptor(f.getType())); return fieldRef; }
protected static FieldReference toFieldReference(SootFieldRef ref) { FieldReference fieldRef = new ImmutableFieldReference(SootToDexUtils.getDexClassName(ref.declaringClass().getName()), ref.name(), SootToDexUtils.getDexTypeDescriptor(ref.type())); return fieldRef; }
@Before public void setUp() { vm = mock(VirtualMachine.class); ectx = mock(ExecutionContext.class); mState = mock(MethodState.class); when(ectx.getMethodState()).thenReturn(mState); node = mock(ExecutionNode.class); itemB = mock(HeapItem.class); when(mState.readRegister(REGISTER_B)).thenReturn(itemB); setItem = ArgumentCaptor.forClass(HeapItem.class); location = mock(MethodLocation.class); instruction = mock(BuilderInstruction.class, withSettings().extraInterfaces(Instruction22c.class)); when(location.getInstruction()).thenReturn(instruction); when(location.getCodeAddress()).thenReturn(ADDRESS); when(instruction.getLocation()).thenReturn(location); when(instruction.getCodeUnits()).thenReturn(0); when(((Instruction22c) instruction).getRegisterA()).thenReturn(REGISTER_A); when(((Instruction22c) instruction).getRegisterB()).thenReturn(REGISTER_B); FieldReference fieldRef = new ImmutableFieldReference("Lsome/class;", "someMethod", "I"); when(((Instruction22c) instruction).getReference()).thenReturn(fieldRef); addressToLocation = new TIntObjectHashMap<MethodLocation>(); addressToLocation.put(ADDRESS, location); opFactory = new IGetOpFactory(); }
@Before public void setUp() { vm = mock(VirtualMachine.class); ectx = mock(ExecutionContext.class); mState = mock(MethodState.class); when(ectx.getMethodState()).thenReturn(mState); node = mock(ExecutionNode.class); itemA = mock(HeapItem.class); when(mState.readRegister(REGISTER_A)).thenReturn(itemA); itemB = mock(HeapItem.class); when(mState.readRegister(REGISTER_B)).thenReturn(itemB); setItem = ArgumentCaptor.forClass(HeapItem.class); location = mock(MethodLocation.class); when(location.getCodeAddress()).thenReturn(ADDRESS); instruction = mock(BuilderInstruction.class, withSettings().extraInterfaces(Instruction22c.class)); when(location.getInstruction()).thenReturn(instruction); when(instruction.getLocation()).thenReturn(location); when(instruction.getCodeUnits()).thenReturn(0); when(((Instruction22c) instruction).getRegisterA()).thenReturn(REGISTER_A); when(((Instruction22c) instruction).getRegisterB()).thenReturn(REGISTER_B); FieldReference fieldRef = new ImmutableFieldReference("Lsome/class;", "someMethod", "I"); when(((Instruction22c) instruction).getReference()).thenReturn(fieldRef); addressToLocation = new TIntObjectHashMap<MethodLocation>(); addressToLocation.put(ADDRESS, location); opFactory = new IPutOpFactory(); }
return new ImmutableEnumEncodedValue(new ImmutableFieldReference(classT, e.getConstantName(), fieldT)); return new ImmutableFieldEncodedValue(new ImmutableFieldReference(classString, fieldName, typeString));
type = (reference_type_descriptor89!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor89).type:null); retval.fieldReference = new ImmutableFieldReference(type, (SIMPLE_NAME90!=null?SIMPLE_NAME90.getText():null), (nonvoid_type_descriptor91!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor91).type:null));
ReferenceUtil.getShortFieldDescriptor(resolvedField)); resolvedField = new ImmutableFieldReference(fieldClass.getType(), newResolvedField.getName(), newResolvedField.getType());
@Override @Nullable public FieldReference getFieldByOffset(int fieldOffset) { if (fieldOffset==8) { return new ImmutableFieldReference(getType(), "length", "int"); } return null; }
@Override @Nullable public FieldReference getFieldByOffset(int fieldOffset) { if (fieldOffset==8) { return new ImmutableFieldReference(getType(), "length", "int"); } return null; }
@Nonnull BuilderFieldReference internField(@Nonnull String definingClass, String name, String type) { ImmutableFieldReference fieldReference = new ImmutableFieldReference(definingClass, name, type); return internField(fieldReference); }
@Override @Nullable public FieldReference getFieldByOffset(int fieldOffset) { if (fieldOffset==8) { return new ImmutableFieldReference(getType(), "length", "int"); } return null; }
@Nonnull BuilderFieldReference internField(@Nonnull String definingClass, String name, String type) { ImmutableFieldReference fieldReference = new ImmutableFieldReference(definingClass, name, type); return internField(fieldReference); }
@Nonnull BuilderFieldReference internField(@Nonnull String definingClass, String name, String type) { ImmutableFieldReference fieldReference = new ImmutableFieldReference(definingClass, name, type); return internField(fieldReference); }
@Nonnull public static ImmutableFieldReference of(@Nonnull FieldReference fieldReference) { if (fieldReference instanceof ImmutableFieldReference) { return (ImmutableFieldReference)fieldReference; } return new ImmutableFieldReference( fieldReference.getDefiningClass(), fieldReference.getName(), fieldReference.getType()); }
@Nonnull public static ImmutableFieldReference of(@Nonnull FieldReference fieldReference) { if (fieldReference instanceof ImmutableFieldReference) { return (ImmutableFieldReference)fieldReference; } return new ImmutableFieldReference( fieldReference.getDefiningClass(), fieldReference.getName(), fieldReference.getType()); }
@Nonnull public static ImmutableFieldReference of(@Nonnull FieldReference fieldReference) { if (fieldReference instanceof ImmutableFieldReference) { return (ImmutableFieldReference)fieldReference; } return new ImmutableFieldReference( fieldReference.getDefiningClass(), fieldReference.getName(), fieldReference.getType()); }
fieldReference = new ImmutableFieldReference((reference_type_descriptor80!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor80).type:null), (SIMPLE_NAME81!=null?SIMPLE_NAME81.getText():null), (nonvoid_type_descriptor82!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor82).type:null));
type = (reference_type_descriptor89!=null?((smaliTreeWalker.reference_type_descriptor_return)reference_type_descriptor89).type:null); retval.fieldReference = new ImmutableFieldReference(type, (SIMPLE_NAME90!=null?SIMPLE_NAME90.getText():null), (nonvoid_type_descriptor91!=null?((smaliTreeWalker.nonvoid_type_descriptor_return)nonvoid_type_descriptor91).type:null));
ReferenceUtil.getShortFieldDescriptor(resolvedField)); resolvedField = new ImmutableFieldReference(fieldClass.getType(), resolvedField.getName(), resolvedField.getType());
ReferenceUtil.getShortFieldDescriptor(resolvedField)); resolvedField = new ImmutableFieldReference(fieldClass.getType(), newResolvedField.getName(), newResolvedField.getType());