You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AnyAnnotationTypePattern.java 1.8KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /* *******************************************************************
  2. * Copyright (c) 2008 Contributors
  3. * All rights reserved.
  4. * This program and the accompanying materials are made available
  5. * under the terms of the Eclipse Public License v 2.0
  6. * which accompanies this distribution and is available at
  7. * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
  8. *
  9. * Contributors
  10. * Andy Clement - extracted from AnnotationTypePattern
  11. * ******************************************************************/
  12. package org.aspectj.weaver.patterns;
  13. import java.io.IOException;
  14. import java.util.Map;
  15. import org.aspectj.util.FuzzyBoolean;
  16. import org.aspectj.weaver.AnnotatedElement;
  17. import org.aspectj.weaver.CompressingDataOutputStream;
  18. import org.aspectj.weaver.ResolvedType;
  19. import org.aspectj.weaver.UnresolvedType;
  20. import org.aspectj.weaver.World;
  21. public class AnyAnnotationTypePattern extends AnnotationTypePattern {
  22. @Override
  23. public FuzzyBoolean fastMatches(AnnotatedElement annotated) {
  24. return FuzzyBoolean.YES;
  25. }
  26. @Override
  27. public FuzzyBoolean matches(AnnotatedElement annotated) {
  28. return FuzzyBoolean.YES;
  29. }
  30. @Override
  31. public FuzzyBoolean matches(AnnotatedElement annotated, ResolvedType[] parameterAnnotations) {
  32. return FuzzyBoolean.YES;
  33. }
  34. @Override
  35. public void write(CompressingDataOutputStream s) throws IOException {
  36. s.writeByte(AnnotationTypePattern.ANY_KEY);
  37. }
  38. @Override
  39. public void resolve(World world) {
  40. }
  41. @Override
  42. public String toString() {
  43. return "@ANY";
  44. }
  45. @Override
  46. public Object accept(PatternNodeVisitor visitor, Object data) {
  47. return visitor.visit(this, data);
  48. }
  49. @Override
  50. public boolean isAny() {
  51. return true;
  52. }
  53. @Override
  54. public AnnotationTypePattern parameterizeWith(Map<String,UnresolvedType> arg0, World w) {
  55. return this;
  56. }
  57. @Override
  58. public void setForParameterAnnotationMatch() {
  59. }
  60. }