zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #26962
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
Matthias Brantner has proposed merging lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba.
Requested reviews:
Matthias Brantner (matthias-brantner)
For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/feature-setvar-typed/+merge/217313
--
https://code.launchpad.net/~zorba-coders/zorba/feature-setvar-typed/+merge/217313
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'bin/zorbacmd.cpp'
--- bin/zorbacmd.cpp 2014-02-20 00:58:25 +0000
+++ bin/zorbacmd.cpp 2014-04-25 23:04:09 +0000
@@ -250,7 +250,7 @@
dctx->setVariable( i->var_name, doc );
} else {
Item item( zorba->getItemFactory()->createString( i->var_value ) );
- dctx->setVariable( i->var_name, item );
+ dctx->setVariable( i->var_name, item, true );
}
}
catch ( ... ) {
=== modified file 'include/zorba/dynamic_context.h'
--- include/zorba/dynamic_context.h 2013-08-14 08:46:44 +0000
+++ include/zorba/dynamic_context.h 2014-04-25 23:04:09 +0000
@@ -65,7 +65,8 @@
virtual bool
setVariable(
const String& aQName,
- const Item& aItem) = 0;
+ const Item& aItem,
+ bool cast = false) = 0;
/**
* \brief Defines the external variable identified by an expanded QName and
=== modified file 'src/api/dynamiccontextimpl.cpp'
--- src/api/dynamiccontextimpl.cpp 2013-09-16 09:08:27 +0000
+++ src/api/dynamiccontextimpl.cpp 2014-04-25 23:04:09 +0000
@@ -36,6 +36,7 @@
#include "api/item_iter_store.h"
#include "api/dynamiccontextimpl.h"
+#include "compiler/expression/var_expr.h"
#include "compiler/parser/query_loc.h"
#include "compiler/parsetree/parsenodes.h"
#include "compiler/api/compilercb.h"
@@ -46,6 +47,7 @@
#include "store/api/store.h"
#include "store/api/item_factory.h"
#include "store/api/temp_seq.h"
+#include "types/casting.h"
#include "util/xml_util.h"
@@ -380,7 +382,8 @@
********************************************************************************/
bool DynamicContextImpl::setVariable(
const String& inVarName,
- const Item& inValue)
+ const Item& inValue,
+ bool cast)
{
ZORBA_DCTX_TRY
{
@@ -410,6 +413,15 @@
throw;
}
+ if ( cast ) {
+ store::Item_t temp;
+ GenericCast::castToAtomic(
+ temp, value, var->getType(), var->getVar()->get_type_manager(),
+ /*nsCtx*/ nullptr, QueryLoc::null
+ );
+ value = temp;
+ }
+
ulong varId = var->getId();
theCtx->add_variable(varId, value);
=== modified file 'src/api/dynamiccontextimpl.h'
--- src/api/dynamiccontextimpl.h 2013-08-01 07:57:57 +0000
+++ src/api/dynamiccontextimpl.h 2014-04-25 23:04:09 +0000
@@ -96,7 +96,8 @@
virtual bool
setVariable(
const String& inVarName,
- const Item& inValue);
+ const Item& inValue,
+ bool cast = false);
virtual bool
setVariable(
Follow ups
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: noreply, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Zorba Build Bot, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Zorba Build Bot, 2014-04-26
-
Re: [Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Matthias Brantner, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Zorba Build Bot, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Zorba Build Bot, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Zorba Build Bot, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Paul J. Lucas, 2014-04-26
-
Re: [Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Paul J. Lucas, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Paul J. Lucas, 2014-04-26
-
[Merge] lp:~zorba-coders/zorba/feature-setvar-typed into lp:zorba
From: Paul J. Lucas, 2014-04-26