1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
5
using ICSharpCode.NRefactory.VB.Parser;
7
namespace ICSharpCode.NRefactory.VB.PrettyPrinter
10
/// Description of VBNetOutputFormatter.
12
public sealed class VBNetOutputFormatter : AbstractOutputFormatter
14
public VBNetOutputFormatter(VBNetPrettyPrintOptions prettyPrintOptions) : base(prettyPrintOptions)
18
public override void PrintToken(int token)
20
PrintText(Tokens.GetTokenString(token));
23
public override void PrintIdentifier(string identifier)
25
if (Keywords.IsNonIdentifierKeyword(identifier)) {
27
PrintText(identifier);
30
PrintText(identifier);
34
// public override void PrintComment(Comment comment, bool forceWriteInPreviousBlock)
36
// switch (comment.CommentType) {
37
// case CommentType.Block:
38
// WriteLineInPreviousLine("'" + comment.CommentText.Replace("\n", "\n'"), forceWriteInPreviousBlock);
40
// case CommentType.Documentation:
41
// WriteLineInPreviousLine("'''" + comment.CommentText, forceWriteInPreviousBlock);
44
// WriteLineInPreviousLine("'" + comment.CommentText, forceWriteInPreviousBlock);
49
// public override void PrintPreprocessingDirective(PreprocessingDirective directive, bool forceWriteInPreviousBlock)
52
// && (string.Equals(directive.Cmd, "#Region", StringComparison.InvariantCultureIgnoreCase)
53
// || string.Equals(directive.Cmd, "#End", StringComparison.InvariantCultureIgnoreCase)
54
// && directive.Arg.StartsWith("Region", StringComparison.InvariantCultureIgnoreCase)))
56
// WriteLineInPreviousLine("'" + directive.Cmd + " " + directive.Arg, forceWriteInPreviousBlock);
57
// } else if (!directive.Expression.IsNull) {
58
// VBNetOutputVisitor visitor = new VBNetOutputVisitor();
59
// directive.Expression.AcceptVisitor(visitor, null);
60
// WriteLineInPreviousLine(directive.Cmd + " " + visitor.Text + " Then", forceWriteInPreviousBlock);
62
// base.PrintPreprocessingDirective(directive, forceWriteInPreviousBlock);
66
public void PrintLineContinuation()
68
if (!LastCharacterIsWhiteSpace)
70
PrintText("_" + Environment.NewLine);