Exemplo n.º 1
0
        /// <summary>
        /// Resolve the path into zero or more concrete object references.
        /// Never returns null. The returned list is sorted by ordinal.
        /// </summary>
        public List <Reference> Resolve(
            Reference context,
            DocumentStructure document,
            TracePathDelegate tracer)
        {
            tracer("Path={0} context={1} line {2}:{3}", 2, this, context, _lineNumber, _linePosition);
            if (this == Empty)
            {
                return(new List <Reference>());
            }

            Resolver         resolver = new Resolver(document, tracer);
            List <Reference> resolved = Resolve(context, resolver);

            tracer("Resolved {0} objects:", 1, resolved.Count);
            foreach (Reference reference in resolved)
            {
                tracer("{0}", 1, reference);
            }

            return(resolved);
        }
Exemplo n.º 2
0
 public Resolver(DocumentStructure document, DocTaggedObjects docTaggedObjects, TracePathDelegate tracer)
 {
     _document         = document;
     _docTaggedObjects = docTaggedObjects;
     _tracer           = tracer;
 }
Exemplo n.º 3
0
 public Resolver(DocumentStructure document, TracePathDelegate tracer)
 {
     _document = document;
     _tracer   = tracer;
 }