/** create a constructor that can be traced back to the aspect that introduced it. */ public InterTypeConstructorInstance_c( TypeSystem ts, Position pos, String identifier, ClassType origin, ClassType container, Flags flags, List formalTypes, List excTypes) { super(ts, pos, container, flags, formalTypes, excTypes); this.origin = origin; this.identifier = identifier; if (container.toClass().flags().isInterface()) interfaceTarget = container.toClass(); else interfaceTarget = null; if (flags().isPrivate() || flags().isPackage()) { mangleType = origin; // not quite right, same as ajc. // ought to generate a fresh type for each aspect List fts = new LinkedList(formalTypes); fts.add(mangleType); mangled = new ConstructorInstance_c(ts, pos, container, flags, fts, excTypes); } }