Przeglądaj źródła

Fix for extension classes munged name clashes.

Mark Sibly 9 lat temu
rodzic
commit
f10e58c772
1 zmienionych plików z 2 dodań i 5 usunięć
  1. 2 5
      src/mx2cc/mung.monkey2

+ 2 - 5
src/mx2cc/mung.monkey2

@@ -184,8 +184,7 @@ Function ClassName:String( ctype:ClassType )
 		Return symbol
 	Endif
 	
-	If ctype.cdecl.IsExtension Return "x_"+ScopeName( ctype.scope )
-
+	If ctype.cdecl.IsExtension Return "x_"+ScopeName( ctype.scope )+"_"+ctype.scope.FindFile().fdecl.ident
 
 	Return "t_"+ScopeName( ctype.scope )
 End
@@ -210,13 +209,12 @@ Function FuncName:String( func:FuncValue )
 		Return symbol
 	Endif
 	
-	If fdecl.kind="function" Or func.IsExtension'types
+	If fdecl.kind="function" Or func.IsExtension
 	
 		Local sym:="g_"+ScopeName( func.scope )+"_"+MungIdent( fdecl.ident )
 		
 		If fdecl.ident="to" sym+="_"+MungArg( func.ftype.retType )
 
-'		hopefully not necessary!		
 		If func.types sym+=MungArgs( func.types )
 		
 		Return sym
@@ -229,7 +227,6 @@ Function FuncName:String( func:FuncValue )
 		
 		If fdecl.ident="to" sym+="_"+MungArg( func.ftype.retType )
 
-'		hopefully not necessary!		
 		If func.types sym+=MungArgs( func.types )
 
 		Return sym