コード例 #1
0
 public override TResult VisitMethodDeclaration(MethodDeclaration methodDeclaration)
 {
     Debug.Assert(currentMethod == null);
     try {
         currentMethod = methodDeclaration.GetSymbol() as IMethod;
         return(base.VisitMethodDeclaration(methodDeclaration));
     } finally {
         currentMethod = null;
     }
 }
コード例 #2
0
 public override void VisitMethodDeclaration(MethodDeclaration methodDeclaration)
 {
     currentMember = methodDeclaration.GetSymbol() as IMember;
     if (currentMember == null)
     {
         return;
     }
     SetContext();
     base.VisitMethodDeclaration(methodDeclaration);
     currentMember = null;
 }
コード例 #3
0
ファイル: ContextTrackingVisitor.cs プロジェクト: zz110/ILSpy
        public override TResult VisitMethodDeclaration(MethodDeclaration methodDeclaration)
        {
            var oldMethod = currentMethod;

            try {
                currentMethod = methodDeclaration.GetSymbol() as IMethod;
                return(base.VisitMethodDeclaration(methodDeclaration));
            } finally {
                currentMethod = oldMethod;
            }
        }
コード例 #4
0
 public override void VisitMethodDeclaration(MethodDeclaration methodDeclaration)
 {
     if (methodDeclaration.GetSymbol() is IMethod method && CSharpDecompiler.IsWindowsFormsInitializeComponentMethod(method))
     {
         var previousContext = context.Peek();
         var currentContext  = new CSharpTypeResolveContext(previousContext.CurrentModule);
         context.Push(currentContext);
         try {
             astBuilder = CreateAstBuilder(currentContext);
             base.VisitMethodDeclaration(methodDeclaration);
         } finally {
             astBuilder = CreateAstBuilder(previousContext);
             context.Pop();
         }
     }