Browse Source

Added generation of properties for fields of non value-type classes.

pull/1/head
triton 13 years ago
parent
commit
5a8400ed22
  1. 25
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs

25
src/Generator/Generators/CLI/CLIHeadersTemplate.cs

@ -228,6 +228,21 @@ namespace Cxxi.Generators.CLI
PopIndent(); PopIndent();
} }
// Generate a property for each field if class is not value type
if (@class.IsRefType)
{
PushIndent();
foreach (var field in @class.Fields)
{
if (CheckIgnoreField(@class, field))
continue;
GenerateDeclarationCommon(field);
GenerateFieldProperty(field);
}
PopIndent();
}
PushIndent(); PushIndent();
foreach (var method in @class.Methods) foreach (var method in @class.Methods)
{ {
@ -242,6 +257,16 @@ namespace Cxxi.Generators.CLI
WriteLine("};"); WriteLine("};");
} }
public void GenerateFieldProperty(Field field)
{
field.Type.Visit<string>(Type.TypePrinter);
var type = field.Type.Visit(Type.TypePrinter);
WriteLine("property {0} {1};", type, field.Name);
NewLine();
}
public void GenerateMethod(Method method) public void GenerateMethod(Method method)
{ {
if (method.Ignore) return; if (method.Ignore) return;

Loading…
Cancel
Save