public void Generate(CodeGenerator generator) { generator.EnterElement(this); generator.WriteLine(TokenType.Comment, @"//--------------------------------------------------------------"); generator.WriteLine(TokenType.Comment, @"// _______ _____ __ ________ "); generator.WriteLine(TokenType.Comment, @"// | ___ \ / \ | | |___ ___| "); generator.WriteLine(TokenType.Comment, @"// | | \ | / ___ \ | | / / "); generator.WriteLine(TokenType.Comment, @"// | |___/ / / / \ \ | | / /_ "); generator.WriteLine(TokenType.Comment, @"// | | \ \ \ \___/ / | | /_ / "); generator.WriteLine(TokenType.Comment, @"// | |___/ | \ / | |____ | / "); generator.WriteLine(TokenType.Comment, @"// |_______/ \_____/ |_______| |/ "); generator.WriteLine(TokenType.Comment, @"// "); generator.WriteLine(TokenType.Comment, @"// V I S U A L S C R I P T I N G "); generator.WriteLine(TokenType.Comment, @"//--------------------------------------------------------------"); generator.WriteLine(TokenType.Comment, @"// "); generator.WriteLine(TokenType.Comment, @"// THIS FILE IS AUTO-GENERATED. "); generator.WriteLine(TokenType.Comment, @"// "); generator.WriteLine(TokenType.Comment, @"// ANY CHANGES WILL BE LOST NEXT TIME THIS SCRIPT IS GENERATED. "); generator.WriteLine(TokenType.Comment, @"// "); generator.WriteLine(TokenType.Comment, @"//--------------------------------------------------------------"); StartDirectives.Generate(generator); if (StartDirectives.Count > 0) { generator.WriteLine(); } Usings.Generate(generator); if (AssemblyCustomAttributes.Count > 0) { generator.GenerateAttributes(AssemblyCustomAttributes, "assembly"); generator.WriteLine(); } generator.PushUsingSet(Usings); Namespaces.Generate(generator); generator.PopUsingSet(); if (EndDirectives.Count > 0) { generator.WriteLine(); } EndDirectives.Generate(generator); generator.ExitElement(); }
public void Generate(CodeGenerator generator) { generator.EnterElement(this); Comments.Generate(generator); generator.Write(TokenType.Keyword, "namespace"); generator.Write(TokenType.Space, ' '); var names = Name.Split('.'); generator.OutputIdentifier(TokenType.Identifier, names[0]); for (int i = 1; i < names.Length; i++) { generator.Write(TokenType.Punctuation, '.'); generator.OutputIdentifier(TokenType.Identifier, names[i]); } generator.WriteOpeningBrace(); generator.Indent++; Usings.Generate(generator); Usings.Add(new CodeUsingImport(Name)); generator.PushUsingSet(Usings); bool needsBlankLine = false; foreach (var type in Types) { if (needsBlankLine) { generator.WriteLine(); } type.Generate(generator); needsBlankLine = true; } generator.PopUsingSet(); generator.Indent--; generator.WriteClosingBrace(); generator.ExitElement(); }