コード例 #1
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 /// <param name="statementCallback">
 /// Callback executed when a statement is visited.
 /// </param>
 /// <param name="expressionCallback">
 /// Callback executed when an expression is visited.
 /// </param>
 /// <param name="queryClauseCallback">
 /// Callback executed when a query clause is visited.
 /// </param>
 public void WalkElement(
     CodeWalkerElementVisitor <object> elementCallback,
     CodeWalkerStatementVisitor <object> statementCallback,
     CodeWalkerExpressionVisitor <object> expressionCallback,
     CodeWalkerQueryClauseVisitor <object> queryClauseCallback)
 {
     Param.Ignore(elementCallback, statementCallback, expressionCallback, queryClauseCallback);
     CodeWalker <object> .Start(this, elementCallback, statementCallback, expressionCallback, queryClauseCallback, null);
 }
コード例 #2
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 /// <param name="statementCallback">
 /// Callback executed when a statement is visited.
 /// </param>
 /// <param name="expressionCallback">
 /// Callback executed when an expression is visited.
 /// </param>
 /// <param name="queryClauseCallback">
 /// Callback executed when a query clause is visited.
 /// </param>
 /// <param name="context">
 /// The optional visitor context data.
 /// </param>
 /// <typeparam name="T">
 /// The type of the context item.
 /// </typeparam>
 public void WalkElement <T>(
     CodeWalkerElementVisitor <T> elementCallback,
     CodeWalkerStatementVisitor <T> statementCallback,
     CodeWalkerExpressionVisitor <T> expressionCallback,
     CodeWalkerQueryClauseVisitor <T> queryClauseCallback,
     T context)
 {
     Param.Ignore(elementCallback, statementCallback, expressionCallback, queryClauseCallback, context);
     CodeWalker <T> .Start(this, elementCallback, statementCallback, expressionCallback, queryClauseCallback, context);
 }
コード例 #3
0
        public static void Start(
            CsElement element,
            CodeWalkerElementVisitor <T> elementCallback,
            CodeWalkerStatementVisitor <T> statementCallback,
            CodeWalkerExpressionVisitor <T> expressionCallback,
            CodeWalkerQueryClauseVisitor <T> queryClauseCallback,
            T context)
        {
            Param.AssertNotNull(element, "element");
            Param.Ignore(elementCallback);
            Param.Ignore(statementCallback);
            Param.Ignore(expressionCallback);
            Param.Ignore(queryClauseCallback);
            Param.Ignore(context);

            new CodeWalker <T>(element, elementCallback, statementCallback, expressionCallback, queryClauseCallback, context);
        }
コード例 #4
0
        /// <summary>
        /// Initializes a new instance of the CodeWalker class.
        /// </summary>
        /// <param name="element">The element to walk through.</param>
        /// <param name="elementCallback">Callback executed when an element is visited.</param>
        /// <param name="statementCallback">Callback executed when a statement is visited.</param>
        /// <param name="expressionCallback">Callback executed when an expression is visited.</param>
        /// <param name="queryClauseCallback">Callback executed when a query clause is visited.</param>
        /// <param name="context">The optional visitor context data.</param>
        private CodeWalker(
            CsElement element,
            CodeWalkerElementVisitor <T> elementCallback,
            CodeWalkerStatementVisitor <T> statementCallback,
            CodeWalkerExpressionVisitor <T> expressionCallback,
            CodeWalkerQueryClauseVisitor <T> queryClauseCallback,
            T context)
        {
            Param.AssertNotNull(element, "element");
            Param.Ignore(elementCallback);
            Param.Ignore(statementCallback);
            Param.Ignore(expressionCallback);
            Param.Ignore(queryClauseCallback);
            Param.Ignore(context);

            this.elementCallback     = elementCallback;
            this.statementCallback   = statementCallback;
            this.expressionCallback  = expressionCallback;
            this.queryClauseCallback = queryClauseCallback;

            this.WalkElement(element, element.FindParentElement(), context);
        }
コード例 #5
0
        /// <summary>
        /// Initializes a new instance of the CodeWalker class.
        /// </summary>
        /// <param name="document">The document to walk through.</param>
        /// <param name="elementCallback">Callback executed when an element is visited.</param>
        /// <param name="statementCallback">Callback executed when a statement is visited.</param>
        /// <param name="expressionCallback">Callback executed when an expression is visited.</param>
        /// <param name="queryClauseCallback">Callback executed when a query clause is visited.</param>
        /// <param name="context">The optional visitor context data.</param>
        private CodeWalker(
            CsDocument document,
            CodeWalkerElementVisitor <T> elementCallback,
            CodeWalkerStatementVisitor <T> statementCallback,
            CodeWalkerExpressionVisitor <T> expressionCallback,
            CodeWalkerQueryClauseVisitor <T> queryClauseCallback,
            T context)
        {
            Param.AssertNotNull(document, "document");
            Param.Ignore(elementCallback);
            Param.Ignore(statementCallback);
            Param.Ignore(expressionCallback);
            Param.Ignore(queryClauseCallback);
            Param.Ignore(context);

            this.elementCallback     = elementCallback;
            this.statementCallback   = statementCallback;
            this.expressionCallback  = expressionCallback;
            this.queryClauseCallback = queryClauseCallback;

            this.WalkElement(document.RootElement, null, context);
        }
コード例 #6
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 public void WalkElement(CodeWalkerElementVisitor <object> elementCallback)
 {
     Param.Ignore(elementCallback);
     this.WalkElement(elementCallback, null, null, null, null);
 }
コード例 #7
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 /// <param name="statementCallback">
 /// Callback executed when a statement is visited.
 /// </param>
 /// <param name="expressionCallback">
 /// Callback executed when an expression is visited.
 /// </param>
 public void WalkElement(
     CodeWalkerElementVisitor <object> elementCallback, CodeWalkerStatementVisitor <object> statementCallback, CodeWalkerExpressionVisitor <object> expressionCallback)
 {
     Param.Ignore(elementCallback, statementCallback, expressionCallback);
     this.WalkElement(elementCallback, statementCallback, expressionCallback, null, null);
 }
コード例 #8
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 /// <param name="context">
 /// The optional visitor context data.
 /// </param>
 /// <typeparam name="T">
 /// The type of the context item.
 /// </typeparam>
 public void WalkElement <T>(CodeWalkerElementVisitor <T> elementCallback, T context)
 {
     Param.Ignore(elementCallback, context);
     this.WalkElement(elementCallback, null, null, null, context);
 }
コード例 #9
0
 /// <summary>
 /// Walks through the code units in the element.
 /// </summary>
 /// <param name="elementCallback">
 /// Callback executed when an element is visited.
 /// </param>
 /// <param name="statementCallback">
 /// Callback executed when a statement is visited.
 /// </param>
 /// <param name="expressionCallback">
 /// Callback executed when an expression is visited.
 /// </param>
 /// <param name="context">
 /// The optional visitor context data.
 /// </param>
 /// <typeparam name="T">
 /// The type of the context item.
 /// </typeparam>
 public void WalkElement <T>(
     CodeWalkerElementVisitor <T> elementCallback, CodeWalkerStatementVisitor <T> statementCallback, CodeWalkerExpressionVisitor <T> expressionCallback, T context)
 {
     Param.Ignore(elementCallback, statementCallback, expressionCallback, context);
     this.WalkElement(elementCallback, statementCallback, expressionCallback, null, context);
 }