* fixed error in r19248 whereby the namespace for automatically generated

classes was no longer set afterwards (and the new code is also much
    simpler)

git-svn-id: branches/jvmbackend@19554 -
This commit is contained in:
Jonas Maebe 2011-10-28 21:19:06 +00:00
parent cf47b8d422
commit 2d7e674168
2 changed files with 6 additions and 19 deletions

View File

@ -417,22 +417,13 @@ implementation
hs:=ChangeFileExt(hs,target_info.sharedlibext);
if Copy(hs,1,length(target_info.sharedlibprefix))<>target_info.sharedlibprefix then
hs:=target_info.sharedlibprefix+hs;
end
else if assigned(current_module.namespace) then
begin
{ import_lib is used to specify the package name for the JVM
target (= namespace) }
if (target_info.system=system_jvm_java32) and
assigned(current_module.namespace) then
hs:=current_module.namespace^;
{ not sure how to deal with cppclass here, since namespaces
mean something different there }
end;
if hs<>'' then
begin
{ the JVM expects java/lang/Object rather than java.lang.Object }
if target_info.system=system_jvm_java32 then
Replace(hs,'.','/');
stringdispose(od.import_lib);
od.import_lib:=stringdup(hs);
end;
include(od.objectoptions, oo_is_external);
@ -446,15 +437,6 @@ implementation
else
begin
od.objextname:=stringdup(od.objrealname^);
{ ToDo for cpp: read/set the namespace of the class (influences the mangled name)
(notice that for the JVM target, there is no difference between
the namespace and import_lib) }
if (target_info.system=system_jvm_java32) and
assigned(current_module.namespace) then
begin
od.import_lib:=stringdup(current_module.namespace^);
Replace(od.import_lib^,'.','/');
end;
end;
end;

View File

@ -3022,6 +3022,11 @@ implementation
objname:=stringdup(upper(n));
objrealname:=stringdup(n);
objectoptions:=[];
if assigned(current_module.namespace) then
begin
import_lib:=stringdup(current_module.namespace^);
replace(import_lib^,'.','/');
end;
end;
constructor tabstractrecorddef.ppuload(dt:tdeftyp;ppufile:tcompilerppufile);