@Nonnull @Override public Set<? extends AnnotationElement> getElements() { return RewriterUtils.rewriteSet(rewriters.getAnnotationElementRewriter(), annotationEncodedValue.getElements()); } }
@Nonnull public Set<? extends Annotation> getAnnotations() { return RewriterUtils.rewriteSet(rewriters.getAnnotationRewriter(), field.getAnnotations()); } }
@Override @Nonnull public Iterable<? extends DebugItem> getDebugItems() { return RewriterUtils.rewriteIterable(rewriters.getDebugItemRewriter(), methodImplementation.getDebugItems()); } }
@Override @Nonnull public Reference getReference() { switch (getReferenceType()) { case ReferenceType.TYPE: return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(), (TypeReference)instruction.getReference()); case ReferenceType.FIELD: return rewriters.getFieldReferenceRewriter().rewrite((FieldReference)instruction.getReference()); case ReferenceType.METHOD: return rewriters.getMethodReferenceRewriter().rewrite((MethodReference)instruction.getReference()); case ReferenceType.STRING: return instruction.getReference(); default: throw new IllegalArgumentException(); } }
@Override @Nonnull public FieldReference getValue() { return rewriters.getFieldReferenceRewriter().rewrite(fieldEncodedValue.getValue()); } }
@Nonnull @Override public EncodedValue getValue() { return rewriters.getEncodedValueRewriter().rewrite(annotationElement.getValue()); } }
@Override @Nonnull public Iterable<? extends Field> getInstanceFields() { return RewriterUtils.rewriteIterable(rewriters.getFieldRewriter(), classDef.getInstanceFields()); }
@Override @Nullable public MethodImplementation getImplementation() { return RewriterUtils.rewriteNullable(rewriters.getMethodImplementationRewriter(), method.getImplementation()); } }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose // parameter names and annotations. If a method rewrite involves changing parameters, it needs // to be handled here as well as in the MethodReferenceRewriter return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters()); }
@Override @Nonnull public Iterable<? extends Instruction> getInstructions() { return RewriterUtils.rewriteIterable(rewriters.getInstructionRewriter(), methodImplementation.getInstructions()); }
@Override @Nonnull public List<? extends ExceptionHandler> getExceptionHandlers() { return RewriterUtils.rewriteList(rewriters.getExceptionHandlerRewriter(), tryBlock.getExceptionHandlers()); } }
@Override @Nonnull public Reference getReference() { switch (getReferenceType()) { case ReferenceType.TYPE: return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(), (TypeReference)instruction.getReference()); case ReferenceType.FIELD: return rewriters.getFieldReferenceRewriter().rewrite((FieldReference)instruction.getReference()); case ReferenceType.METHOD: return rewriters.getMethodReferenceRewriter().rewrite((MethodReference)instruction.getReference()); case ReferenceType.STRING: return instruction.getReference(); default: throw new IllegalArgumentException(); } }
@Override @Nonnull public String getType() { return rewriters.getFieldReferenceRewriter().rewrite(field).getType(); }
@Nonnull @Override public EncodedValue getValue() { return rewriters.getEncodedValueRewriter().rewrite(annotationElement.getValue()); } }
@Override @Nonnull public Iterable<? extends Field> getInstanceFields() { return RewriterUtils.rewriteIterable(rewriters.getFieldRewriter(), classDef.getInstanceFields()); }
@Override @Nullable public MethodImplementation getImplementation() { return RewriterUtils.rewriteNullable(rewriters.getMethodImplementationRewriter(), method.getImplementation()); } }
@Override @Nonnull public List<? extends MethodParameter> getParameters() { // We can't use the MethodReferenceRewriter to rewrite the parameters, because we would lose // parameter names and annotations. If a method rewrite involves changing parameters, it needs // to be handled here as well as in the MethodReferenceRewriter return RewriterUtils.rewriteList(rewriters.getMethodParameterRewriter(), method.getParameters()); }
@Override @Nonnull public Iterable<? extends Instruction> getInstructions() { return RewriterUtils.rewriteIterable(rewriters.getInstructionRewriter(), methodImplementation.getInstructions()); }
@Override @Nonnull public List<? extends ExceptionHandler> getExceptionHandlers() { return RewriterUtils.rewriteList(rewriters.getExceptionHandlerRewriter(), tryBlock.getExceptionHandlers()); } }
@Override @Nonnull public Reference getReference() { switch (getReferenceType()) { case ReferenceType.TYPE: return RewriterUtils.rewriteTypeReference(rewriters.getTypeRewriter(), (TypeReference)instruction.getReference()); case ReferenceType.FIELD: return rewriters.getFieldReferenceRewriter().rewrite((FieldReference)instruction.getReference()); case ReferenceType.METHOD: return rewriters.getMethodReferenceRewriter().rewrite((MethodReference)instruction.getReference()); case ReferenceType.STRING: return instruction.getReference(); default: throw new IllegalArgumentException(); } }