private static IRType getTrueOwningType(IConstructorInfo mi) { if (mi instanceof IJavaConstructorInfo) { // We have to get the owner type from the method because it may be different from the owning // type e.g., entity aspects see ContactGosuAspect.AllAdresses IJavaClassConstructor m = ((IJavaConstructorInfo) mi).getJavaConstructor(); if (m != null) { return IRTypeResolver.getDescriptor(m.getEnclosingClass()); } } return IRTypeResolver.getDescriptor(mi.getOwnersType()); }
// TODO - AHK - Duplicate of method in AbstractElementTransformer @Override public IType getOwningIType() { IType owningType; if (_constructor instanceof IJavaConstructorInfo) { // We have to get the owner type from the method because it may be // different from the owning type e.g., entity aspects see ContactGosuAspect.AllAdresses IJavaClassConstructor m = ((IJavaConstructorInfo) _constructor).getJavaConstructor(); if (m != null) { owningType = TypeSystem.get(m.getEnclosingClass()); } else { owningType = _constructor.getOwnersType(); } } else { owningType = _constructor.getOwnersType(); } return owningType; }