From 8457bacdc9ba4e4fd53ef0214458d1d8bba2aeb8 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 17 Dec 2004 20:29:54 +0000 Subject: [PATCH] * generator/Field.cs (StudlyName): Fall back to using "cname" if "name" isn't defined (ie, when using the latest generator against api files output by an older parser). svn path=/trunk/gtk-sharp/; revision=37902 --- ChangeLog | 6 ++++++ generator/Field.cs | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 95c939ebd..2345bab32 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-12-17 Dan Winship + + * generator/Field.cs (StudlyName): Fall back to using "cname" if + "name" isn't defined (ie, when using the latest generator against + api files output by an older parser). + 2004-12-17 Dan Winship * generator/ClassBase.cs (IgnoreMethod): Don't ignore GetFoo and diff --git a/generator/Field.cs b/generator/Field.cs index b9b28cca1..3663ed113 100644 --- a/generator/Field.cs +++ b/generator/Field.cs @@ -129,7 +129,21 @@ namespace GtkSharp.Generation { public string StudlyName { get { - return elem.GetAttribute ("name"); + string studly = elem.GetAttribute ("name"); + if (studly != "") + return studly; + + // FIXME: this is backward compatibility for API files + // output by older versions of the parser. It can go + // away at some point. + string name = elem.GetAttribute ("cname"); + string[] segs = name.Split('_'); + foreach (string s in segs) { + if (s.Trim () == "") + continue; + studly += (s.Substring(0,1).ToUpper() + s.Substring(1)); + } + return studly; } }