Example #1
0
        private object ImportType(IType type)
        {
            var tag = type.Data;

            if (tag == null)
            {
                return(null);
            }

            var instance = tag as AbcInstance;

            if (instance != null)
            {
                BuildBaseTypes(type);
                return(Abc.ImportInstance(instance));
            }

            var data = tag as ITypeData;

            if (data != null)
            {
                return(data.Import(Abc));
            }

            //TODO: avoid direct usage of AbcMultiname as tag for types, wrap to ITypeAgent impl always
            var name = tag as AbcMultiname;

            if (name != null)
            {
                return(Abc.ImportConst(name));
            }

            return(null);
        }