Beispiel #1
0
        private void ProvideTypeMembers(TypeNode /*!*/ typeNode, object /*!*/ handle)
        {
            SpecializerHandle sHandler         = (SpecializerHandle)handle;
            TypeNode          savedCurrentType = this.CurrentType;

            this.CurrentType = typeNode;
            sHandler.TypeMemberProvider(typeNode, sHandler.Handle);
            typeNode.Members = this.VisitMemberList(typeNode.Members);
            DelegateNode delegateNode = typeNode as DelegateNode;

            if (delegateNode != null && delegateNode.IsNormalized)
            {
                delegateNode.Parameters = this.VisitParameterList(delegateNode.Parameters);
                delegateNode.ReturnType = this.VisitTypeReference(delegateNode.ReturnType);
            }
            this.CurrentType = savedCurrentType;
        }
Beispiel #2
0
        private void ProvideNestedTypes(TypeNode /*!*/ typeNode, object /*!*/ handle)
        {
            SpecializerHandle sHandler         = (SpecializerHandle)handle;
            TypeNode          savedCurrentType = this.CurrentType;

            this.CurrentType = typeNode;
            sHandler.NestedTypeProvider(typeNode, sHandler.Handle);
            TypeNodeList nestedTypes = typeNode.nestedTypes;

            for (int i = 0, n = nestedTypes == null ? 0 : nestedTypes.Count; i < n; i++)
            {
                //^ assert nestedTypes != null;
                TypeNode nt = nestedTypes[i];
                if (nt == null)
                {
                    continue;
                }
                this.VisitTypeNode(nt);
            }
            this.CurrentType = savedCurrentType;
        }