big patch:
[mono.git] / mcs / class / System / System.CodeDom.Compiler / ICodeGenerator.cs
1 //
2 // System.CodeDom.Compiler ICodeGenerator Interface
3 //
4 // Author:
5 //   Miguel de Icaza (miguel@ximian.com)
6 //   Daniel Stodden (stodden@in.tum.de)
7 //
8 // (C) 2001 Ximian, Inc.
9 //
10
11 namespace System.CodeDom.Compiler
12 {
13         using System.CodeDom;
14         using System.IO;
15
16         public interface ICodeGenerator
17         {
18                 //
19                 // Methods
20                 //
21                 string CreateEscapedIdentifier( string value );
22
23                 string CreateValidIdentifier( string value );
24
25                 void GenerateCodeFromCompileUnit( CodeCompileUnit compileUnit,
26                                                   TextWriter output,
27                                                   CodeGeneratorOptions options );
28
29                 void GenerateCodeFromExpression( CodeExpression expression,
30                                                  TextWriter output, 
31                                                  CodeGeneratorOptions options );
32
33                 void GenerateCodeFromNamespace( CodeNamespace ns,
34                                                 TextWriter output, 
35                                                 CodeGeneratorOptions options );
36
37                 void GenerateCodeFromStatement( CodeStatement statement,
38                                                 TextWriter output, 
39                                                 CodeGeneratorOptions options );
40
41                 void GenerateCodeFromType( CodeTypeDeclaration typeDeclaration,
42                                            TextWriter output,
43                                            CodeGeneratorOptions options );
44
45                 string GetTypeOutput( CodeTypeReference type );
46
47                 bool IsValidIdentifier( string value );
48
49                 bool Supports( GeneratorSupport supports );
50  
51                 void ValidateIdentifier( string value );
52         }
53 }