2 // VBNodeFormatter.cs: Formats nodes with VB.NET syntax
4 // Author: Jonathan Pryor (jonpryor@vt.edu)
6 // (C) 2002 Jonathan Pryor
10 using System.Collections;
12 using System.Diagnostics;
13 using System.Reflection;
15 using System.Text.RegularExpressions;
17 namespace Mono.TypeReflector.Formatters
19 public class VBNodeFormatter : LanguageNodeFormatter {
21 public VBNodeFormatter ()
25 protected override string LineComment {get {return "'";}}
27 protected override string KeywordClass {get {return "Class";}}
28 protected override string KeywordEnum {get {return "Enum";}}
29 protected override string KeywordValueType {get {return "Struct";}}
30 protected override string KeywordInterface {get {return "Interface";}}
31 protected override string KeywordInherits {get {return "Inherits";}}
32 protected override string KeywordImplements {get {return "Implements";}}
33 protected override string KeywordMulticast {get {return "Event";}}
34 protected override string KeywordStatementTerminator {get {return "";}}
35 protected override string KeywordStatementSeparator {get {return ",";}}
37 protected override string QualifierPublic {get {return "Public";}}
38 protected override string QualifierFamily {get {return "Family";}}
39 protected override string QualifierAssembly {get {return "Internal";}}
40 protected override string QualifierPrivate {get {return "Private";}}
41 protected override string QualifierFinal {get {return "Final";}}
42 protected override string QualifierStatic {get {return "Shared";}}
43 protected override string QualifierLiteral {get {return "Const";}}
44 protected override string QualifierAbstract {get {return "Abstract";}}
45 protected override string QualifierVirtual {get {return "Overridable";}}
47 private static readonly string[] attributeDelimeters = new string[]{"<", ">"};
49 protected override string[] AttributeDelimeters {
50 get {return attributeDelimeters;}
53 protected override string GetConstructorName (ConstructorInfo ctor)
58 protected override void AddMethodDeclaration (StringBuilder sb, MethodInfo method)
60 string type = "Function";
62 bool sub = method.ReturnType == typeof (void);
68 sb.AppendFormat ("{0} {1}", type, method.Name);
69 AddMethodArgs (sb, method);
72 sb.AppendFormat (" As {0}", method.ReturnType);