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; }
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; }