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

Use emplace_back

Change-Id: I006e3c8f411b480917d9cfb9c4f3d082b79c833d
üst e0b93ef5
...@@ -132,21 +132,19 @@ void checkAttributes(rtl::Reference< TypeManager > const & manager, ...@@ -132,21 +132,19 @@ void checkAttributes(rtl::Reference< TypeManager > const & manager,
i != ent2->getDirectAttributes().end(); ++i) i != ent2->getDirectAttributes().end(); ++i)
{ {
if (!containsAttribute(attributes, i->name)) { if (!containsAttribute(attributes, i->name)) {
attributes.push_back( attributes.emplace_back(
unoidl::AccumulationBasedServiceEntity::Property( i->name, i->type,
i->name, (unoidl::AccumulationBasedServiceEntity::Property::
i->type, Attributes(
(unoidl::AccumulationBasedServiceEntity::Property:: ((i->bound
Attributes( ? (unoidl::AccumulationBasedServiceEntity::
((i->bound Property::ATTRIBUTE_BOUND)
? (unoidl::AccumulationBasedServiceEntity:: : 0)
Property::ATTRIBUTE_BOUND) | (i->readOnly
: 0) ? (unoidl::AccumulationBasedServiceEntity::
| (i->readOnly Property::ATTRIBUTE_READ_ONLY)
? (unoidl::AccumulationBasedServiceEntity:: : 0)))),
Property::ATTRIBUTE_READ_ONLY) std::vector< OUString >());
: 0)))),
std::vector< OUString >()));
} }
} }
break; break;
......
...@@ -234,19 +234,16 @@ rtl::Reference< Entity > readEntity( ...@@ -234,19 +234,16 @@ rtl::Reference< Entity > readEntity(
std::vector< AnnotatedReference > mandBases; std::vector< AnnotatedReference > mandBases;
sal_uInt16 n = reader.getSuperTypeCount(); sal_uInt16 n = reader.getSuperTypeCount();
for (sal_uInt16 j = 0; j != n; ++j) { for (sal_uInt16 j = 0; j != n; ++j) {
mandBases.push_back( mandBases.emplace_back(
AnnotatedReference( reader.getSuperTypeName(j).replace('/', '.'),
reader.getSuperTypeName(j).replace('/', '.'), std::vector< OUString >());
std::vector< OUString >()));
} }
std::vector< AnnotatedReference > optBases; std::vector< AnnotatedReference > optBases;
n = reader.getReferenceCount(); n = reader.getReferenceCount();
for (sal_uInt16 j = 0; j != n; ++j) { for (sal_uInt16 j = 0; j != n; ++j) {
optBases.push_back( optBases.emplace_back(
AnnotatedReference( reader.getReferenceTypeName(j).replace('/', '.'),
reader.getReferenceTypeName(j).replace('/', '.'), translateAnnotations(reader.getReferenceDocumentation(j)));
translateAnnotations(
reader.getReferenceDocumentation(j))));
} }
sal_uInt16 methodCount = reader.getMethodCount(); sal_uInt16 methodCount = reader.getMethodCount();
std::vector< InterfaceTypeEntity::Attribute > attrs; std::vector< InterfaceTypeEntity::Attribute > attrs;
...@@ -297,12 +294,11 @@ rtl::Reference< Entity > readEntity( ...@@ -297,12 +294,11 @@ rtl::Reference< Entity > readEntity(
} }
} }
RTFieldAccess flags = reader.getFieldFlags(j); RTFieldAccess flags = reader.getFieldFlags(j);
attrs.push_back( attrs.emplace_back(
InterfaceTypeEntity::Attribute( attrName, reader.getFieldTypeName(j).replace('/', '.'),
attrName, reader.getFieldTypeName(j).replace('/', '.'), bool(flags & RTFieldAccess::BOUND),
bool(flags & RTFieldAccess::BOUND), bool(flags & RTFieldAccess::READONLY), getExcs, setExcs,
bool(flags & RTFieldAccess::READONLY), getExcs, setExcs, translateAnnotations(reader.getFieldDocumentation(j)));
translateAnnotations(reader.getFieldDocumentation(j))));
} }
std::vector< InterfaceTypeEntity::Method > meths; std::vector< InterfaceTypeEntity::Method > meths;
for (sal_uInt16 j = 0; j != methodCount; ++j) { for (sal_uInt16 j = 0; j != methodCount; ++j) {
...@@ -338,12 +334,11 @@ rtl::Reference< Entity > readEntity( ...@@ -338,12 +334,11 @@ rtl::Reference< Entity > readEntity(
+ " in interface type with key " + " in interface type with key "
+ sub.getName())); + sub.getName()));
} }
params.push_back( params.emplace_back(
InterfaceTypeEntity::Method::Parameter( reader.getMethodParameterName(j, k),
reader.getMethodParameterName(j, k), (reader.getMethodParameterTypeName(j, k).
(reader.getMethodParameterTypeName(j, k). replace('/', '.')),
replace('/', '.')), dir);
dir));
} }
std::vector< OUString > excs; std::vector< OUString > excs;
m = reader.getMethodExceptionCount(j); m = reader.getMethodExceptionCount(j);
...@@ -354,13 +349,12 @@ rtl::Reference< Entity > readEntity( ...@@ -354,13 +349,12 @@ rtl::Reference< Entity > readEntity(
reader.getMethodExceptionTypeName(j, k).replace( reader.getMethodExceptionTypeName(j, k).replace(
'/', '.')); '/', '.'));
} }
meths.push_back( meths.emplace_back(
InterfaceTypeEntity::Method( reader.getMethodName(j),
reader.getMethodName(j), reader.getMethodReturnTypeName(j).replace('/', '.'),
reader.getMethodReturnTypeName(j).replace('/', '.'), params, excs,
params, excs, translateAnnotations(
translateAnnotations( reader.getMethodDocumentation(j)));
reader.getMethodDocumentation(j))));
} }
} }
return new InterfaceTypeEntity( return new InterfaceTypeEntity(
...@@ -391,12 +385,10 @@ rtl::Reference< Entity > readEntity( ...@@ -391,12 +385,10 @@ rtl::Reference< Entity > readEntity(
std::vector< PlainStructTypeEntity::Member > mems; std::vector< PlainStructTypeEntity::Member > mems;
n = reader.getFieldCount(); n = reader.getFieldCount();
for (sal_uInt16 j = 0; j < n; ++j) { for (sal_uInt16 j = 0; j < n; ++j) {
mems.push_back( mems.emplace_back(
PlainStructTypeEntity::Member( reader.getFieldName(j),
reader.getFieldName(j), reader.getFieldTypeName(j).replace('/', '.'),
reader.getFieldTypeName(j).replace('/', '.'), translateAnnotations(reader.getFieldDocumentation(j)));
translateAnnotations(
reader.getFieldDocumentation(j))));
} }
return new PlainStructTypeEntity( return new PlainStructTypeEntity(
reader.isPublished(), base, mems, reader.isPublished(), base, mems,
...@@ -418,14 +410,13 @@ rtl::Reference< Entity > readEntity( ...@@ -418,14 +410,13 @@ rtl::Reference< Entity > readEntity(
std::vector< PolymorphicStructTypeTemplateEntity::Member > mems; std::vector< PolymorphicStructTypeTemplateEntity::Member > mems;
n = reader.getFieldCount(); n = reader.getFieldCount();
for (sal_uInt16 j = 0; j < n; ++j) { for (sal_uInt16 j = 0; j < n; ++j) {
mems.push_back( mems.emplace_back(
PolymorphicStructTypeTemplateEntity::Member( reader.getFieldName(j),
reader.getFieldName(j), reader.getFieldTypeName(j).replace('/', '.'),
reader.getFieldTypeName(j).replace('/', '.'), bool(
bool(reader.getFieldFlags(j) reader.getFieldFlags(j)
& RTFieldAccess::PARAMETERIZED_TYPE), & RTFieldAccess::PARAMETERIZED_TYPE),
translateAnnotations( translateAnnotations(reader.getFieldDocumentation(j)));
reader.getFieldDocumentation(j))));
} }
return new PolymorphicStructTypeTemplateEntity( return new PolymorphicStructTypeTemplateEntity(
reader.isPublished(), params, mems, reader.isPublished(), params, mems,
...@@ -446,10 +437,9 @@ rtl::Reference< Entity > readEntity( ...@@ -446,10 +437,9 @@ rtl::Reference< Entity > readEntity(
+ reader.getFieldName(j) + " of enum type with key " + reader.getFieldName(j) + " of enum type with key "
+ sub.getName())); + sub.getName()));
} }
mems.push_back( mems.emplace_back(
EnumTypeEntity::Member( reader.getFieldName(j), v.m_value.aLong,
reader.getFieldName(j), v.m_value.aLong, translateAnnotations(reader.getFieldDocumentation(j)));
translateAnnotations(reader.getFieldDocumentation(j))));
} }
return new EnumTypeEntity( return new EnumTypeEntity(
...@@ -476,11 +466,10 @@ rtl::Reference< Entity > readEntity( ...@@ -476,11 +466,10 @@ rtl::Reference< Entity > readEntity(
std::vector< ExceptionTypeEntity::Member > mems; std::vector< ExceptionTypeEntity::Member > mems;
sal_uInt16 n = reader.getFieldCount(); sal_uInt16 n = reader.getFieldCount();
for (sal_uInt16 j = 0; j != n; ++j) { for (sal_uInt16 j = 0; j != n; ++j) {
mems.push_back( mems.emplace_back(
ExceptionTypeEntity::Member( reader.getFieldName(j),
reader.getFieldName(j), reader.getFieldTypeName(j).replace('/', '.'),
reader.getFieldTypeName(j).replace('/', '.'), translateAnnotations(reader.getFieldDocumentation(j)));
translateAnnotations(reader.getFieldDocumentation(j))));
} }
return new ExceptionTypeEntity( return new ExceptionTypeEntity(
reader.isPublished(), base, mems, reader.isPublished(), base, mems,
...@@ -507,10 +496,10 @@ rtl::Reference< Entity > readEntity( ...@@ -507,10 +496,10 @@ rtl::Reference< Entity > readEntity(
std::vector< AnnotatedReference > optIfcs; std::vector< AnnotatedReference > optIfcs;
sal_uInt16 n = reader.getReferenceCount(); sal_uInt16 n = reader.getReferenceCount();
for (sal_uInt16 j = 0; j != n; ++j) { for (sal_uInt16 j = 0; j != n; ++j) {
AnnotatedReference base( AnnotatedReference base{
reader.getReferenceTypeName(j).replace('/', '.'), reader.getReferenceTypeName(j).replace('/', '.'),
translateAnnotations( translateAnnotations(
reader.getReferenceDocumentation(j))); reader.getReferenceDocumentation(j))};
switch (reader.getReferenceSort(j)) { switch (reader.getReferenceSort(j)) {
case RTReferenceType::EXPORTS: case RTReferenceType::EXPORTS:
if (!(reader.getReferenceFlags(j) & RTFieldAccess::OPTIONAL)) if (!(reader.getReferenceFlags(j) & RTFieldAccess::OPTIONAL))
...@@ -578,15 +567,13 @@ rtl::Reference< Entity > readEntity( ...@@ -578,15 +567,13 @@ rtl::Reference< Entity > readEntity(
attrs |= AccumulationBasedServiceEntity::Property:: attrs |= AccumulationBasedServiceEntity::Property::
ATTRIBUTE_REMOVABLE; ATTRIBUTE_REMOVABLE;
} }
props.push_back( props.emplace_back(
AccumulationBasedServiceEntity::Property( reader.getFieldName(j),
reader.getFieldName(j), reader.getFieldTypeName(j).replace('/', '.'),
reader.getFieldTypeName(j).replace('/', '.'), static_cast<
static_cast< AccumulationBasedServiceEntity::Property::
AccumulationBasedServiceEntity::Property::
Attributes >(attrs), Attributes >(attrs),
translateAnnotations( translateAnnotations(reader.getFieldDocumentation(j)));
reader.getFieldDocumentation(j))));
} }
return new AccumulationBasedServiceEntity( return new AccumulationBasedServiceEntity(
reader.isPublished(), mandServs, optServs, mandIfcs, reader.isPublished(), mandServs, optServs, mandIfcs,
...@@ -652,13 +639,11 @@ rtl::Reference< Entity > readEntity( ...@@ -652,13 +639,11 @@ rtl::Reference< Entity > readEntity(
+ " in service with key " + " in service with key "
+ sub.getName())); + sub.getName()));
} }
params.push_back( params.emplace_back(
SingleInterfaceBasedServiceEntity::Constructor:: reader.getMethodParameterName(j, k),
Parameter( (reader.getMethodParameterTypeName(j, k).
reader.getMethodParameterName(j, k), replace('/', '.')),
(reader.getMethodParameterTypeName(j, k). (mode & RT_PARAM_REST) != 0);
replace('/', '.')),
(mode & RT_PARAM_REST) != 0));
} }
std::vector< OUString > excs; std::vector< OUString > excs;
m = reader.getMethodExceptionCount(j); m = reader.getMethodExceptionCount(j);
...@@ -768,11 +753,10 @@ rtl::Reference< Entity > readEntity( ...@@ -768,11 +753,10 @@ rtl::Reference< Entity > readEntity(
std::vector< ConstantGroupEntity::Member > mems; std::vector< ConstantGroupEntity::Member > mems;
sal_uInt16 n = reader.getFieldCount(); sal_uInt16 n = reader.getFieldCount();
for (sal_uInt16 j = 0; j != n; ++j) { for (sal_uInt16 j = 0; j != n; ++j) {
mems.push_back( mems.emplace_back(
ConstantGroupEntity::Member( reader.getFieldName(j),
reader.getFieldName(j), translateConstantValue(sub, reader.getFieldValue(j)),
translateConstantValue(sub, reader.getFieldValue(j)), translateAnnotations(reader.getFieldDocumentation(j)));
translateAnnotations(reader.getFieldDocumentation(j))));
} }
return new ConstantGroupEntity( return new ConstantGroupEntity(
reader.isPublished(), mems, reader.isPublished(), mems,
......
...@@ -1039,8 +1039,7 @@ enumMember: ...@@ -1039,8 +1039,7 @@ enumMember:
} }
++v; ++v;
} }
pad->members.push_back( pad->members.emplace_back(id, v, annotations($1));
unoidl::EnumTypeEntity::Member(id, v, annotations($1)));
} }
| deprecated_opt identifier '=' expr | deprecated_opt identifier '=' expr
{ {
...@@ -1078,8 +1077,7 @@ enumMember: ...@@ -1078,8 +1077,7 @@ enumMember:
YYERROR; YYERROR;
break; break;
} }
pad->members.push_back( pad->members.emplace_back(id, v, annotations($1));
unoidl::EnumTypeEntity::Member(id, v, annotations($1)));
} }
; ;
...@@ -1399,9 +1397,7 @@ structMember: ...@@ -1399,9 +1397,7 @@ structMember:
p->entity.get()); p->entity.get());
} }
} }
p1->members.push_back( p1->members.emplace_back(id, t.getName(), annotations($1));
unoidl::PlainStructTypeEntity::Member(
id, t.getName(), annotations($1)));
} else { } else {
unoidl::detail::SourceProviderPolymorphicStructTypeTemplateEntityPad * unoidl::detail::SourceProviderPolymorphicStructTypeTemplateEntityPad *
p2 = dynamic_cast<unoidl::detail::SourceProviderPolymorphicStructTypeTemplateEntityPad *>( p2 = dynamic_cast<unoidl::detail::SourceProviderPolymorphicStructTypeTemplateEntityPad *>(
...@@ -1420,12 +1416,10 @@ structMember: ...@@ -1420,12 +1416,10 @@ structMember:
YYERROR; YYERROR;
} }
} }
p2->members.push_back( p2->members.emplace_back(
unoidl::PolymorphicStructTypeTemplateEntity::Member( id, t.getName(),
id, t.getName(), t.type == unoidl::detail::SourceProviderType::TYPE_PARAMETER,
(t.type annotations($1));
== unoidl::detail::SourceProviderType::TYPE_PARAMETER),
annotations($1)));
} else { } else {
unoidl::detail::SourceProviderExceptionTypeEntityPad * p3 unoidl::detail::SourceProviderExceptionTypeEntityPad * p3
= dynamic_cast<unoidl::detail::SourceProviderExceptionTypeEntityPad *>( = dynamic_cast<unoidl::detail::SourceProviderExceptionTypeEntityPad *>(
...@@ -1499,9 +1493,7 @@ structMember: ...@@ -1499,9 +1493,7 @@ structMember:
p->entity.get()); p->entity.get());
} }
} }
p3->members.push_back( p3->members.emplace_back(id, t.getName(), annotations($1));
unoidl::ExceptionTypeEntity::Member(
id, t.getName(), annotations($1)));
} }
} }
} }
...@@ -1625,14 +1617,14 @@ interfaceDefn: ...@@ -1625,14 +1617,14 @@ interfaceDefn:
i(pad->directMandatoryBases.begin()); i(pad->directMandatoryBases.begin());
i != pad->directMandatoryBases.end(); ++i) i != pad->directMandatoryBases.end(); ++i)
{ {
mbases.push_back(unoidl::AnnotatedReference(i->name, i->annotations)); mbases.emplace_back(i->name, i->annotations);
} }
std::vector<unoidl::AnnotatedReference> obases; std::vector<unoidl::AnnotatedReference> obases;
for (std::vector<unoidl::detail::SourceProviderInterfaceTypeEntityPad::DirectBase>::const_iterator for (std::vector<unoidl::detail::SourceProviderInterfaceTypeEntityPad::DirectBase>::const_iterator
i(pad->directOptionalBases.begin()); i(pad->directOptionalBases.begin());
i != pad->directOptionalBases.end(); ++i) i != pad->directOptionalBases.end(); ++i)
{ {
obases.push_back(unoidl::AnnotatedReference(i->name, i->annotations)); obases.emplace_back(i->name, i->annotations);
} }
ent->entity = new unoidl::InterfaceTypeEntity( ent->entity = new unoidl::InterfaceTypeEntity(
pad->isPublished(), mbases, obases, pad->directAttributes, pad->isPublished(), mbases, obases, pad->directAttributes,
...@@ -1760,12 +1752,10 @@ interfaceAttribute: ...@@ -1760,12 +1752,10 @@ interfaceAttribute:
if (!pad->addDirectMember(@4, yyscanner, data, id)) { if (!pad->addDirectMember(@4, yyscanner, data, id)) {
YYERROR; YYERROR;
} }
pad->directAttributes.push_back( pad->directAttributes.emplace_back(
unoidl::InterfaceTypeEntity::Attribute( id, t.getName(), ($2 & unoidl::detail::FLAG_BOUND) != 0,
id, t.getName(), ($2 & unoidl::detail::FLAG_BOUND) != 0, ($2 & unoidl::detail::FLAG_READONLY) != 0,
($2 & unoidl::detail::FLAG_READONLY) != 0, std::vector<OUString>(), std::vector<OUString>(), annotations($1));
std::vector<OUString>(), std::vector<OUString>(),
annotations($1)));
} }
attributeAccessDecls_opt ';' attributeAccessDecls_opt ';'
; ;
...@@ -1842,11 +1832,10 @@ interfaceMethod: ...@@ -1842,11 +1832,10 @@ interfaceMethod:
if (!pad->addDirectMember(@3, yyscanner, data, id)) { if (!pad->addDirectMember(@3, yyscanner, data, id)) {
YYERROR; YYERROR;
} }
pad->directMethods.push_back( pad->directMethods.emplace_back(
unoidl::InterfaceTypeEntity::Method( id, t.getName(),
id, t.getName(), std::vector<unoidl::InterfaceTypeEntity::Method::Parameter>(),
std::vector<unoidl::InterfaceTypeEntity::Method::Parameter>(), std::vector<OUString>(), annotations($1));
std::vector<OUString>(), annotations($1)));
} }
'(' methodParams_opt ')' exceptionSpec_opt ';' '(' methodParams_opt ')' exceptionSpec_opt ';'
{ {
...@@ -1910,8 +1899,7 @@ methodParam: ...@@ -1910,8 +1899,7 @@ methodParam:
YYERROR; YYERROR;
} }
} }
pad->directMethods.back().parameters.push_back( pad->directMethods.back().parameters.emplace_back(id, t.getName(), $2);
unoidl::InterfaceTypeEntity::Method::Parameter(id, t.getName(), $2));
} }
; ;
...@@ -2309,8 +2297,7 @@ constant: ...@@ -2309,8 +2297,7 @@ constant:
YYERROR; YYERROR;
break; break;
} }
pad->members.push_back( pad->members.emplace_back(id, v, annotations($1));
unoidl::ConstantGroupEntity::Member(id, v, annotations($1)));
} }
; ;
...@@ -2396,9 +2383,7 @@ singleInterfaceBasedServiceDefn: ...@@ -2396,9 +2383,7 @@ singleInterfaceBasedServiceDefn:
j(i->parameters.begin()); j(i->parameters.begin());
j != i->parameters.end(); ++j) j != i->parameters.end(); ++j)
{ {
parms.push_back( parms.emplace_back(j->name, j->type.getName(), j->rest);
unoidl::SingleInterfaceBasedServiceEntity::Constructor::Parameter(
j->name, j->type.getName(), j->rest));
} }
ctors.push_back( ctors.push_back(
unoidl::SingleInterfaceBasedServiceEntity::Constructor( unoidl::SingleInterfaceBasedServiceEntity::Constructor(
...@@ -2691,7 +2676,7 @@ serviceBase: ...@@ -2691,7 +2676,7 @@ serviceBase:
YYERROR; YYERROR;
} }
} }
v.push_back(unoidl::AnnotatedReference(name, annotations($1))); v.emplace_back(name, annotations($1));
} }
; ;
...@@ -2770,7 +2755,7 @@ serviceInterfaceBase: ...@@ -2770,7 +2755,7 @@ serviceInterfaceBase:
YYERROR; YYERROR;
} }
} }
v.push_back(unoidl::AnnotatedReference(name, annotations($1))); v.emplace_back(name, annotations($1));
} }
; ;
...@@ -2860,11 +2845,10 @@ serviceProperty: ...@@ -2860,11 +2845,10 @@ serviceProperty:
YYERROR; YYERROR;
} }
} }
pad->directProperties.push_back( pad->directProperties.emplace_back(
unoidl::AccumulationBasedServiceEntity::Property( id, t.getName(),
id, t.getName(), unoidl::AccumulationBasedServiceEntity::Property::Attributes(att),
unoidl::AccumulationBasedServiceEntity::Property::Attributes(att), annotations($1));
annotations($1)));
} }
; ;
......
...@@ -777,10 +777,9 @@ rtl::Reference< Entity > readEntity( ...@@ -777,10 +777,9 @@ rtl::Reference< Entity > readEntity(
// sal_uInt32 to sal_Int32 relies on two's complement // sal_uInt32 to sal_Int32 relies on two's complement
// representation // representation
offset += 4; offset += 4;
mems.push_back( mems.emplace_back(
EnumTypeEntity::Member( memName, memValue,
memName, memValue, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
return new EnumTypeEntity( return new EnumTypeEntity(
published, mems, readAnnotations(annotated, file, offset)); published, mems, readAnnotations(annotated, file, offset));
...@@ -814,10 +813,9 @@ rtl::Reference< Entity > readEntity( ...@@ -814,10 +813,9 @@ rtl::Reference< Entity > readEntity(
checkEntityName(file, memName); checkEntityName(file, memName);
OUString memType(file->readIdxName(&offset)); OUString memType(file->readIdxName(&offset));
checkTypeName(file, memType); checkTypeName(file, memType);
mems.push_back( mems.emplace_back(
PlainStructTypeEntity::Member( memName, memType,
memName, memType, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
return new PlainStructTypeEntity( return new PlainStructTypeEntity(
published, base, mems, published, base, mems,
...@@ -862,10 +860,9 @@ rtl::Reference< Entity > readEntity( ...@@ -862,10 +860,9 @@ rtl::Reference< Entity > readEntity(
+ " for member " + memName + " for member " + memName
+ " of polymorphic struct type template")); + " of polymorphic struct type template"));
} }
mems.push_back( mems.emplace_back(
PolymorphicStructTypeTemplateEntity::Member( memName, memType, v == 1,
memName, memType, v == 1, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
return new PolymorphicStructTypeTemplateEntity( return new PolymorphicStructTypeTemplateEntity(
published, params, mems, published, params, mems,
...@@ -899,10 +896,9 @@ rtl::Reference< Entity > readEntity( ...@@ -899,10 +896,9 @@ rtl::Reference< Entity > readEntity(
checkEntityName(file, memName); checkEntityName(file, memName);
OUString memType(file->readIdxName(&offset)); OUString memType(file->readIdxName(&offset));
checkTypeName(file, memType); checkTypeName(file, memType);
mems.push_back( mems.emplace_back(
ExceptionTypeEntity::Member( memName, memType,
memName, memType, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
return new ExceptionTypeEntity( return new ExceptionTypeEntity(
published, base, mems, published, base, mems,
...@@ -922,10 +918,8 @@ rtl::Reference< Entity > readEntity( ...@@ -922,10 +918,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
mandBases.push_back( mandBases.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
n = file->read32(offset); n = file->read32(offset);
if (n > SAL_MAX_INT32) { if (n > SAL_MAX_INT32) {
...@@ -939,10 +933,8 @@ rtl::Reference< Entity > readEntity( ...@@ -939,10 +933,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
optBases.push_back( optBases.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
sal_uInt32 nAttrs = file->read32(offset); sal_uInt32 nAttrs = file->read32(offset);
if (nAttrs > SAL_MAX_INT32) { if (nAttrs > SAL_MAX_INT32) {
...@@ -997,11 +989,10 @@ rtl::Reference< Entity > readEntity( ...@@ -997,11 +989,10 @@ rtl::Reference< Entity > readEntity(
setExcs.push_back(exc); setExcs.push_back(exc);
} }
} }
attrs.push_back( attrs.emplace_back(
InterfaceTypeEntity::Attribute( attrName, attrType, (v & 0x01) != 0, (v & 0x02) != 0,
attrName, attrType, (v & 0x01) != 0, (v & 0x02) != 0, getExcs, setExcs,
getExcs, setExcs, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
sal_uInt32 nMeths = file->read32(offset); sal_uInt32 nMeths = file->read32(offset);
if (nMeths > SAL_MAX_INT32 - nAttrs) { if (nMeths > SAL_MAX_INT32 - nAttrs) {
...@@ -1055,9 +1046,7 @@ rtl::Reference< Entity > readEntity( ...@@ -1055,9 +1046,7 @@ rtl::Reference< Entity > readEntity(
+ paramName + " for method " + methName + paramName + " for method " + methName
+ " of interface type")); + " of interface type"));
} }
params.push_back( params.emplace_back(paramName, paramType, dir);
InterfaceTypeEntity::Method::Parameter(
paramName, paramType, dir));
} }
std::vector< OUString > excs; std::vector< OUString > excs;
m = file->read32(offset); m = file->read32(offset);
...@@ -1073,10 +1062,9 @@ rtl::Reference< Entity > readEntity( ...@@ -1073,10 +1062,9 @@ rtl::Reference< Entity > readEntity(
checkTypeName(file, exc); checkTypeName(file, exc);
excs.push_back(exc); excs.push_back(exc);
} }
meths.push_back( meths.emplace_back(
InterfaceTypeEntity::Method( methName, methType, params, excs,
methName, methType, params, excs, readAnnotations(annotated, file, offset, &offset));
readAnnotations(annotated, file, offset, &offset)));
} }
return new InterfaceTypeEntity( return new InterfaceTypeEntity(
published, mandBases, optBases, attrs, meths, published, mandBases, optBases, attrs, meths,
...@@ -1113,10 +1101,9 @@ rtl::Reference< Entity > readEntity( ...@@ -1113,10 +1101,9 @@ rtl::Reference< Entity > readEntity(
sal_uInt32 off = p[i].data.getUnsigned32(); sal_uInt32 off = p[i].data.getUnsigned32();
bool ann; bool ann;
ConstantValue val(readConstant(file, off, &off, &ann)); ConstantValue val(readConstant(file, off, &off, &ann));
mems.push_back( mems.emplace_back(
ConstantGroupEntity::Member( file->readNulName(p[i].name.getUnsigned32()), val,
file->readNulName(p[i].name.getUnsigned32()), val, readAnnotations(ann, file, off));
readAnnotations(ann, file, off)));
} }
return new ConstantGroupEntity( return new ConstantGroupEntity(
published, mems, published, mems,
...@@ -1179,10 +1166,7 @@ rtl::Reference< Entity > readEntity( ...@@ -1179,10 +1166,7 @@ rtl::Reference< Entity > readEntity(
+ paramName + " for constructor " + ctorName + paramName + " for constructor " + ctorName
+ " of single-interface--based service")); + " of single-interface--based service"));
} }
params.push_back( params.emplace_back(paramName, paramType, rest);
SingleInterfaceBasedServiceEntity::Constructor::
Parameter(
paramName, paramType, rest));
} }
std::vector< OUString > excs; std::vector< OUString > excs;
m = file->read32(offset); m = file->read32(offset);
...@@ -1223,10 +1207,8 @@ rtl::Reference< Entity > readEntity( ...@@ -1223,10 +1207,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
mandServs.push_back( mandServs.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
n = file->read32(offset); n = file->read32(offset);
if (n > SAL_MAX_INT32) { if (n > SAL_MAX_INT32) {
...@@ -1240,10 +1222,8 @@ rtl::Reference< Entity > readEntity( ...@@ -1240,10 +1222,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
optServs.push_back( optServs.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
n = file->read32(offset); n = file->read32(offset);
if (n > SAL_MAX_INT32) { if (n > SAL_MAX_INT32) {
...@@ -1257,10 +1237,8 @@ rtl::Reference< Entity > readEntity( ...@@ -1257,10 +1237,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
mandIfcs.push_back( mandIfcs.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
n = file->read32(offset); n = file->read32(offset);
if (n > SAL_MAX_INT32) { if (n > SAL_MAX_INT32) {
...@@ -1274,10 +1252,8 @@ rtl::Reference< Entity > readEntity( ...@@ -1274,10 +1252,8 @@ rtl::Reference< Entity > readEntity(
for (sal_uInt32 i = 0; i != n; ++i) { for (sal_uInt32 i = 0; i != n; ++i) {
OUString base(file->readIdxName(&offset)); OUString base(file->readIdxName(&offset));
checkTypeName(file, base); checkTypeName(file, base);
optIfcs.push_back( optIfcs.emplace_back(
AnnotatedReference( base, readAnnotations(annotated, file, offset, &offset));
base,
readAnnotations(annotated, file, offset, &offset)));
} }
n = file->read32(offset); n = file->read32(offset);
if (n > SAL_MAX_INT32) { if (n > SAL_MAX_INT32) {
...@@ -1302,14 +1278,12 @@ rtl::Reference< Entity > readEntity( ...@@ -1302,14 +1278,12 @@ rtl::Reference< Entity > readEntity(
+ " of property " + propName + " of property " + propName
+ " for accumulation-based servcie")); + " for accumulation-based servcie"));
} }
props.push_back( props.emplace_back(
AccumulationBasedServiceEntity::Property( propName, propType,
propName, propType, static_cast<
static_cast< AccumulationBasedServiceEntity::Property::Attributes >(
AccumulationBasedServiceEntity::Property:: attrs),
Attributes >( readAnnotations(annotated, file, offset, &offset));
attrs),
readAnnotations(annotated, file, offset, &offset)));
} }
return new AccumulationBasedServiceEntity( return new AccumulationBasedServiceEntity(
published, mandServs, optServs, mandIfcs, optIfcs, props, published, mandServs, optServs, mandIfcs, optIfcs, props,
......
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