private void ClassifyIfDirective(IfDirectiveTriviaSyntax node) { AddClassification(node.HashToken, ClassificationTypeNames.PreprocessorKeyword); AddClassification(node.IfKeyword, ClassificationTypeNames.PreprocessorKeyword); ClassifyPreprocessorExpression(node.Condition); ClassifyDirectiveTrivia(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { if (!PreVisit(node)) { return; } base.VisitIfDirectiveTrivia(node); PostVisit(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { // if (debug) Console.WriteLine(node.ToFullString()); // Todo("IfDirectiveTrivia"); var nl = OurLine.NewLine(LineKind.Decl, "IfDirectiveTrivia"); // nl.Source = node.ToFullString(); // nl.ParentKind = node.Parent.RawKind; // nl.RawKind = node.RawKind; // LogCommand(nl); // Todo("IfDirectiveTrivia"); base.VisitIfDirectiveTrivia(node); }
private SyntaxTree getDebugCode(SyntaxTree tree) { SyntaxTree newTree = null; SyntaxTriviaList spaceTrivias = new SyntaxTriviaList(); SyntaxTrivia space = SyntaxFactory.Space; spaceTrivias = spaceTrivias.Add(space); SyntaxTriviaList endLineTrivias = new SyntaxTriviaList(); SyntaxTrivia endline = SyntaxFactory.CarriageReturnLineFeed; endLineTrivias = endLineTrivias.Add(endline); IdentifierNameSyntax debugIdentifier = SyntaxFactory.IdentifierName(SESCriptBuilderInstance.DebugName).WithLeadingTrivia(spaceTrivias); IfDirectiveTriviaSyntax ifOpen = SyntaxFactory.IfDirectiveTrivia(debugIdentifier, false, false, false).WithTrailingTrivia(endLineTrivias); SyntaxTrivia ifOpenTrivia = SyntaxFactory.Trivia(ifOpen); SyntaxTriviaList ifOpenList = new SyntaxTriviaList(); ifOpenList = ifOpenList.Add(ifOpenTrivia); EndIfDirectiveTriviaSyntax ifClose = SyntaxFactory.EndIfDirectiveTrivia(false).WithTrailingTrivia(endLineTrivias).WithLeadingTrivia(endLineTrivias); SyntaxTrivia ifCloseTrivia = SyntaxFactory.Trivia(ifClose); SyntaxTriviaList ifCloseList = new SyntaxTriviaList(); ifCloseList = ifCloseList.Add(ifCloseTrivia); CompilationUnitSyntax root = tree.GetCompilationUnitRoot(); // add begin and end ifs root = root.WithLeadingTrivia(ifOpenList); root = root.WithTrailingTrivia(ifCloseList); ClassDeclarationSyntax mainClass = this.getTopLevelClasses(root.SyntaxTree).First(); SyntaxToken token = mainClass.OpenBraceToken; SyntaxToken newToken = token.WithTrailingTrivia(ifCloseList); root = root.ReplaceToken(token, newToken); mainClass = this.getTopLevelClasses(root.SyntaxTree).First(); token = mainClass.CloseBraceToken; newToken = token.WithLeadingTrivia(ifOpenList); root = root.ReplaceToken(token, newToken); newTree = root.SyntaxTree; return(newTree); }
public IfDirectiveBlock(IfDirectiveTriviaSyntax node, string conditionToken, bool isGeneratorToken) : base(node) { var childNodesCollectionChanged = (INotifyCollectionChanged)this.ChildNodes; this.ElifBlocks = new List <ElifBlock>(); this.Condition = conditionToken; this.IsGeneratorToken = isGeneratorToken; childNodesCollectionChanged.CollectionChanged += (sender, e) => { if (e.Action == NotifyCollectionChangedAction.Add) { foreach (var item in e.NewItems.Cast <IfDirectiveNodeBase>()) { switch (item.Node) { case IfDirectiveTriviaSyntax ifDirective: this.IfBlock = (IfBlock)item; this.ActiveBlock = item; break; case ElifDirectiveTriviaSyntax elifDirective: this.ElifBlocks.Add((ElifBlock)item); this.ActiveBlock = item; break; case ElseDirectiveTriviaSyntax elseDirective: this.ElseBlock = (ElseBlock)item; this.ActiveBlock = item; break; case EndIfDirectiveTriviaSyntax endIfDirective: this.EndIfBlock = (EndIfBlock)item; break; } } } }; this.AddChild(new IfBlock(node)); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { var conditionToken = node.Condition.GetText().ToString(); var isGeneratorToken = conditionToken.StartsWith("GENERATOR_TOKEN_"); IfDirectiveBlock ifDirectiveBlock = new IfDirectiveBlock(node, conditionToken, isGeneratorToken); if (ifDirectiveBlockStack.Count == 0) { this.RootIfDirectiveBlocks.Add(ifDirectiveBlock); } else { var ifDirectiveBlockPeek = ifDirectiveBlockStack.Peek(); var activeBlock = ifDirectiveBlockPeek.ActiveBlock; activeBlock.AddChild(ifDirectiveBlock); } this.IfDirectiveBlocks.Add(ifDirectiveBlock); ifDirectiveBlockStack.Push(ifDirectiveBlock); base.VisitIfDirectiveTrivia(node); }
public virtual void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { DefaultVisit(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { throw new NotImplementedException(); }
public IfBlock(IfDirectiveTriviaSyntax node) : base(node) { this.Condition = node.Condition.ToFullString(); }
public override SyntaxNode VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { return(null); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { CreateBranchingDirectiveTag(node); }
public TameIfDirectiveTriviaSyntax(IfDirectiveTriviaSyntax node) { Node = node; AddChildren(); }
public override Evaluation VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { return(base.VisitIfDirectiveTrivia(node)); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { this.OnNodeVisited(node); if (!this.traverseRootOnly) base.VisitIfDirectiveTrivia(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) => base.VisitIfDirectiveTrivia(node);
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { InsertLLOCMap(node.GetLocation()); base.VisitIfDirectiveTrivia(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { var ifStart = new Entities.IfDirective(cx, node); ifStarts.Push(new IfDirectiveStackElement(ifStart)); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { _activeSpanStart = node.SpanStart; base.VisitIfDirectiveTrivia(node); }
public override SyntaxNode VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { node = (IfDirectiveTriviaSyntax)base.VisitIfDirectiveTrivia(node); Classes.Add(node); return(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { this.OnNodeVisited(node, this.type.IsInstanceOfType(node)); base.VisitIfDirectiveTrivia(node); }
public override void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { Debug.Fail(node.ToString()); base.VisitIfDirectiveTrivia(node); }
public override Ust VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node) { throw new InvalidOperationException(); }
// // Summary: // Called when the visitor visits a IfDirectiveTriviaSyntax node. public virtual void VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node);