public override List <ITlibNode> GenChildren() { var ti = _ti; var ta = _ta; ITypeInfoXtra.SwapForInterface(ref ti, ref ta); var res = new List <ITlibNode> { new OWInterface(this, ti, ta, false) }; return(res); }
public void CommonBuildTlibNode(ITlibNode parent, ITypeInfo ti, bool topLevel, bool swapfordispatch, List <ITlibNode> res) { var ta = ti.GetTypeAttr(); switch (ta.typekind) { case TypeAttr.TypeKind.TKIND_DISPATCH: res.Add(new OWDispInterface(this, ti, ta, topLevel)); if (swapfordispatch && ITypeInfoXtra.SwapForInterface(ref ti, ref ta)) { res.Add(new OWInterface(this, ti, ta, topLevel)); } break; case TypeAttr.TypeKind.TKIND_INTERFACE: res.Add(new OWInterface(this, ti, ta, topLevel)); break; case TypeAttr.TypeKind.TKIND_ALIAS: res.Add(new OWTypeDef(this, ti, ta)); break; case TypeAttr.TypeKind.TKIND_ENUM: res.Add(new OWEnum(this, ti, ta)); break; case TypeAttr.TypeKind.TKIND_COCLASS: res.Add(new OWCoClass(this, ti, ta)); break; case TypeAttr.TypeKind.TKIND_RECORD: res.Add(new OWRecord(this, ti, ta)); break; case TypeAttr.TypeKind.TKIND_MODULE: res.Add(new OWModule(this, ti, ta)); break; } }