Interface CodeInjector

All Known Implementing Classes:
TimingCodeInjector, TraceCodeInjector, XSLTTraceCodeInjector

public interface CodeInjector
A code injector can be used to add code to the expression tree (for example, diagnostic tracing code) during the process of parsing and tree construction
  • Method Details

    • inject

      Expression inject(Expression exp, StaticContext env, int construct, StructuredQName qName)
      If tracing, wrap an expression in a trace instruction
      Parameters:
      exp - the expression to be wrapped
      env - the static context
      construct - integer constant identifying the kind of construct
      qName - the name of the construct (if applicable)
      Returns:
      a replacement for the original expression (or the original expression unchanged)
    • injectClause

      Clause injectClause(Clause target, StaticContext env, Container container)
      Insert a tracing clause into a FLWOR expression