public override string ToString() { // TODO ADD TESTS FOR MULTIPLE TO STRING SCENARIOS StringBuilder sb = new StringBuilder(); if (!AccessibilityLevel.Equals(SGAccessibilityLevel.None)) { sb.Append($"{AccessibilityLevel} "); } if (IsStatic) { sb.Append("static "); } if (IsAsync) { sb.Append("async "); } if (IsOverride) { sb.Append("override "); } sb.Append($"{ReturnType} {MethodName}"); if (IsGeneric && GenericTypeNames.Count > 0) { sb.Append("<"); sb.Append(String.Join(", ", GenericTypeNames)); sb.Append(">"); } sb.Append(" ("); sb.Append(String.Join(", ", Arguments.Select(x => x.ToString()))); sb.Append(")"); return(sb.ToString()); }
public override string ToString() { StringBuilder sb = new StringBuilder(); foreach (var attr in Attributes) { sb.AppendLine(attr.ToString()); } if (!AccessibilityLevel.Equals(SGAccessibilityLevel.None)) { sb.Append($"{AccessibilityLevel} "); } if (IsStatic) { sb.Append("static "); } if (IsAbstract) { sb.Append("abstract "); } if (IsPartial) { sb.Append("partial "); } sb.Append($"class {ClassName}"); if (IsGeneric) { sb.Append("<"); sb.Append(String.Join(", ", GenericTypeNames)); sb.Append(">"); } if (!String.IsNullOrEmpty(BaseClass) || InterfaceImplementations.Count > 0) { sb.Append(" : "); if (!String.IsNullOrEmpty(BaseClass)) { sb.Append($"{BaseClass}"); if (InterfaceImplementations.Count > 0) { sb.Append(", "); } } sb.Append(String.Join(", ", InterfaceImplementations)); } sb.AppendLine(); sb.AppendLine("{"); foreach (SGClassProperty property in Properties) { foreach (string propertyLine in property.ToString().BreakIntoLines()) { sb.AppendLine($"\t{propertyLine}"); } } foreach (SGClassField field in Fields) { foreach (string fieldLine in field.ToString().BreakIntoLines()) { sb.AppendLine($"\t{fieldLine}"); } } foreach (SGClassConstructor constructor in Constructors) { foreach (string ctorLine in constructor.ToString().BreakIntoLines()) { sb.AppendLine($"\t{ctorLine}"); } } foreach (SGMethod method in Methods) { foreach (string methodLine in method.ToString().BreakIntoLines()) { sb.AppendLine($"\t{methodLine}"); } } foreach (SGClass nestedClass in NestedClasses) { foreach (string nestedClassLine in nestedClass.ToString().BreakIntoLines()) { sb.AppendLine($"\t{nestedClassLine}"); } } foreach (SGInterface nestedInterface in NestedInterfaces) { foreach (string nestedInterfaceLine in nestedInterface.ToString().BreakIntoLines()) { sb.AppendLine($"\t{nestedInterfaceLine}"); } } foreach (SGEnum nestedEnum in NestedEnums) { foreach (string nestedEnumLine in nestedEnum.ToString().BreakIntoLines()) { sb.AppendLine($"\t{nestedEnumLine}"); } } sb.AppendLine("}"); return(sb.ToString()); }