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

Use emplace_back

Change-Id: I006e3c8f411b480917d9cfb9c4f3d082b79c833d
üst e0b93ef5
...@@ -132,10 +132,8 @@ void checkAttributes(rtl::Reference< TypeManager > const & manager, ...@@ -132,10 +132,8 @@ 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,
i->type,
(unoidl::AccumulationBasedServiceEntity::Property:: (unoidl::AccumulationBasedServiceEntity::Property::
Attributes( Attributes(
((i->bound ((i->bound
...@@ -146,7 +144,7 @@ void checkAttributes(rtl::Reference< TypeManager > const & manager, ...@@ -146,7 +144,7 @@ void checkAttributes(rtl::Reference< TypeManager > const & manager,
? (unoidl::AccumulationBasedServiceEntity:: ? (unoidl::AccumulationBasedServiceEntity::
Property::ATTRIBUTE_READ_ONLY) Property::ATTRIBUTE_READ_ONLY)
: 0)))), : 0)))),
std::vector< OUString >())); 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( translateAnnotations(reader.getReferenceDocumentation(j)));
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( translateAnnotations(reader.getFieldDocumentation(j)));
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(reader.getFieldFlags(j) bool(
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::
Parameter(
reader.getMethodParameterName(j, k), reader.getMethodParameterName(j, k),
(reader.getMethodParameterTypeName(j, k). (reader.getMethodParameterTypeName(j, k).
replace('/', '.')), replace('/', '.')),
(mode & RT_PARAM_REST) != 0)); (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 t.type == unoidl::detail::SourceProviderType::TYPE_PARAMETER,
== unoidl::detail::SourceProviderType::TYPE_PARAMETER), annotations($1));
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>(), std::vector<OUString>(), std::vector<OUString>(), annotations($1));
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));
} }
; ;
......
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