List of usage examples for org.aspectj.weaver ConcreteTypeMunger getSignature
public ResolvedMember getSignature()
From source file:org.eclipse.ajdt.core.model.AJWorldFacade.java
License:Open Source License
public ErasedTypeSignature getMethodTypeSignatures(String typeSignature, IProgramElement elt) { if (world == null) { return null; }/* w w w .j a va2 s.com*/ // ensure '/' instead of '.' typeSignature = createAJSignature(typeSignature.toCharArray()); ResolvedType type = world.resolve(UnresolvedType.forSignature(typeSignature)); if (type == null || type.isMissing()) { return null; } List itds = type.getInterTypeMungersIncludingSupers(); ConcreteTypeMunger myMunger = null; for (Iterator iterator = itds.iterator(); iterator.hasNext();) { ConcreteTypeMunger munger = (ConcreteTypeMunger) iterator.next(); if (equalSignatures(elt, munger)) { myMunger = munger; break; } } if (myMunger == null) { return null; } String returnTypeSig = myMunger.getSignature().getReturnType().getSignature(); returnTypeSig = createJDTSignature(returnTypeSig); // returnTypeSig = Signature.toString(returnType); UnresolvedType[] parameterTypes = myMunger.getSignature().getParameterTypes(); String[] parameterTypesStr = new String[parameterTypes.length]; for (int i = 0; i < parameterTypes.length; i++) { parameterTypesStr[i] = parameterTypes[i].getErasureSignature(); parameterTypesStr[i] = createJDTSignature(parameterTypesStr[i]); parameterTypesStr[i] = Signature.toString(parameterTypesStr[i]); } return new ErasedTypeSignature(returnTypeSig, parameterTypesStr, convertTypeParameters(myMunger.getSignature().getTypeVariables())); }
From source file:org.eclipse.ajdt.core.model.AJWorldFacade.java
License:Open Source License
private boolean equalNames(IProgramElement elt, ConcreteTypeMunger munger) { ResolvedMember signature = munger.getSignature(); return signature != null && (qualifiedElementName(signature)).equals(qualifiedElementName(elt)); }
From source file:org.eclipse.ajdt.core.model.AJWorldFacade.java
License:Open Source License
private boolean equalParams(IProgramElement elt, ConcreteTypeMunger munger) { UnresolvedType[] unresolvedTypes = munger.getSignature().getParameterTypes(); List eltTypes = elt.getParameterTypes(); int unresolvedTypesLength = unresolvedTypes == null ? 0 : unresolvedTypes.length; int eltTypesLength = eltTypes == null ? 0 : eltTypes.size(); if (unresolvedTypesLength != eltTypesLength) { return false; }//from www . ja v a2 s .c om for (int i = 0; i < unresolvedTypesLength; i++) { String eltParamType = new String((char[]) eltTypes.get(i)); int genericStart = eltParamType.indexOf('<'); if (genericStart > -1) { eltParamType = eltParamType.substring(0, genericStart); } String unresolvedTypeName = unresolvedTypes[i].getName(); genericStart = unresolvedTypeName.indexOf('<'); if (genericStart > -1) { unresolvedTypeName = unresolvedTypeName.substring(0, genericStart); } if (!unresolvedTypeName.equals(eltParamType)) { return false; } } return true; }