Merge pull request #1230 from flaviut/fix1226

Fix 1226 and document associated methods
This commit is contained in:
Andreas Rumpf
2014-05-29 01:59:24 +02:00
2 changed files with 5 additions and 2 deletions

View File

@@ -13,8 +13,8 @@
proc mangleField(name: string): string =
result = mangle(name)
if name[0] in 'a'..'z':
result[0] = name[0].toUpper
result[0] = result[0].toUpper # Mangling makes everything lowercase,
# but some identifiers are C keywords
proc isKeyword(w: PIdent): bool =
# nimrod and C++ share some keywords

View File

@@ -162,6 +162,9 @@ proc makeSingleLineCString*(s: string): string =
result.add('\"')
proc mangle*(name: string): string =
## Lowercases the given name and manges any non-alphanumeric characters
## so they are represented as `HEX____`. If the name starts with a number,
## `N` is prepended
result = ""
case name[0]
of Letters: