Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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;
            }
        }