From 90b2e9507e9d720452792b863b422221fe96d948 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Thu, 29 Jan 2015 22:52:29 +0100 Subject: Unified signature of resolve functions, passing the "owner" to the callback functions in ParserScope::resolve --- src/plugins/xml/XmlParser.cpp | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) (limited to 'src/plugins/xml/XmlParser.cpp') diff --git a/src/plugins/xml/XmlParser.cpp b/src/plugins/xml/XmlParser.cpp index 6e0fea0..5e30fec 100644 --- a/src/plugins/xml/XmlParser.cpp +++ b/src/plugins/xml/XmlParser.cpp @@ -167,13 +167,13 @@ public: // Try to resolve the parent type and set it as parent structure if (!parent.empty()) { - scope().resolve(parent, logger(), - [structType](Handle parent, - Logger &logger) mutable { - structType->setParentStructure( - parent, logger); - }, - structType); + scope().resolve( + parent, structType, logger(), + [](Handle parent, Handle structType, + Logger &logger) { + structType.cast()->setParentStructure( + parent.cast(), logger); + }); } // Descend into the struct type @@ -212,11 +212,10 @@ public: // Try to resolve the type scope().resolve( - type, logger(), - [attribute](Handle type, Logger &logger) mutable { - attribute->setType(type, logger); - }, - attribute); + type, attribute, logger(), + [](Handle type, Handle attribute, Logger &logger) { + attribute.cast()->setType(type.cast(), logger); + }); } void end() override {} @@ -244,11 +243,10 @@ public: // Try to resolve the type scope().resolve( - type, logger(), - [constant](Handle type, Logger &logger) mutable { - constant->setType(type, logger); - }, - constant); + type, constant, logger(), + [](Handle type, Handle constant, Logger &logger) { + constant.cast()->setType(type.cast(), logger); + }); } void end() override {} -- cgit v1.2.3