Example #1
0
        private void LinkNativeType(IType type)
        {
            if (!Assembly.IsCorlib())
            {
                return;
            }

            if (type.HasAttribute(Attrs.Native))
            {
                var qnameAttr = type.FindAttribute(Attrs.QName);
                if (qnameAttr == null)
                {
                    throw new InvalidOperationException();
                }

                var qname = QName.FromAttribute(qnameAttr);
                type.Data = new NativeType(type, qname);
                return;
            }

            if (type.HasAttribute(Attrs.GlobalFunctions))
            {
                type.Data = new GlobalFunctionsContainer(type);
            }
        }