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(
MethodDescriptor desc2(manager, dependencies, "void", 0, 0);
code.reset(cf->newCode());
code->loadLocalReference(0);
sal_uInt16 index3 = 1;
code->loadLocalReference(index3++);
code->loadLocalReference(index3++);
sal_uInt16 index3 = 3;
// Note that we hack in the java.lang.Throwable parameter further down,
// because MethodDescriptor does not know how to handle it.
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(
manager, dependencies, &desc2, code.get(), entity->getDirectBase(),
&index3);
}
code->instrInvokespecial(superClass, "<init>", "(Ljava/lang/Throwable;" + desc2.getDescriptor().copy(1));
}
sal_uInt16 maxSize2 = index3;
if (baseRuntimeException) {
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