Example #1
0
        /// <summary>
        /// Lookup namespace resolution map to substitute
        /// partial classnames with their fully qualified names in ASTs.
        /// If partial class is not found in map,
        /// update ResolutionMap with fully resolved name from compiler.
        /// </summary>
        /// <param name="classTable"></param>
        /// <param name="elementResolver"></param>
        /// <param name="astNodes"> parent AST node </param>
        /// <param name="handler"></param>
        public static IEnumerable <Node> RewriteElementNames(ClassTable classTable,
                                                             ElementResolver elementResolver, IEnumerable <Node> astNodes, SymbolConflictWarningHandler handler = null)
        {
            var elementRewriter = new ElementRewriter(classTable, handler, elementResolver);

            return(astNodes.OfType <AssociativeNode>().Select(astNode => astNode.Accept(elementRewriter)).Cast <Node>().ToList());
        }
Example #2
0
 /// <summary>
 /// Lookup namespace resolution map to substitute 
 /// partial classnames with their fully qualified names in ASTs.
 /// If partial class is not found in map, 
 /// update ResolutionMap with fully resolved name from compiler.
 /// </summary>
 /// <param name="classTable"></param>
 /// <param name="handler"></param>
 /// <param name="elementResolver"></param>
 /// <param name="astNodes"> parent AST node </param>
 public static IEnumerable<Node> RewriteElementNames(ClassTable classTable, 
     ElementResolver elementResolver, IEnumerable<Node> astNodes, SymbolConflictWarningHandler handler = null)
 {
     var elementRewriter = new ElementRewriter(classTable, handler, elementResolver);
     return astNodes.OfType<AssociativeNode>().Select(astNode => astNode.Accept(elementRewriter)).Cast<Node>().ToList();
 }
Example #3
0
 public ElementRewriter(ClassTable classTable, SymbolConflictWarningHandler warningHandler, ElementResolver resolver = null)
 {
     this.classTable            = classTable;
     this.symbolConflictHandler = warningHandler;
     this.elementResolver       = resolver ?? new ElementResolver();
 }
Example #4
0
 public ElementRewriter(ClassTable classTable, SymbolConflictWarningHandler warningHandler, ElementResolver resolver = null)
 {
     this.classTable = classTable;
     this.symbolConflictHandler = warningHandler;
     this.elementResolver = resolver ?? new ElementResolver();
 }