public virtual Expression VisitExpressionSnippet(ExpressionSnippet snippet, ExpressionSnippet changes, ExpressionSnippet deletions, ExpressionSnippet insertions){ this.UpdateSourceContext(snippet, changes); if (snippet == null) return changes; if (changes != null){ if (deletions == null || insertions == null) Debug.Assert(false); else{ } }else if (deletions != null) return null; return snippet; }
public override Expression VisitExpressionSnippet(ExpressionSnippet snippet){ if (snippet == null) return null; Document doc = snippet.SourceContext.Document; if (doc == null) return null; string fileName = doc.Name; int lineNumber = doc.LineNumber; DocumentText sourceText = doc.Text; IParserFactory pf = snippet.ParserFactory; IParser p; if (pf == null) p = this.DefaultParserFactory.CreateParser(fileName, lineNumber, sourceText, this.SymbolTable, this.ErrorNodes, this.Options); else p = pf.CreateParser(fileName, lineNumber, sourceText, this.SymbolTable, this.ErrorNodes, this.Options); if (p == null) return null; return p.ParseExpression(); }
public virtual Differences VisitExpressionSnippet(ExpressionSnippet snippet1, ExpressionSnippet snippet2){ Differences differences = new Differences(snippet1, snippet2); if (snippet1 == null || snippet2 == null){ if (snippet1 != snippet2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } ExpressionSnippet changes = (ExpressionSnippet)snippet2.Clone(); ExpressionSnippet deletions = (ExpressionSnippet)snippet2.Clone(); ExpressionSnippet insertions = (ExpressionSnippet)snippet2.Clone(); if (snippet1.SourceContext.Document == null || snippet2.SourceContext.Document == null){ if (snippet1.SourceContext.Document == snippet2.SourceContext.Document) differences.NumberOfSimilarities++; else differences.NumberOfDifferences++; }else if (snippet1.SourceContext.Document.Name == snippet2.SourceContext.Document.Name) differences.NumberOfSimilarities++; else differences.NumberOfDifferences++; if (differences.NumberOfDifferences == 0){ differences.Changes = null; differences.Deletions = null; differences.Insertions = null; }else{ differences.Changes = changes; differences.Deletions = deletions; differences.Insertions = insertions; } return differences; }
public override Expression VisitExpressionSnippet(ExpressionSnippet snippet) { throw new ApplicationException("unimplemented"); }
public virtual Expression VisitExpressionSnippet(ExpressionSnippet snippet){ return snippet; }
public override Expression VisitExpressionSnippet(ExpressionSnippet snippet) { if (snippet == null) return null; return base.VisitExpressionSnippet((ExpressionSnippet)snippet.Clone()); }
public virtual Expression VisitExpressionSnippet(ExpressionSnippet snippet1, ExpressionSnippet snippet2) { return snippet1; }
private Expression Translate(CodeSnippetExpression expr){ if (expr == null) return null; ExpressionSnippet snippet = new ExpressionSnippet(); Document doc = this.compiler.CreateDocument(null, 1, expr.Value); snippet.SourceContext = new SourceContext(doc); return snippet; }
public override Expression VisitExpressionSnippet(ExpressionSnippet snippet) { System.Compiler.Parser p = this.DefaultCompiler.CreateParser(snippet.SourceContext.Document, this.ErrorNodes); return(p.ParseExpression()); }