GetResolverStateBefore() public method

public GetResolverStateBefore ( AstNode node ) : CSharpResolver
node AstNode
return ICSharpCode.NRefactory.CSharp.Resolver.CSharpResolver
            void FindIssuesInNode(AstNode anchor, AstNode node, string accessorName = "setter")
            {
                if (node == null || node.IsNull)
                {
                    return;
                }
                var localResolveResult = context.GetResolverStateBefore(node)
                                         .LookupSimpleNameOrTypeName("value", new List <IType>(), NameLookupMode.Expression) as LocalResolveResult;

                if (localResolveResult == null)
                {
                    return;
                }

                var  variable       = localResolveResult.Variable;
                bool referenceFound = false;
                var  findRef        = new FindReferences();
                var  syntaxTree     = (SyntaxTree)context.RootNode;

                findRef.FindLocalReferences(variable, context.UnresolvedFile, syntaxTree, context.Compilation, (n, entity) => {
                    if (n.StartLocation >= node.StartLocation && n.EndLocation <= node.EndLocation)
                    {
                        referenceFound = true;
                    }
                }, CancellationToken.None);

                if (!referenceFound)
                {
                    AddIssue(anchor, context.TranslateString("The " + accessorName + " does not use the 'value' parameter"));
                }
            }
        public static bool TypeChangeResolvesCorrectly(BaseRefactoringContext ctx, ParameterDeclaration parameter, AstNode rootNode, IType type)
        {
            var resolver = ctx.GetResolverStateBefore(rootNode);

            resolver = resolver.AddVariable(new DefaultParameter(type, parameter.Name));
            var astResolver = new CSharpAstResolver(resolver, rootNode, ctx.UnresolvedFile);
            var validator   = new TypeChangeValidationNavigator();

            astResolver.ApplyNavigator(validator, ctx.CancellationToken);
            return(!validator.FoundErrors);
        }