Skip to content

Commit

Permalink
Generator outputs private fields as _camelCase rather than `_Pascal…
Browse files Browse the repository at this point in the history
…Case` (#171)
  • Loading branch information
DamianSuess committed Nov 7, 2022
1 parent c980cfe commit 9f126c1
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/Tmds.DBus.Tool/Generator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ private SyntaxNode[] PropertyToDeclarations(XElement propertyXml)
{
string name = propertyXml.Attribute("name").Value;
var fieldName = $"_{name.Replace('-', '_')}";
fieldName = CamelCase(fieldName);
string dbusType = propertyXml.Attribute("type").Value;
SyntaxNode type = ParseType(dbusType);
var field = _generator.FieldDeclaration(fieldName, type, Accessibility.Private, DeclarationModifiers.None, _generator.DefaultExpression(type));
Expand Down Expand Up @@ -403,6 +404,27 @@ private static SyntaxToken ToIdentifierToken(string identifier)
return token;
}

private static string CamelCase(string name)
{
var sb = new StringBuilder(name.Length);
var done = false;

foreach (char c in name)
{
if (c == '_' || done)
{
sb.Append(c);
}
else
{
sb.Append(char.ToLower(c));
done = true;
}
}

return sb.ToString();
}

public static string Prettify(string name, bool startWithUpper = true)
{
if (name == null)
Expand Down

0 comments on commit 9f126c1

Please sign in to comment.