/* 151 */ if ((this.interfaces == null) && (this.mixins == null)) {
/* 152 */ throw new IllegalArgumentException("Neither interfaces nor mixins set");
/* */ }
/* 154 */ String[] intfs = this.interfaces != null ? (String[])this.interfaces.toArray(new String[this.interfaces.size()]) : null;
/* */
/* 156 */ InterfaceIntroduction introduction = null;
/* 157 */ if (this.classes != null)
/* */ {
/* 159 */ introduction = new InterfaceIntroduction(this.name, this.classes, intfs);
/* */ }
/* */ else
/* */ {
/* 163 */ ASTStart start = new TypeExpressionParser(new StringReader(this.expr)).Start();
/* 164 */ introduction = new InterfaceIntroduction(this.name, start, intfs);
/* */ }
/* */
/* 167 */ if (this.mixins != null)
/* */ {
/* 169 */ for (MixinEntry entry : this.mixins)
/* */ {
/* 171 */ if (entry.getInterfaces() == null)
/* 172 */ throw new IllegalArgumentException("MixinEntry with null interfaces");
/* 173 */ if (entry.getMixin() == null)
/* 174 */ throw new IllegalArgumentException("MixinEntry with null mixin");
/* 175 */ String[] intfaces = (String[])entry.getInterfaces().toArray(new String[entry.getInterfaces().size()]);
/* */
/* 177 */ introduction.addMixin(new InterfaceIntroduction.Mixin(entry.getMixin(), intfaces, entry.getConstruction(), entry.isTransient()));
/* */ }
/* */ }
/* 180 */ this.manager.addInterfaceIntroduction(introduction);
/* */ }