@Override public void inject(FieldDescriptor testFieldDescriptor) { CutDescriptor cutDescriptor = context.getCutDescriptor(); Map<DescriptorKey, FieldDescriptor> cutFieldDescriptors = cutDescriptor.getFieldDescriptors(); Type testFieldType = testFieldDescriptor.getGenericType(); String fieldName = testFieldDescriptor.getName(); DescriptorKey descriptorKey = new DescriptorKey(testFieldType, fieldName); //if there is a cut field descriptor that matches the field then lets use that if (cutFieldDescriptors.containsKey(descriptorKey)) { FieldDescriptor cutFieldDescriptor = cutFieldDescriptors.get(descriptorKey); testReifier.reifyField(cutDescriptor, cutFieldDescriptor, testFieldDescriptor); } else { //otherwise find the right field based on the type of the field Collection<FieldDescriptor> descriptors = cutFieldDescriptors.values(); for (FieldDescriptor cutFieldDEscriptor : descriptors) { Type cutFieldType = cutFieldDEscriptor.getGenericType(); TypeToken token = TypeToken.of(testFieldType); if (token.isSubtypeOf(cutFieldType)) { testReifier.reifyField(cutDescriptor, cutFieldDEscriptor, testFieldDescriptor); break; } } } }
ParameterDescriptor paramDescriptor = parameterDescriptors.get(descriptorKey); Integer paramIndex = paramDescriptor.getIndex(); arguments[paramIndex] = testReifier.reifyField(fieldDescriptor, paramDescriptor); } else { arguments[paramIndex] = testReifier.reifyField(fieldDescriptor, paramDescriptor); break;
Integer index = parameterDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, parameterDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
Integer index = parameterDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, parameterDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
Integer index = parameterDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, parameterDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
ParameterDescriptor paramDescriptor = parameterDescriptors.get(descriptorKey); Integer paramIndex = paramDescriptor.getIndex(); arguments[paramIndex] = testReifier.reifyField(fieldDescriptor, paramDescriptor); } else { arguments[paramIndex] = testReifier.reifyField(fieldDescriptor, paramDescriptor); break;
); arguments[fakeIndex] = testReifier.reifyField(descriptor, paramDescriptor);
); arguments[index] = testReifier.reifyField(descriptor, paramDescriptor);
); arguments[index] = testReifier.reifyField(descriptor, paramDescriptor);
); arguments[index] = testReifier.reifyField(descriptor, paramDescriptor);
); arguments[index] = testReifier.reifyField(descriptor, paramDescriptor);
Integer index = paramDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
Integer index = paramDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
); arguments[fakeIndex] = testReifier.reifyField(descriptor, paramDescriptor);
Integer index = paramDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
Integer index = paramDescriptor.getIndex(); Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; } else { Object instance = testReifier.reifyField(descriptor, paramDescriptor); arguments[index] = instance; break;
testClassName, fieldName, fakeName); arguments[paramIndex] = testReifier.reifyField(descriptor, paramDescriptor);
testClassName, fieldName, fakeName); arguments[paramIndex] = testReifier.reifyField(descriptor, paramDescriptor);
testClassName, fieldName, fakeName); arguments[paramIndex] = testReifier.reifyField(descriptor, paramDescriptor);
testClassName, fieldName, fakeName); arguments[paramIndex] = testReifier.reifyField(descriptor, paramDescriptor);