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.

ReferenceTypeDelegate.java 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /* *******************************************************************
  2. * Copyright (c) 2002 Contributors
  3. * All rights reserved.
  4. * This program and the accompanying materials are made available
  5. * under the terms of the Eclipse Public License v1.0
  6. * which accompanies this distribution and is available at
  7. * http://www.eclipse.org/legal/epl-v10.html
  8. *
  9. * Contributors:
  10. * PARC initial implementation
  11. * Andy Clement - June 2005 - separated out from ResolvedType
  12. * ******************************************************************/
  13. package org.aspectj.weaver;
  14. import java.util.Collection;
  15. import org.aspectj.weaver.patterns.PerClause;
  16. /**
  17. * Abstraction over a type - a reference type is Object and a descendant of Object, other types (int/etc) are
  18. * considered primitive types. Abstract implementation provided by AbstractReferenceTypeDelegate.
  19. */
  20. public interface ReferenceTypeDelegate {
  21. // TODO asc move to proxy
  22. public void addAnnotation(AnnotationX annotationX);
  23. public void ensureDelegateConsistent(); // Required evil because of mutator methods in delegates :( (see pr85132)
  24. public boolean isAspect();
  25. public boolean isAnnotationStyleAspect();
  26. public boolean isInterface();
  27. public boolean isEnum();
  28. public boolean isAnnotation();
  29. public String getRetentionPolicy();
  30. public boolean canAnnotationTargetType();
  31. public AnnotationTargetKind[] getAnnotationTargetKinds();
  32. public boolean isAnnotationWithRuntimeRetention();
  33. public boolean isClass();
  34. public boolean isGeneric();
  35. public boolean isAnonymous();
  36. public boolean isNested();
  37. public boolean isExposedToWeaver();
  38. public boolean hasAnnotation(UnresolvedType ofType);
  39. public AnnotationX[] getAnnotations();
  40. public ResolvedType[] getAnnotationTypes();
  41. public ResolvedMember[] getDeclaredFields();
  42. public ResolvedType[] getDeclaredInterfaces();
  43. public ResolvedMember[] getDeclaredMethods();
  44. public ResolvedMember[] getDeclaredPointcuts();
  45. public TypeVariable[] getTypeVariables();
  46. public PerClause getPerClause();
  47. public Collection getDeclares() ;
  48. public Collection getTypeMungers();
  49. public Collection getPrivilegedAccesses();
  50. public int getModifiers();
  51. public ResolvedType getSuperclass();
  52. public WeaverStateInfo getWeaverState();
  53. public ReferenceType getResolvedTypeX();
  54. public boolean doesNotExposeShadowMungers();
  55. public ISourceContext getSourceContext();
  56. public String getSourcefilename();
  57. public String getDeclaredGenericSignature();
  58. public ResolvedType getOuterClass();
  59. }