diff --git a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs index 0a1e71e4..871549d1 100644 --- a/src/Generator/Generators/CLI/CLIHeadersTemplate.cs +++ b/src/Generator/Generators/CLI/CLIHeadersTemplate.cs @@ -244,6 +244,7 @@ namespace Cxxi.Generators.CLI GenerateClassEvents(@class); GenerateClassMethods(@class); + GenerateClassVariables(@class); WriteLine("};"); } @@ -378,6 +379,21 @@ namespace Cxxi.Generators.CLI PopIndent(); } + public void GenerateClassVariables(Class @class) + { + PushIndent(); + + foreach(var variable in @class.Variables) + { + if (variable.Ignore) continue; + + WriteLine("static property {0} {1};", variable.Type, + variable.Name); + } + + PopIndent(); + } + public bool GenerateClassProlog(Class @class) { Write("public "); diff --git a/src/Generator/Generators/CLI/CLISourcesTemplate.cs b/src/Generator/Generators/CLI/CLISourcesTemplate.cs index a37b8440..7aca18d8 100644 --- a/src/Generator/Generators/CLI/CLISourcesTemplate.cs +++ b/src/Generator/Generators/CLI/CLISourcesTemplate.cs @@ -141,6 +141,12 @@ namespace Cxxi.Generators.CLI GenerateDeclarationCommon(@event); GenerateEvent(@event, @class); } + + foreach (var variable in @class.Variables) + { + GenerateDeclarationCommon(variable); + GenerateVariable(variable, @class); + } } private void GenerateEvent(Event @event, Class @class) @@ -255,6 +261,11 @@ namespace Cxxi.Generators.CLI WriteCloseBraceIndent(); } + private void GenerateVariable(Variable variable, Class @class) + { + + } + private void GenerateClassConstructor(Class @class, bool isIntPtr) { Write("{0}::{1}(", QualifiedIdentifier(@class), SafeIdentifier(@class.Name));