123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- /* *******************************************************************
- * Copyright (c) 2002 Palo Alto Research Center, Incorporated (PARC).
- * 2005 Contributors
- * All rights reserved.
- * This program and the accompanying materials are made available
- * under the terms of the Eclipse Public License v 2.0
- * which accompanies this distribution and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
- *
- * Contributors:
- * PARC initial implementation
- * AMC extracted as interface
- * ******************************************************************/
- package org.aspectj.weaver;
-
- import java.io.IOException;
- import java.util.List;
- import java.util.Map;
-
- import org.aspectj.bridge.ISourceLocation;
-
- public interface ResolvedMember extends Member, AnnotatedElement, TypeVariableDeclaringElement {
-
- ResolvedMember[] NONE = new ResolvedMember[0];
-
- int getModifiers(World world);
-
- int getModifiers();
-
- UnresolvedType[] getExceptions(World world);
-
- UnresolvedType[] getExceptions();
-
- ShadowMunger getAssociatedShadowMunger();
-
- boolean isAjSynthetic();
-
- boolean isCompatibleWith(Member am);
-
- boolean hasAnnotation(UnresolvedType ofType);
-
- AnnotationAJ[] getAnnotations();
-
- ResolvedType[] getAnnotationTypes();
-
- void setAnnotationTypes(ResolvedType[] annotationtypes);
-
- void addAnnotation(AnnotationAJ annotation);
-
- boolean isBridgeMethod();
-
- boolean isVarargsMethod();
-
- boolean isSynthetic();
-
- void write(CompressingDataOutputStream s) throws IOException;
-
- ISourceContext getSourceContext(World world);
-
- String[] getParameterNames();
-
- void setParameterNames(String[] names);
-
- AnnotationAJ[][] getParameterAnnotations();
-
- ResolvedType[][] getParameterAnnotationTypes();
-
- String getAnnotationDefaultValue();
-
- String getParameterSignatureErased();
-
- String getSignatureErased();
-
- String[] getParameterNames(World world);
-
- AjAttribute.EffectiveSignatureAttribute getEffectiveSignature();
-
- ISourceLocation getSourceLocation();
-
- int getStart();
-
- int getEnd();
-
- ISourceContext getSourceContext();
-
- void setPosition(int sourceStart, int sourceEnd);
-
- void setSourceContext(ISourceContext sourceContext);
-
- boolean isAbstract();
-
- boolean isPublic();
-
- boolean isDefault();
-
- boolean isVisible(ResolvedType fromType);
-
- void setCheckedExceptions(UnresolvedType[] checkedExceptions);
-
- void setAnnotatedElsewhere(boolean b);
-
- boolean isAnnotatedElsewhere();
-
- // like toString but include generic signature info
- String toGenericString();
-
- String toDebugString();
-
- boolean hasBackingGenericMember();
-
- ResolvedMember getBackingGenericMember();
-
- /**
- * Get the UnresolvedType for the return type, taking generic signature into account
- */
- UnresolvedType getGenericReturnType();
-
- /**
- * Get the TypeXs of the parameter types, taking generic signature into account
- */
- UnresolvedType[] getGenericParameterTypes();
-
- boolean equalsApartFromDeclaringType(Object other);
-
- // return a resolved member in which all type variables in the signature of
- // this member have been replaced with the given bindings. the isParameterized flag tells us whether we are creating a raw type
- // version or not
- // if isParameterized List<T> will turn into List<String> (for example),
- // but if !isParameterized List<T> will turn into List.
- ResolvedMemberImpl parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType,
- boolean isParameterized);
-
- // this variant allows for aliases for type variables (i.e. allowing them to
- // have another name)
- // this is used for processing ITDs that share type variables with their
- // target generic type
- ResolvedMemberImpl parameterizedWith(UnresolvedType[] typeParameters, ResolvedType newDeclaringType,
- boolean isParameterized, List<String> aliases);
-
- void setTypeVariables(TypeVariable[] types);
-
- TypeVariable[] getTypeVariables();
-
- /**
- * Returns true if this member matches the other. The matching takes into account name and parameter types only. When comparing
- * parameter types, we allow any type variable to match any other type variable regardless of bounds.
- */
- boolean matches(ResolvedMember aCandidateMatch, boolean ignoreGenerics);
-
- void evictWeavingState();
-
- ResolvedMember parameterizedWith(Map<String, UnresolvedType> m, World w);
-
- boolean isDefaultConstructor();
-
- void setAnnotations(AnnotationAJ[] annotations);
-
- }
|