summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--codemaker/source/javamaker/javatype.cxx13
1 files changed, 6 insertions, 7 deletions
diff --git a/codemaker/source/javamaker/javatype.cxx b/codemaker/source/javamaker/javatype.cxx
index 09ba4af9b51a..d9639c1545be 100644
--- a/codemaker/source/javamaker/javatype.cxx
+++ b/codemaker/source/javamaker/javatype.cxx
@@ -1371,17 +1371,16 @@ void addPlainStructBaseArguments(
"unexpected entity \"" + base
+ "\" in call to addPlainStructBaseArguments");
}
- rtl::Reference< unoidl::PlainStructTypeEntity > ent2(
- dynamic_cast< unoidl::PlainStructTypeEntity * >(ent.get()));
- assert(ent2.is());
- if (!ent2->getDirectBase().isEmpty()) {
+ unoidl::PlainStructTypeEntity& ent2(
+ dynamic_cast<unoidl::PlainStructTypeEntity&>(*ent.get()));
+ if (!ent2.getDirectBase().isEmpty()) {
addPlainStructBaseArguments(
manager, dependencies, methodDescriptor, code,
- ent2->getDirectBase(), index);
+ ent2.getDirectBase(), index);
}
for (std::vector< unoidl::PlainStructTypeEntity::Member >::const_iterator i(
- ent2->getDirectMembers().begin());
- i != ent2->getDirectMembers().end(); ++i)
+ ent2.getDirectMembers().begin());
+ i != ent2.getDirectMembers().end(); ++i)
{
methodDescriptor->addParameter(i->type, false, true, 0);
addLoadLocal(manager, code, index, false, i->type, false, dependencies);