public override TResult VisitMethodDeclaration(MethodDeclaration methodDeclaration) { Debug.Assert(currentMethod == null); try { currentMethod = methodDeclaration.GetSymbol() as IMethod; return(base.VisitMethodDeclaration(methodDeclaration)); } finally { currentMethod = null; } }
public override void VisitMethodDeclaration(MethodDeclaration methodDeclaration) { currentMember = methodDeclaration.GetSymbol() as IMember; if (currentMember == null) { return; } SetContext(); base.VisitMethodDeclaration(methodDeclaration); currentMember = null; }
public override TResult VisitMethodDeclaration(MethodDeclaration methodDeclaration) { var oldMethod = currentMethod; try { currentMethod = methodDeclaration.GetSymbol() as IMethod; return(base.VisitMethodDeclaration(methodDeclaration)); } finally { currentMethod = oldMethod; } }
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(); } }