Kaydet (Commit) 662e3299 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Fix generation of com.sun.star.uno.[Runtime]Exception classes

Change-Id: If9bd4d906906e0e6cd7c5bb61f8a67a163218395
üst d1577ee1
...@@ -1825,18 +1825,22 @@ void handleExceptionType( ...@@ -1825,18 +1825,22 @@ void handleExceptionType(
MethodDescriptor desc2(manager, dependencies, "void", 0, 0); MethodDescriptor desc2(manager, dependencies, "void", 0, 0);
code.reset(cf->newCode()); code.reset(cf->newCode());
code->loadLocalReference(0); code->loadLocalReference(0);
sal_uInt16 index3 = 1; sal_uInt16 index3 = 3;
code->loadLocalReference(index3++);
code->loadLocalReference(index3++);
// Note that we hack in the java.lang.Throwable parameter further down, // Note that we hack in the java.lang.Throwable parameter further down,
// because MethodDescriptor does not know how to handle it. // because MethodDescriptor does not know how to handle it.
desc2.addParameter("string", false, true, 0); desc2.addParameter("string", false, true, 0);
if (!(baseException || baseRuntimeException)) { if (baseException || baseRuntimeException) {
code->loadLocalReference(2);
code->loadLocalReference(1);
code->instrInvokespecial(superClass, "<init>", "(Ljava/lang/String;Ljava/lang/Throwable;)V");
} else {
code->loadLocalReference(1);
code->loadLocalReference(2);
addExceptionBaseArguments( addExceptionBaseArguments(
manager, dependencies, &desc2, code.get(), entity->getDirectBase(), manager, dependencies, &desc2, code.get(), entity->getDirectBase(),
&index3); &index3);
code->instrInvokespecial(superClass, "<init>", "(Ljava/lang/Throwable;" + desc2.getDescriptor().copy(1));
} }
code->instrInvokespecial(superClass, "<init>", "(Ljava/lang/Throwable;" + desc2.getDescriptor().copy(1));
sal_uInt16 maxSize2 = index3; sal_uInt16 maxSize2 = index3;
if (baseRuntimeException) { if (baseRuntimeException) {
maxSize2 = std::max( maxSize2 = std::max(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment