From 696ddbd93b4c16f27d78f608bfd5eaf157d2fcf4 Mon Sep 17 00:00:00 2001 From: Andreas Rumpf Date: Fri, 26 Feb 2016 14:48:56 +0100 Subject: [PATCH] PHP codegen generates reliable filenames --- compiler/jsgen.nim | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/jsgen.nim b/compiler/jsgen.nim index 33a8dc12de..3bbb227454 100644 --- a/compiler/jsgen.nim +++ b/compiler/jsgen.nim @@ -2089,7 +2089,8 @@ proc getClassName(t: PType): Rope = s = skipTypes(t, abstractPtrs).sym if s.isNil or sfAnon in s.flags: internalError("cannot retrieve class name") - result = mangleName(s, targetPHP) + if s.loc.r != nil: result = s.loc.r + else: result = rope(s.name.s) proc genClass(obj: PType; content: Rope; ext: string) = let cls = getClassName(obj) @@ -2100,6 +2101,7 @@ proc genClass(obj: PType; content: Rope; ext: string) = let result = (" 0: if options.outFile.isAbsolute: options.outFile else: getCurrentDir() / options.outFile else: - changeFileExt(completeCFilePath(m.module.filename), ext) + changeFileExt(completeCFilePath(f), ext) discard writeRopeIfNotEqual(genHeader(m.target) & code, outfile) for obj, content in items(globals.classes): genClass(obj, content, ext)