Merge lp:~zorba-coders/zorba/markos-scratch into lp:zorba

Proposed by Markos Zaharioudakis
Status: Merged
Approved by: Markos Zaharioudakis
Approved revision: 11159
Merged at revision: 11531
Proposed branch: lp:~zorba-coders/zorba/markos-scratch
Merge into: lp:zorba
Diff against target: 1045 lines (+233/-176)
9 files modified
ChangeLog (+1/-0)
src/compiler/translator/translator.cpp (+117/-125)
src/diagnostics/diagnostic_en.xml (+69/-19)
src/diagnostics/pregenerated/dict_en.cpp (+21/-9)
src/diagnostics/pregenerated/dict_zed_keys.h (+16/-4)
src/diagnostics/util_macros.h (+0/-5)
src/runtime/core/constructors.cpp (+1/-1)
src/store/naive/nsbindings.cpp (+8/-11)
test/fots/CMakeLists.txt (+0/-2)
To merge this branch: bzr merge lp:~zorba-coders/zorba/markos-scratch
Reviewer Review Type Date Requested Status
Markos Zaharioudakis Approve
Review via email: mp+170572@code.launchpad.net

Commit message

1. Check that namespace uri used in default namespace declaration is a valid one
2. fixed error messages for XQST0070 and XQST0036

Description of the change

1. Check that namespace uri used in default namespace declaration is a valid one
2. fixed error messages for XQST0070 and XQST0036

To post a comment you must log in.
Revision history for this message
Markos Zaharioudakis (markos-za) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

The attempt to merge lp:~zorba-coders/zorba/markos-scratch into lp:zorba failed. Below is the output from the failed tests.

CMake Error at /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake:281 (message):
  Validation queue job markos-scratch-2013-06-20T10-02-14.106Z is finished.
  The final status was:

  4 tests did not succeed - changes not commited.

Error in read script: /home/ceej/zo/testing/zorbatest/tester/TarmacLander.cmake

Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job markos-scratch-2013-06-20T11-36-56.639Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog'
--- ChangeLog 2013-06-19 22:18:54 +0000
+++ ChangeLog 2013-06-20 10:12:27 +0000
@@ -32,6 +32,7 @@
32 * Fixed bug #1103115 (Timezone units as hours are wrong)32 * Fixed bug #1103115 (Timezone units as hours are wrong)
33 * Fixed bug #1188280 (casting xs:id to xs:ncname)33 * Fixed bug #1188280 (casting xs:id to xs:ncname)
34 * Fixed bug in casting to xs:NCName34 * Fixed bug in casting to xs:NCName
35 * Check that namespace uri used in default namespace declaration is a valid one
35 * Fixed bug in error conditions for computed PI constructor36 * Fixed bug in error conditions for computed PI constructor
36 * Fixed implementation of fn:deep-equal according to latest W3C spec.37 * Fixed implementation of fn:deep-equal according to latest W3C spec.
37 * Must apply document ordering on the domain expression of a FOR clause, if38 * Must apply document ordering on the domain expression of a FOR clause, if
3839
=== modified file 'src/compiler/translator/translator.cpp'
--- src/compiler/translator/translator.cpp 2013-06-19 19:27:26 +0000
+++ src/compiler/translator/translator.cpp 2013-06-20 10:12:27 +0000
@@ -178,15 +178,7 @@
178/*******************************************************************************178/*******************************************************************************
179179
180********************************************************************************/180********************************************************************************/
181#define ZANN_CONTAINS( ann ) theAnnotations->contains(AnnotationInternal::ann)181#define ZANN_CONTAINS(ann) theAnnotations->contains(AnnotationInternal::ann)
182
183
184/*******************************************************************************
185 Check/set certain bool data members of TranslatorImpl: raise error if true
186 already otherwise set to true.
187********************************************************************************/
188#define CHK_SINGLE_DECL( state, err ) \
189do { if (state) throw XQUERY_EXCEPTION(err); state = true; } while (0)
190182
191183
192/*******************************************************************************184/*******************************************************************************
@@ -2204,19 +2196,22 @@
2204#ifndef ZORBA_NO_XMLSCHEMA2196#ifndef ZORBA_NO_XMLSCHEMA
22052197
2206 if (! theImportedSchemas.insert(targetNS.str()).second)2198 if (! theImportedSchemas.insert(targetNS.str()).second)
2207 throw XQUERY_EXCEPTION(err::XQST0058, ERROR_LOC(loc));2199 RAISE_ERROR(err::XQST0058, loc, ERROR_PARAMS(targetNS));
22082200
2209 if (prefix != NULL)2201 if (prefix != NULL)
2210 {2202 {
2211 if (!prefix->get_default_bit() && targetNS.empty())2203 if (!prefix->get_default_bit() && targetNS.empty())
2212 {2204 {
2213 throw XQUERY_EXCEPTION( err::XQST0057, ERROR_LOC(loc));2205 RAISE_ERROR_NO_PARAMS(err::XQST0057, loc);
2214 }2206 }
22152207
2216 zstring pfx = prefix->get_prefix();2208 zstring pfx = prefix->get_prefix();
22172209
2218 if (pfx == "xml" || pfx == "xmlns")2210 if (pfx == "xml" || pfx == "xmlns")
2219 RAISE_ERROR(err::XQST0070, loc, ERROR_PARAMS(pfx, ZED(NoRebindPrefix)));2211 {
2212 RAISE_ERROR(err::XQST0070, loc,
2213 ERROR_PARAMS(ZED(XQST0070_ReservedPrefixInImport_2), pfx));
2214 }
22202215
2221 if (prefix->get_default_bit())2216 if (prefix->get_default_bit())
2222 theSctx->set_default_elem_type_ns(targetNS, true, loc);2217 theSctx->set_default_elem_type_ns(targetNS, true, loc);
@@ -2226,7 +2221,7 @@
2226 }2221 }
22272222
2228 zstring xsdTNS = zstring(XML_SCHEMA_NS);2223 zstring xsdTNS = zstring(XML_SCHEMA_NS);
2229 if ( xsdTNS.compare(targetNS)==0 )2224 if (xsdTNS.compare(targetNS) == 0)
2230 {2225 {
2231 // Xerces doesn't like importing XMLSchema.xsd schema4schema, so we skip it2226 // Xerces doesn't like importing XMLSchema.xsd schema4schema, so we skip it
2232 // see Xerces-C++ bug: https://issues.apache.org/jira/browse/XERCESC-19802227 // see Xerces-C++ bug: https://issues.apache.org/jira/browse/XERCESC-1980
@@ -2301,7 +2296,7 @@
2301 return no_state;2296 return no_state;
23022297
2303#else2298#else
2304 throw XQUERY_EXCEPTION(err::XQST0009, ERROR_LOC(loc));2299 RAISE_ERROR_NO_PARAMS(err::XQST0009, loc);
2305#endif2300#endif
2306}2301}
23072302
@@ -2358,7 +2353,7 @@
2358 return no_state;2353 return no_state;
23592354
2360#else2355#else
2361 throw XQUERY_EXCEPTION(err::XQST0009, ERROR_LOC(aLoc));2356 RAISE_ERROR_NO_PARAMS(err::XQST0009, aLoc);
2362#endif2357#endif
2363}2358}
23642359
@@ -2801,7 +2796,7 @@
2801 theModuleNamespace = v.get_target_namespace();2796 theModuleNamespace = v.get_target_namespace();
28022797
2803 if (theModuleNamespace.empty())2798 if (theModuleNamespace.empty())
2804 throw XQUERY_EXCEPTION(err::XQST0088, ERROR_LOC(loc));2799 RAISE_ERROR_NO_PARAMS(err::XQST0088, loc);
28052800
2806 if (static_context::is_reserved_module(theModuleNamespace))2801 if (static_context::is_reserved_module(theModuleNamespace))
2807 {2802 {
@@ -2812,7 +2807,7 @@
2812 if (theModulePrefix == "xml" || theModulePrefix == "xmlns")2807 if (theModulePrefix == "xml" || theModulePrefix == "xmlns")
2813 {2808 {
2814 RAISE_ERROR(err::XQST0070, loc,2809 RAISE_ERROR(err::XQST0070, loc,
2815 ERROR_PARAMS(theModulePrefix, ZED(NoRebindPrefix)));2810 ERROR_PARAMS(ZED(XQST0070_ReservedPrefixInModule_2), theModulePrefix));
2816 }2811 }
28172812
2818 theSctx->bind_ns(theModulePrefix, theModuleNamespace, loc);2813 theSctx->bind_ns(theModulePrefix, theModuleNamespace, loc);
@@ -2998,7 +2993,12 @@
2998void* begin_visit(const BoundarySpaceDecl& v)2993void* begin_visit(const BoundarySpaceDecl& v)
2999{2994{
3000 TRACE_VISIT();2995 TRACE_VISIT();
3001 CHK_SINGLE_DECL (hadBSpaceDecl, err::XQST0068);2996
2997 if (hadBSpaceDecl)
2998 RAISE_ERROR_NO_PARAMS(err::XQST0068, loc);
2999
3000 hadBSpaceDecl = true;
3001
3002 theSctx->set_boundary_space_mode(v.get_boundary_space_mode());3002 theSctx->set_boundary_space_mode(v.get_boundary_space_mode());
3003 return NULL;3003 return NULL;
3004}3004}
@@ -3015,7 +3015,12 @@
3015void* begin_visit(const OrderingModeDecl& v)3015void* begin_visit(const OrderingModeDecl& v)
3016{3016{
3017 TRACE_VISIT();3017 TRACE_VISIT();
3018 CHK_SINGLE_DECL(hadOrdModeDecl, err::XQST0065);3018
3019 if (hadOrdModeDecl)
3020 RAISE_ERROR_NO_PARAMS(err::XQST0065, loc);
3021
3022 hadOrdModeDecl = true;
3023
3019 theSctx->set_ordering_mode(v.get_mode());3024 theSctx->set_ordering_mode(v.get_mode());
3020 return NULL;3025 return NULL;
3021}3026}
@@ -3035,7 +3040,10 @@
3035{3040{
3036 TRACE_VISIT();3041 TRACE_VISIT();
30373042
3038 CHK_SINGLE_DECL(hadEmptyOrdDecl, err::XQST0069);3043 if (hadEmptyOrdDecl)
3044 RAISE_ERROR_NO_PARAMS(err::XQST0069, loc);
3045
3046 hadEmptyOrdDecl = true;
30393047
3040 theSctx->set_empty_order_mode(v.get_mode());3048 theSctx->set_empty_order_mode(v.get_mode());
3041 return no_state;3049 return no_state;
@@ -3056,7 +3064,12 @@
3056void* begin_visit(const CopyNamespacesDecl& v)3064void* begin_visit(const CopyNamespacesDecl& v)
3057{3065{
3058 TRACE_VISIT();3066 TRACE_VISIT();
3059 CHK_SINGLE_DECL(hadCopyNSDecl, err::XQST0055);3067
3068 if (hadCopyNSDecl)
3069 RAISE_ERROR_NO_PARAMS(err::XQST0055, loc);
3070
3071 hadCopyNSDecl = true;
3072
3060 return no_state;3073 return no_state;
3061}3074}
30623075
@@ -3090,7 +3103,7 @@
3090 }3103 }
30913104
3092 theSctx->add_decimal_format(3105 theSctx->add_decimal_format(
3093 new DecimalFormat( v.is_default, qnameItem, v.param_list, loc ), loc3106 new DecimalFormat(v.is_default, qnameItem, v.param_list, loc), loc
3094 );3107 );
30953108
3096 return no_state;3109 return no_state;
@@ -3126,7 +3139,10 @@
3126{3139{
3127 TRACE_VISIT();3140 TRACE_VISIT();
31283141
3129 CHK_SINGLE_DECL(hadBUriDecl, err::XQST0032);3142 if (hadBUriDecl)
3143 RAISE_ERROR_NO_PARAMS(err::XQST0032, loc);
3144
3145 hadBUriDecl = true;
31303146
3131 zstring uri(v.get_base_uri());3147 zstring uri(v.get_base_uri());
3132 try3148 try
@@ -3135,8 +3151,8 @@
3135 }3151 }
3136 catch (ZorbaException& e)3152 catch (ZorbaException& e)
3137 {3153 {
3138 e.set_diagnostic( err::XQST0046 );3154 e.set_diagnostic(err::XQST0046);
3139 set_source( e, loc );3155 set_source(e, loc);
3140 throw;3156 throw;
3141 }3157 }
3142 return NULL;3158 return NULL;
@@ -3157,7 +3173,11 @@
3157{3173{
3158 TRACE_VISIT();3174 TRACE_VISIT();
31593175
3160 CHK_SINGLE_DECL(hadConstrDecl, err::XQST0067);3176 if (hadConstrDecl)
3177 RAISE_ERROR_NO_PARAMS(err::XQST0067, loc);
3178
3179 hadConstrDecl = true;
3180
3161 theSctx->set_construction_mode(v.get_mode());3181 theSctx->set_construction_mode(v.get_mode());
3162 return NULL;3182 return NULL;
3163}3183}
@@ -3175,7 +3195,11 @@
3175{3195{
3176 TRACE_VISIT();3196 TRACE_VISIT();
31773197
3178 CHK_SINGLE_DECL (hadBUriDecl, err::XUST0003);3198 if (hadRevalDecl)
3199 RAISE_ERROR_NO_PARAMS(err::XUST0003, loc);
3200
3201 hadRevalDecl = true;
3202
3179 theSctx->set_validation_mode(v.get_mode());3203 theSctx->set_validation_mode(v.get_mode());
3180 return no_state;3204 return no_state;
3181}3205}
@@ -3198,19 +3222,13 @@
31983222
3199 if (pre == "xml" || pre == "xmlns")3223 if (pre == "xml" || pre == "xmlns")
3200 {3224 {
3201 throw XQUERY_EXCEPTION(3225 RAISE_ERROR(err::XQST0070, loc,
3202 err::XQST0070,3226 ERROR_PARAMS(ZED(XQST0070_ReservedPrefixInDecl_2), pre));
3203 ERROR_PARAMS( pre, ZED( NoRebindPrefix ) ),
3204 ERROR_LOC( loc )
3205 );
3206 }3227 }
3207 else if (uri == XML_NS || uri == XMLNS_NS)3228 else if (uri == XML_NS || uri == XMLNS_NS)
3208 {3229 {
3209 throw XQUERY_EXCEPTION(3230 RAISE_ERROR(err::XQST0070, loc,
3210 err::XQST0070,3231 ERROR_PARAMS(ZED(XQST0070_ReservedURI_23), pre, uri));
3211 ERROR_PARAMS( uri, ZED( NoBindURI ) ),
3212 ERROR_LOC( loc )
3213 );
3214 }3232 }
32153233
3216 theSctx->bind_ns(pre, uri, loc);3234 theSctx->bind_ns(pre, uri, loc);
@@ -3232,13 +3250,21 @@
3232{3250{
3233 TRACE_VISIT();3251 TRACE_VISIT();
32343252
3253 zstring uri = v.get_default_namespace();
3254
3255 if (uri == XML_NS || uri == XMLNS_NS)
3256 {
3257 RAISE_ERROR(err::XQST0070, loc,
3258 ERROR_PARAMS(ZED(XQST0070_ReservedURI_23), "", uri));
3259 }
3260
3235 switch (v.get_mode())3261 switch (v.get_mode())
3236 {3262 {
3237 case ParseConstants::ns_element_default:3263 case ParseConstants::ns_element_default:
3238 theSctx->set_default_elem_type_ns(v.get_default_namespace(), true, loc);3264 theSctx->set_default_elem_type_ns(uri, true, loc);
3239 break;3265 break;
3240 case ParseConstants::ns_function_default:3266 case ParseConstants::ns_function_default:
3241 theSctx->set_default_function_ns(v.get_default_namespace(), true, loc);3267 theSctx->set_default_function_ns(uri, true, loc);
3242 break;3268 break;
3243 }3269 }
3244 return NULL;3270 return NULL;
@@ -3553,7 +3579,7 @@
3553 importedNS = mod_ast->get_decl()->get_target_namespace().str();3579 importedNS = mod_ast->get_decl()->get_target_namespace().str();
35543580
3555 if (importedNS.empty())3581 if (importedNS.empty())
3556 throw XQUERY_EXCEPTION(err::XQST0088, ERROR_LOC(loc));3582 RAISE_ERROR_NO_PARAMS(err::XQST0088, loc);
35573583
3558 if (importedNS != targetNS)3584 if (importedNS != targetNS)
3559 {3585 {
@@ -3644,16 +3670,16 @@
3644 }3670 }
36453671
3646 // The namespace prefix specified in a module import must not be xml or xmlns3672 // The namespace prefix specified in a module import must not be xml or xmlns
3647 // [err:XQST0070]3673 if (pfx == "xml" || pfx == "xmlns")
3648 if (!pfx.empty() && (pfx == "xml" || pfx == "xmlns"))
3649 {3674 {
3650 RAISE_ERROR(err::XQST0070, loc, ERROR_PARAMS(pfx, ZED(NoRebindPrefix)));3675 RAISE_ERROR(err::XQST0070, loc,
3676 ERROR_PARAMS(ZED(XQST0070_ReservedPrefixInImport_2), pfx));
3651 }3677 }
36523678
3653 // The first URILiteral in a module import must be of nonzero length3679 // The first URILiteral in a module import must be of nonzero length
3654 // [err:XQST0088]3680 // [err:XQST0088]
3655 if (targetNS.empty())3681 if (targetNS.empty())
3656 throw XQUERY_EXCEPTION(err::XQST0088, ERROR_LOC(loc));3682 RAISE_ERROR_NO_PARAMS(err::XQST0088, loc);
36573683
3658 // It is a static error [err:XQST0047] if more than one module import in a3684 // It is a static error [err:XQST0047] if more than one module import in a
3659 // Prolog specifies the same target namespace. Note: by checking this here,3685 // Prolog specifies the same target namespace. Note: by checking this here,
@@ -5498,20 +5524,14 @@
54985524
5499 if ( !theSctx->is_feature_set(feature::ddl) )5525 if ( !theSctx->is_feature_set(feature::ddl) )
5500 {5526 {
5501 throw XQUERY_EXCEPTION(5527 RAISE_ERROR(zerr::ZXQP0050_FEATURE_NOT_AVAILABLE, v.get_location(),
5502 zerr::ZXQP0050_FEATURE_NOT_AVAILABLE,5528 ERROR_PARAMS("data-definition (ddl)"));
5503 ERROR_PARAMS( "data-definition (ddl)" ),
5504 ERROR_LOC( v.get_location() )
5505 );
5506 }5529 }
55075530
5508 if (!inLibraryModule())5531 if (!inLibraryModule())
5509 {5532 {
5510 throw XQUERY_EXCEPTION(5533 RAISE_ERROR(zerr::ZDST0044_IC_DECL_IN_MAIN_MODULE, loc,
5511 zerr::ZDST0044_IC_DECL_IN_MAIN_MODULE,5534 ERROR_PARAMS(v.getName()->get_qname()));
5512 ERROR_PARAMS( v.getName()->get_qname() ),
5513 ERROR_LOC( loc )
5514 );
5515 }5535 }
55165536
5517 push_scope();5537 push_scope();
@@ -6171,11 +6191,8 @@
61716191
6172 if (qnameItem->getNamespace() != theModuleNamespace)6192 if (qnameItem->getNamespace() != theModuleNamespace)
6173 {6193 {
6174 throw XQUERY_EXCEPTION(6194 RAISE_ERROR(zerr::ZDST0048_IC_DECL_IN_FOREIGN_MODULE, loc,
6175 zerr::ZDST0048_IC_DECL_IN_FOREIGN_MODULE,6195 ERROR_PARAMS(qname->get_qname()));
6176 ERROR_PARAMS( qname->get_qname() ),
6177 ERROR_LOC( loc )
6178 );
6179 }6196 }
61806197
6181 ValueIC_t vic;6198 ValueIC_t vic;
@@ -7032,7 +7049,7 @@
7032 expr* domainExpr = pop_nodestack();7049 expr* domainExpr = pop_nodestack();
70337050
7034 if (domainExpr->is_updating())7051 if (domainExpr->is_updating())
7035 throw XQUERY_EXCEPTION(err::XUST0001, ERROR_LOC(loc));7052 RAISE_ERROR_NO_PARAMS(err::XUST0001, loc);
70367053
7037 // it's important to insert the debugger before the scope is pushed.7054 // it's important to insert the debugger before the scope is pushed.
7038 // Otherwise, the variable in question would already be in scope for7055 // Otherwise, the variable in question would already be in scope for
@@ -7136,7 +7153,7 @@
7136 xqtref_t type)7153 xqtref_t type)
7137{7154{
7138 if (domainExpr->is_updating())7155 if (domainExpr->is_updating())
7139 throw XQUERY_EXCEPTION(err::XUST0001, ERROR_LOC(loc));7156 RAISE_ERROR_NO_PARAMS(err::XUST0001, loc);
71407157
7141 // it's important to insert the debugger before the scope is pushed.7158 // it's important to insert the debugger before the scope is pushed.
7142 // Otherwise, the variable in question would already be in scope for7159 // Otherwise, the variable in question would already be in scope for
@@ -7773,7 +7790,7 @@
7773 expr* orderExpr = pop_nodestack();7790 expr* orderExpr = pop_nodestack();
77747791
7775 if (orderExpr->is_updating())7792 if (orderExpr->is_updating())
7776 throw XQUERY_EXCEPTION(err::XUST0001, ERROR_LOC(loc));7793 RAISE_ERROR_NO_PARAMS(err::XUST0001, loc);
77777794
7778 orderExpr = wrap_in_atomization(orderExpr);7795 orderExpr = wrap_in_atomization(orderExpr);
77797796
@@ -7896,7 +7913,7 @@
7896 expr* whereExpr = pop_nodestack();7913 expr* whereExpr = pop_nodestack();
78977914
7898 if (whereExpr->is_updating())7915 if (whereExpr->is_updating())
7899 throw XQUERY_EXCEPTION(err::XUST0001, ERROR_LOC(loc));7916 RAISE_ERROR_NO_PARAMS(err::XUST0001, loc);
79007917
7901 whereExpr = wrap_in_bev(whereExpr);7918 whereExpr = wrap_in_bev(whereExpr);
79027919
@@ -9547,7 +9564,7 @@
95479564
9548 if (v.get_expr() == NULL)9565 if (v.get_expr() == NULL)
9549 {9566 {
9550 throw XQUERY_EXCEPTION( err::XQST0079, ERROR_LOC(loc) );9567 RAISE_ERROR_NO_PARAMS(err::XQST0079, loc);
9551 }9568 }
95529569
9553 return no_state;9570 return no_state;
@@ -11309,17 +11326,15 @@
11309 if (theModuleNamespace.empty())11326 if (theModuleNamespace.empty())
11310 {11327 {
11311 RAISE_ERROR(err::XPTY0004, loc,11328 RAISE_ERROR(err::XPTY0004, loc,
11312 ERROR_PARAMS(ZED(BadType_23o),11329 ERROR_PARAMS(ZED(XPTY0004_NoVarTypeInMainModule_23),
11313 *declaredType,11330 *declaredType,
11314 ZED(NoTypeInMainModule_4),
11315 ve->get_name()->getStringValue()));11331 ve->get_name()->getStringValue()));
11316 }11332 }
11317 else11333 else
11318 {11334 {
11319 RAISE_ERROR(err::XPTY0004, loc,11335 RAISE_ERROR(err::XPTY0004, loc,
11320 ERROR_PARAMS(ZED(BadType_23o),11336 ERROR_PARAMS(ZED(XPTY0004_NoVarTypeInModule_234),
11321 *declaredType,11337 *declaredType,
11322 ZED(NoTypeInModule_45),
11323 ve->get_name()->getStringValue(),11338 ve->get_name()->getStringValue(),
11324 theModuleNamespace));11339 theModuleNamespace));
11325 }11340 }
@@ -11329,17 +11344,15 @@
11329 if (theModuleNamespace.empty())11344 if (theModuleNamespace.empty())
11330 {11345 {
11331 RAISE_ERROR(err::XQST0036, loc,11346 RAISE_ERROR(err::XQST0036, loc,
11332 ERROR_PARAMS(ZED(BadType_23o),11347 ERROR_PARAMS(ZED(XQST0036_NoVarTypeInMainModule_23),
11333 *declaredType,11348 *declaredType,
11334 ZED(NoTypeInMainModule_4),
11335 ve->get_name()->getStringValue()));11349 ve->get_name()->getStringValue()));
11336 }11350 }
11337 else11351 else
11338 {11352 {
11339 RAISE_ERROR(err::XQST0036, loc,11353 RAISE_ERROR(err::XQST0036, loc,
11340 ERROR_PARAMS(ZED(BadType_23o),11354 ERROR_PARAMS(ZED(XQST0036_NoVarTypeInModule_234),
11341 *declaredType,11355 *declaredType,
11342 ZED(NoTypeInModule_45),
11343 ve->get_name()->getStringValue(),11356 ve->get_name()->getStringValue(),
11344 theModuleNamespace));11357 theModuleNamespace));
11345 }11358 }
@@ -11566,17 +11579,15 @@
11566 if (theModuleNamespace.empty())11579 if (theModuleNamespace.empty())
11567 {11580 {
11568 RAISE_ERROR(err::XQST0036, loc,11581 RAISE_ERROR(err::XQST0036, loc,
11569 ERROR_PARAMS(ZED(BadType_23o),11582 ERROR_PARAMS(ZED(XQST0036_NoRetTypeInMainModule_23),
11570 *retType,11583 *retType,
11571 ZED(NoTypeInMainModule_4),
11572 f->getName()->getStringValue()));11584 f->getName()->getStringValue()));
11573 }11585 }
11574 else11586 else
11575 {11587 {
11576 RAISE_ERROR(err::XQST0036, loc,11588 RAISE_ERROR(err::XQST0036, loc,
11577 ERROR_PARAMS(ZED(BadType_23o),11589 ERROR_PARAMS(ZED(XQST0036_NoRetTypeInModule_234),
11578 *retType,11590 *retType,
11579 ZED(NoTypeInModule_45),
11580 f->getName()->getStringValue(),11591 f->getName()->getStringValue(),
11581 theModuleNamespace));11592 theModuleNamespace));
11582 }11593 }
@@ -11594,17 +11605,15 @@
11594 if (theModuleNamespace.empty())11605 if (theModuleNamespace.empty())
11595 {11606 {
11596 RAISE_ERROR(err::XQST0036, loc,11607 RAISE_ERROR(err::XQST0036, loc,
11597 ERROR_PARAMS(ZED(BadType_23o),11608 ERROR_PARAMS(ZED(XQST0036_NoParamTypeInMainModule_23),
11598 *type,11609 *type,
11599 ZED(NoTypeInMainModule_4),
11600 f->getName()->getStringValue()));11610 f->getName()->getStringValue()));
11601 }11611 }
11602 else11612 else
11603 {11613 {
11604 RAISE_ERROR(err::XQST0036, loc,11614 RAISE_ERROR(err::XQST0036, loc,
11605 ERROR_PARAMS(ZED(BadType_23o),11615 ERROR_PARAMS(ZED(XQST0036_NoParamTypeInModule_234),
11606 *retType,11616 *retType,
11607 ZED(NoTypeInModule_45),
11608 f->getName()->getStringValue(),11617 f->getName()->getStringValue(),
11609 theModuleNamespace));11618 theModuleNamespace));
11610 }11619 }
@@ -13467,9 +13476,10 @@
13467 {13476 {
13468 prefix = qname->get_localname();13477 prefix = qname->get_localname();
1346913478
13470 if (ZSTREQ(prefix, "xmlns"))13479 if (prefix == "xmlns")
13471 RAISE_ERROR(err::XQST0070, loc,13480 {
13472 ERROR_PARAMS(prefix, ZED(NoRebindPrefix)));13481 RAISE_ERROR(err::XQST0070, loc, ERROR_PARAMS(ZED(XQST0070_xmlnsInAttrDecl)));
13482 }
13473 }13483 }
1347413484
13475 const_expr* constValueExpr = dynamic_cast<const_expr*>(valueExpr);13485 const_expr* constValueExpr = dynamic_cast<const_expr*>(valueExpr);
@@ -13499,10 +13509,11 @@
13499 foExpr2->get_func()->getKind() == FunctionConsts::OP_ENCLOSED_1 &&13509 foExpr2->get_func()->getKind() == FunctionConsts::OP_ENCLOSED_1 &&
13500 (qname->get_qname() == "xmlns" || qname->get_prefix() == "xmlns"))13510 (qname->get_qname() == "xmlns" || qname->get_prefix() == "xmlns"))
13501 {13511 {
13502 throw XQUERY_EXCEPTION(err::XQST0022, ERROR_LOC(loc));13512 RAISE_ERROR_NO_PARAMS(err::XQST0022, loc);
13503 }13513 }
13504 }13514 }
13505 }13515 }
13516
13506 have_uri = true;13517 have_uri = true;
13507 }13518 }
1350813519
@@ -13511,13 +13522,14 @@
13511 if ((ZSTREQ(prefix, "xml") && !ZSTREQ(uri, XML_NS)))13522 if ((ZSTREQ(prefix, "xml") && !ZSTREQ(uri, XML_NS)))
13512 {13523 {
13513 RAISE_ERROR(err::XQST0070, loc,13524 RAISE_ERROR(err::XQST0070, loc,
13514 ERROR_PARAMS(prefix, ZED(NoRebindPrefix)));13525 ERROR_PARAMS(ZED(XQST0070_ReservedPrefix_23), prefix, uri));
13515 }13526 }
1351613527
13517 if ((ZSTREQ(uri, XML_NS) && !ZSTREQ(prefix, "xml")) ||13528 if ((ZSTREQ(uri, XML_NS) && !ZSTREQ(prefix, "xml")) ||
13518 ZSTREQ(uri, XMLNS_NS))13529 ZSTREQ(uri, XMLNS_NS))
13519 {13530 {
13520 RAISE_ERROR(err::XQST0070, loc, ERROR_PARAMS(uri, ZED(NoBindURI)));13531 RAISE_ERROR(err::XQST0070, loc,
13532 ERROR_PARAMS(ZED(XQST0070_ReservedURI_23), prefix, uri));
13521 }13533 }
1352213534
13523 URI parsedUri(uri);13535 URI parsedUri(uri);
@@ -13533,7 +13545,7 @@
13533 if (ZSTREQ(prefix, "xml"))13545 if (ZSTREQ(prefix, "xml"))
13534 {13546 {
13535 RAISE_ERROR(err::XQST0070, loc,13547 RAISE_ERROR(err::XQST0070, loc,
13536 ERROR_PARAMS(prefix, ZED(NoRebindPrefix)));13548 ERROR_PARAMS(ZED(XQST0070_ReservedPrefix_23), prefix, ""));
13537 }13549 }
1353813550
13539 // unbind the prefix13551 // unbind the prefix
@@ -13546,7 +13558,7 @@
13546 }13558 }
13547 else13559 else
13548 {13560 {
13549 throw XQUERY_EXCEPTION(err::XQST0022, ERROR_LOC(loc));13561 RAISE_ERROR_NO_PARAMS(err::XQST0022, loc);
13550 }13562 }
13551 }13563 }
13552 // Plain direct attribute13564 // Plain direct attribute
@@ -14929,17 +14941,17 @@
14929 // whose PITarget is equal to fn:normalize-space(N). If fn:normalize-space(N)14941 // whose PITarget is equal to fn:normalize-space(N). If fn:normalize-space(N)
14930 // is not in the lexical space of NCName, a type error is raised [err:XPTY0004]14942 // is not in the lexical space of NCName, a type error is raised [err:XPTY0004]
1493114943
14932 zstring lNormalizedTarget;14944 zstring normalizedTarget;
14933 ascii::normalize_space(target, &lNormalizedTarget);14945 ascii::normalize_space(target, &normalizedTarget);
1493414946
14935 if (!GenericCast::castableToNCName(lNormalizedTarget))14947 if (!GenericCast::castableToNCName(normalizedTarget))
14936 {14948 {
14937 RAISE_ERROR(err::XPTY0004, loc,14949 RAISE_ERROR(err::XPTY0004, loc,
14938 ERROR_PARAMS(ZED(BadType_23o), lNormalizedTarget, ZED(NoCastTo_45o), "NCName"));14950 ERROR_PARAMS(ZED(XPTY0004_ValueNoCastTo_23), normalizedTarget, "xs:NCName"));
14939 }14951 }
1494014952
14941 // bugfix (see above); pass normalized string instead of original target14953 // bugfix (see above); pass normalized string instead of original target
14942 GENV_ITEMFACTORY->createQName(qname, NULL, NULL, lNormalizedTarget.c_str());14954 GENV_ITEMFACTORY->createQName(qname, NULL, NULL, normalizedTarget.c_str());
14943 }14955 }
1494414956
14945 if (axisExpr != NULL)14957 if (axisExpr != NULL)
@@ -15472,7 +15484,7 @@
15472 expr* sourceExpr = pop_nodestack();15484 expr* sourceExpr = pop_nodestack();
1547315485
15474 if (sourceExpr->is_updating())15486 if (sourceExpr->is_updating())
15475 throw XQUERY_EXCEPTION(err::XUST0001, ERROR_LOC(loc));15487 RAISE_ERROR_NO_PARAMS(err::XUST0001, loc);
1547615488
15477 push_scope();15489 push_scope();
1547815490
@@ -15592,9 +15604,7 @@
15592 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );15604 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
15593 ZORBA_ASSERT( mo );15605 ZORBA_ASSERT( mo );
15594 if ( mo->get_case_option() )15606 if ( mo->get_case_option() )
15595 throw XQUERY_EXCEPTION(15607 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS("case"));
15596 err::FTST0019, ERROR_PARAMS( "case" ), ERROR_LOC( loc )
15597 );
15598 mo->set_case_option( new ftcase_option( loc, v.get_mode() ) );15608 mo->set_case_option( new ftcase_option( loc, v.get_mode() ) );
15599#endif /* ZORBA_NO_FULL_TEXT */15609#endif /* ZORBA_NO_FULL_TEXT */
15600}15610}
@@ -15604,9 +15614,7 @@
15604{15614{
15605 TRACE_VISIT ();15615 TRACE_VISIT ();
15606#ifdef ZORBA_NO_FULL_TEXT15616#ifdef ZORBA_NO_FULL_TEXT
15607 throw XQUERY_EXCEPTION(15617 RAISE_ERROR(err::XPST0003, loc, ERROR_PARAMS(ZED(FullTextNotEnabled)));
15608 err::XPST0003, ERROR_PARAMS( ZED( FullTextNotEnabled ) ), ERROR_LOC( loc )
15609 );
15610#endif /* ZORBA_NO_FULL_TEXT */15618#endif /* ZORBA_NO_FULL_TEXT */
15611 return no_state;15619 return no_state;
15612}15620}
@@ -15656,9 +15664,7 @@
15656 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );15664 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
15657 ZORBA_ASSERT( mo );15665 ZORBA_ASSERT( mo );
15658 if ( mo->get_diacritics_option() )15666 if ( mo->get_diacritics_option() )
15659 throw XQUERY_EXCEPTION(15667 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS("diacriticics"));
15660 err::FTST0019, ERROR_PARAMS( "diacriticics" ), ERROR_LOC( loc )
15661 );
15662 mo->set_diacritics_option( new ftdiacritics_option( loc, v.get_mode() ) );15668 mo->set_diacritics_option( new ftdiacritics_option( loc, v.get_mode() ) );
15663#endif /* ZORBA_NO_FULL_TEXT */15669#endif /* ZORBA_NO_FULL_TEXT */
15664}15670}
@@ -15711,7 +15717,7 @@
15711 if ( s )15717 if ( s )
15712 pop_ftstack();15718 pop_ftstack();
15713 else15719 else
15714 throw XQUERY_EXCEPTION( err::XQST0079, ERROR_LOC( loc ) );15720 RAISE_ERROR_NO_PARAMS(err::XQST0079, loc);
15715 push_ftstack( new ftextension_selection( loc, v.get_pragma_list(), s ) );15721 push_ftstack( new ftextension_selection( loc, v.get_pragma_list(), s ) );
15716#endif /* ZORBA_NO_FULL_TEXT */15722#endif /* ZORBA_NO_FULL_TEXT */
15717}15723}
@@ -15745,9 +15751,7 @@
15745 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );15751 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
15746 ZORBA_ASSERT( mo );15752 ZORBA_ASSERT( mo );
15747 if ( mo->get_language_option() )15753 if ( mo->get_language_option() )
15748 throw XQUERY_EXCEPTION(15754 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS("language"));
15749 err::FTST0019, ERROR_PARAMS( "language" ), ERROR_LOC( loc )
15750 );
15751 mo->set_language_option( new ftlanguage_option( loc, v.get_language() ) );15755 mo->set_language_option( new ftlanguage_option( loc, v.get_language() ) );
15752#endif /* ZORBA_NO_FULL_TEXT */15756#endif /* ZORBA_NO_FULL_TEXT */
15753}15757}
@@ -15936,9 +15940,7 @@
1593615940
15937void *begin_visit (const FTScoreVar& v) {15941void *begin_visit (const FTScoreVar& v) {
15938 TRACE_VISIT ();15942 TRACE_VISIT ();
15939 throw XQUERY_EXCEPTION(15943 RAISE_ERROR(zerr::ZXQP0004_NOT_IMPLEMENTED, loc, ERROR_PARAMS("score"));
15940 zerr::ZXQP0004_NOT_IMPLEMENTED, ERROR_PARAMS( "score" ), ERROR_LOC( loc )
15941 );
15942}15944}
1594315945
15944void end_visit (const FTScoreVar& v, void* /*visit_state*/) {15946void end_visit (const FTScoreVar& v, void* /*visit_state*/) {
@@ -15984,9 +15986,7 @@
15984 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );15986 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
15985 ZORBA_ASSERT( mo );15987 ZORBA_ASSERT( mo );
15986 if ( mo->get_stem_option() )15988 if ( mo->get_stem_option() )
15987 throw XQUERY_EXCEPTION(15989 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS("stem"));
15988 err::FTST0019, ERROR_PARAMS( "stem" ), ERROR_LOC( loc )
15989 );
15990 mo->set_stem_option( new ftstem_option( loc, v.get_mode() ) );15990 mo->set_stem_option( new ftstem_option( loc, v.get_mode() ) );
15991#endif /* ZORBA_NO_FULL_TEXT */15991#endif /* ZORBA_NO_FULL_TEXT */
15992}15992}
@@ -16049,9 +16049,7 @@
16049 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );16049 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
16050 ZORBA_ASSERT( mo );16050 ZORBA_ASSERT( mo );
16051 if ( mo->get_stop_word_option() )16051 if ( mo->get_stop_word_option() )
16052 throw XQUERY_EXCEPTION(16052 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS("stop words"));
16053 err::FTST0019, ERROR_PARAMS( "stop words" ), ERROR_LOC( loc )
16054 );
16055 ftstop_word_option *const sw =16053 ftstop_word_option *const sw =
16056 new ftstop_word_option( loc, stop_words, v.get_mode() );16054 new ftstop_word_option( loc, stop_words, v.get_mode() );
16057 mo->set_stop_word_option( sw );16055 mo->set_stop_word_option( sw );
@@ -16073,9 +16071,7 @@
16073 theSctx->resolve_uri( uri, internal::EntityData::THESAURUS, error_msg )16071 theSctx->resolve_uri( uri, internal::EntityData::THESAURUS, error_msg )
16074 );16072 );
16075 if ( !rsrc.get() )16073 if ( !rsrc.get() )
16076 throw XQUERY_EXCEPTION(16074 RAISE_ERROR(err::FTST0018, loc, ERROR_PARAMS( uri ));
16077 err::FTST0018, ERROR_PARAMS( uri ), ERROR_LOC( loc )
16078 );
1607916075
16080 ftrange *levels;16076 ftrange *levels;
16081 if ( v.get_levels() ) {16077 if ( v.get_levels() ) {
@@ -16115,9 +16111,7 @@
16115 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );16111 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
16116 ZORBA_ASSERT( mo );16112 ZORBA_ASSERT( mo );
16117 if ( mo->get_thesaurus_option() )16113 if ( mo->get_thesaurus_option() )
16118 throw XQUERY_EXCEPTION(16114 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS( "thesaurus" ));
16119 err::FTST0019, ERROR_PARAMS( "thesaurus" ), ERROR_LOC( loc )
16120 );
16121 ftthesaurus_option *const t =16115 ftthesaurus_option *const t =
16122 new ftthesaurus_option( loc, default_tid, list, v.no_thesaurus() );16116 new ftthesaurus_option( loc, default_tid, list, v.no_thesaurus() );
16123 mo->set_thesaurus_option( t );16117 mo->set_thesaurus_option( t );
@@ -16188,9 +16182,7 @@
16188 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );16182 ftmatch_options *const mo = dynamic_cast<ftmatch_options*>( top_ftstack() );
16189 ZORBA_ASSERT( mo );16183 ZORBA_ASSERT( mo );
16190 if ( mo->get_wild_card_option() )16184 if ( mo->get_wild_card_option() )
16191 throw XQUERY_EXCEPTION(16185 RAISE_ERROR(err::FTST0019, loc, ERROR_PARAMS( "wildcards" ));
16192 err::FTST0019, ERROR_PARAMS( "wildcards" ), ERROR_LOC( loc )
16193 );
16194 mo->set_wild_card_option( new ftwild_card_option( loc, v.get_mode() ) );16186 mo->set_wild_card_option( new ftwild_card_option( loc, v.get_mode() ) );
16195#endif /* ZORBA_NO_FULL_TEXT */16187#endif /* ZORBA_NO_FULL_TEXT */
16196}16188}
1619716189
=== modified file 'src/diagnostics/diagnostic_en.xml'
--- src/diagnostics/diagnostic_en.xml 2013-06-19 20:05:45 +0000
+++ src/diagnostics/diagnostic_en.xml 2013-06-20 10:12:27 +0000
@@ -304,8 +304,20 @@
304 <value>atomization of grouping variable produces more than one item</value>304 <value>atomization of grouping variable produces more than one item</value>
305 </entry>305 </entry>
306306
307 <entry key="PiTarget_3">307 <entry key="NoVarTypeInMainModule_23">
308 <value>$3: type of processing instruction target is not xs:NCName, or xs:string, or xs:untypedAtomic</value>308 <value>"$2": type of variable "$3" is not among the in-scope types of the main module</value>
309 </entry>
310
311 <entry key="NoVarTypeInModule_234">
312 <value>"$2": type of variable "$3" is not among the in-scope types of module "$4"</value>
313 </entry>
314
315 <entry key="ValueNoCastTo_23">
316 <value>$2: value can not be cast to type $3</value>
317 </entry>
318
319 <entry key="PiTarget_2">
320 <value>$2: type of processing instruction target is not xs:NCName, or xs:string, or xs:untypedAtomic</value>
309 </entry>321 </entry>
310 </diagnostic>322 </diagnostic>
311323
@@ -485,6 +497,31 @@
485 referenced in the importing module.497 referenced in the importing module.
486 </comment>498 </comment>
487 <value>$1</value>499 <value>$1</value>
500
501 <entry key="NoVarTypeInMainModule_23">
502 <value>"$2": type of variable "$3" is not among the in-scope types of the main module</value>
503 </entry>
504
505 <entry key="NoVarTypeInModule_234">
506 <value>"$2": type of variable "$3" is not among the in-scope types of module "$4"</value>
507 </entry>
508
509 <entry key="NoRetTypeInMainModule_23">
510 <value>"$2": return type of function "$3" is not among the in-scope types of the main module</value>
511 </entry>
512
513 <entry key="NoRetTypeInModule_234">
514 <value>"$2": return type of function "$3" is not among the in-scope types of module "$4"</value>
515 </entry>
516
517 <entry key="NoParamTypeInMainModule_23">
518 <value>"$2": parameter type of function "$3" is not among the in-scope types of the main module</value>
519 </entry>
520
521 <entry key="NoParamTypeInModule_234">
522 <value>"$2": parameter type of function "$3" is not among the in-scope types of module "$4"</value>
523 </entry>
524
488 </diagnostic>525 </diagnostic>
489526
490 <diagnostic code="XQST0038">527 <diagnostic code="XQST0038">
@@ -588,7 +625,7 @@
588 It is a static error if a schema import binds a namespace prefix but625 It is a static error if a schema import binds a namespace prefix but
589 does not specify a target namespace other than a zero-length string.626 does not specify a target namespace other than a zero-length string.
590 </comment>627 </comment>
591 <value>empty target namespace</value>628 <value>schema import with empty target namespace</value>
592 </diagnostic>629 </diagnostic>
593630
594 <diagnostic code="XQST0058">631 <diagnostic code="XQST0058">
@@ -596,7 +633,7 @@
596 It is a static error if multiple schema imports specify the same target633 It is a static error if multiple schema imports specify the same target
597 namespace.634 namespace.
598 </comment>635 </comment>
599 <value>"$1": duplicate target namespace</value>636 <value>duplicate import of schema with target namespace $1</value>
600 </diagnostic>637 </diagnostic>
601638
602 <diagnostic code="XQST0059">639 <diagnostic code="XQST0059">
@@ -627,7 +664,7 @@
627 A static error is raised if a Prolog contains more than one ordering mode664 A static error is raised if a Prolog contains more than one ordering mode
628 declaration.665 declaration.
629 </comment>666 </comment>
630 <value>multiple ordering mode declaraions</value>667 <value>multiple ordering mode declarations</value>
631 </diagnostic>668 </diagnostic>
632669
633 <diagnostic code="XQST0066">670 <diagnostic code="XQST0066">
@@ -676,7 +713,32 @@
676 - A prefix other than \c xmlns is bound to the namespace URI713 - A prefix other than \c xmlns is bound to the namespace URI
677 <code>http://www.w3.org/2000/xmlns/</code>.714 <code>http://www.w3.org/2000/xmlns/</code>.
678 </comment>715 </comment>
679 <value>"$1": $2</value>716 <value>$1</value>
717
718 <entry key="ReservedPrefixInDecl_2">
719 <value>"$2": reserved prefix can not appear in namespace declaration</value>
720 </entry>
721
722 <entry key="ReservedPrefixInModule_2">
723 <value>"$2": reserved prefix can not appear in module declaration</value>
724 </entry>
725
726 <entry key="ReservedPrefixInImport_2">
727 <value>"$2": reserved prefix can not appear in schema or module import</value>
728 </entry>
729
730 <entry key="xmlnsInAttrDecl">
731 <value>"xmlns" prefix can not be bound in namespace declaration attribute</value>
732 </entry>
733
734 <entry key="ReservedPrefix_23">
735 <value>"$2": can not rebind reserved prefix to namespace URI "$3"</value>
736 </entry>
737
738 <entry key="ReservedURI_23">
739 <value>"$2": can not bind prefix to reserved namespace URI "$3"</value>
740 </entry>
741
680 </diagnostic>742 </diagnostic>
681743
682 <diagnostic code="XQST0071">744 <diagnostic code="XQST0071">
@@ -727,7 +789,7 @@
727 It is a static error if the literal that specifies the target namespace789 It is a static error if the literal that specifies the target namespace
728 in a module import or a module declaration is of zero length.790 in a module import or a module declaration is of zero length.
729 </comment>791 </comment>
730 <value>empty target namespace literal</value>792 <value>empty target namespace in module import or module declaration</value>
731 </diagnostic>793 </diagnostic>
732794
733 <diagnostic code="XQST0089">795 <diagnostic code="XQST0089">
@@ -3904,10 +3966,6 @@
3904 <value>could not parse function arity (maybe it's too large)</value>3966 <value>could not parse function arity (maybe it's too large)</value>
3905 </entry>3967 </entry>
39063968
3907 <entry key="NoRebindPrefix">
3908 <value>can not rebind predefined prefix</value>
3909 </entry>
3910
3911 <entry key="NoRegisteredSerializationCallback_2">3969 <entry key="NoRegisteredSerializationCallback_2">
3912 <value>external module "$2" not available using registered SerializationCallback</value>3970 <value>external module "$2" not available using registered SerializationCallback</value>
3913 </entry>3971 </entry>
@@ -3976,14 +4034,6 @@
3976 <value>"\\$3": multi-character and category escapes not permitted in character range</value>4034 <value>"\\$3": multi-character and category escapes not permitted in character range</value>
3977 </entry>4035 </entry>
39784036
3979 <entry key="NoTypeInMainModule_4">
3980 <value>type of variable "$4" is not among the in-scope types of the main module</value>
3981 </entry>
3982
3983 <entry key="NoTypeInModule_45">
3984 <value>type of variable "$4" is not among the in-scope types module "$5"</value>
3985 </entry>
3986
3987 <entry key="NoURIAuthority">4037 <entry key="NoURIAuthority">
3988 <value>no authority</value>4038 <value>no authority</value>
3989 </entry>4039 </entry>
39904040
=== modified file 'src/diagnostics/pregenerated/dict_en.cpp'
--- src/diagnostics/pregenerated/dict_en.cpp 2013-06-19 20:05:45 +0000
+++ src/diagnostics/pregenerated/dict_en.cpp 2013-06-20 10:12:27 +0000
@@ -190,22 +190,22 @@
190 { "XQST0052", "\"$1\": not defined as simple type" },190 { "XQST0052", "\"$1\": not defined as simple type" },
191 { "XQST0054", "${\"1\": }variable must not depend on itself" },191 { "XQST0054", "${\"1\": }variable must not depend on itself" },
192 { "XQST0055", "multiple copy-namespaces declarations" },192 { "XQST0055", "multiple copy-namespaces declarations" },
193 { "XQST0057", "empty target namespace" },193 { "XQST0057", "schema import with empty target namespace" },
194 { "XQST0058", "\"$1\": duplicate target namespace" },194 { "XQST0058", "duplicate import of schema with target namespace $1" },
195 { "XQST0059", "$1" },195 { "XQST0059", "$1" },
196 { "XQST0060", "\"$1\": function name has a null namespace URI" },196 { "XQST0060", "\"$1\": function name has a null namespace URI" },
197 { "XQST0065", "multiple ordering mode declaraions" },197 { "XQST0065", "multiple ordering mode declarations" },
198 { "XQST0066", "multiple element/type/function namespace declarations" },198 { "XQST0066", "multiple element/type/function namespace declarations" },
199 { "XQST0067", "multiple construction declarations" },199 { "XQST0067", "multiple construction declarations" },
200 { "XQST0068", "multiple boundary-space declarations" },200 { "XQST0068", "multiple boundary-space declarations" },
201 { "XQST0069", "multiple empty order declarations" },201 { "XQST0069", "multiple empty order declarations" },
202 { "XQST0070", "\"$1\": $2" },202 { "XQST0070", "$1" },
203 { "XQST0071", "\"$1\": duplicate namespace declaration attribute" },203 { "XQST0071", "\"$1\": duplicate namespace declaration attribute" },
204 { "XQST0076", "\"$1\": unknown collation" },204 { "XQST0076", "\"$1\": unknown collation" },
205 { "XQST0079", "unknown pragma or empty expression" },205 { "XQST0079", "unknown pragma or empty expression" },
206 { "XQST0085", "namespace URI is empty" },206 { "XQST0085", "namespace URI is empty" },
207 { "XQST0087", "\"$1\": invalid encoding" },207 { "XQST0087", "\"$1\": invalid encoding" },
208 { "XQST0088", "empty target namespace literal" },208 { "XQST0088", "empty target namespace in module import or module declaration" },
209 { "XQST0089", "\"$1\": duplicate variable name" },209 { "XQST0089", "\"$1\": duplicate variable name" },
210 { "XQST0090", "\"$1\": invalid character reference in XML $2" },210 { "XQST0090", "\"$1\": invalid character reference in XML $2" },
211 { "XQST0093", "\"$1\": module must not depend on itself" },211 { "XQST0093", "\"$1\": module must not depend on itself" },
@@ -687,7 +687,6 @@
687 { "~NoModuleURIResolver", "no module URI resolver could be retrieved using SerializationCallback" },687 { "~NoModuleURIResolver", "no module URI resolver could be retrieved using SerializationCallback" },
688 { "~NoMultiKeyNodeValues_2", "node with more than one key value found during probe on index \"$2\"" },688 { "~NoMultiKeyNodeValues_2", "node with more than one key value found during probe on index \"$2\"" },
689 { "~NoParseFnArity", "could not parse function arity (maybe it's too large)" },689 { "~NoParseFnArity", "could not parse function arity (maybe it's too large)" },
690 { "~NoRebindPrefix", "can not rebind predefined prefix" },
691 { "~NoRegisteredSerializationCallback_2", "external module \"$2\" not available using registered SerializationCallback" },690 { "~NoRegisteredSerializationCallback_2", "external module \"$2\" not available using registered SerializationCallback" },
692 { "~NoResolveRelativeURI", "could not resolve relative URI" },691 { "~NoResolveRelativeURI", "could not resolve relative URI" },
693 { "~NoSeqAsArithOp", "sequence of more than one item can not be operand for arithmetic operation" },692 { "~NoSeqAsArithOp", "sequence of more than one item can not be operand for arithmetic operation" },
@@ -703,8 +702,6 @@
703 { "~NoSourceURI", "no URI" },702 { "~NoSourceURI", "no URI" },
704 { "~NoStrictCompareWithType_4", "can not compare for strict inequality to type \"$4\"" },703 { "~NoStrictCompareWithType_4", "can not compare for strict inequality to type \"$4\"" },
705 { "~NoTreatAs_4", "can not treat as \"$4\"" },704 { "~NoTreatAs_4", "can not treat as \"$4\"" },
706 { "~NoTypeInMainModule_4", "type of variable \"$4\" is not among the in-scope types of the main module" },
707 { "~NoTypeInModule_45", "type of variable \"$4\" is not among the in-scope types module \"$5\"" },
708 { "~NoURIAuthority", "no authority" },705 { "~NoURIAuthority", "no authority" },
709 { "~NoURIInStore", "URI for document not found in store" },706 { "~NoURIInStore", "URI for document not found in store" },
710 { "~NoURIScheme", "no URI scheme" },707 { "~NoURIScheme", "no URI scheme" },
@@ -922,7 +919,10 @@
922 { "~XPTY0004_NoReturnTypePromote_234", "$2 can not be promoted to return type $3 of function $4()" },919 { "~XPTY0004_NoReturnTypePromote_234", "$2 can not be promoted to return type $3 of function $4()" },
923 { "~XPTY0004_NoTreatAs_23", "$2 can not be treated as type $3" },920 { "~XPTY0004_NoTreatAs_23", "$2 can not be treated as type $3" },
924 { "~XPTY0004_NoTypePromote_23", "$2 can not be promoted to type $3" },921 { "~XPTY0004_NoTypePromote_23", "$2 can not be promoted to type $3" },
925 { "~XPTY0004_PiTarget_3", "$3: type of processing instruction target is not xs:NCName, or xs:string, or xs:untypedAtomic" },922 { "~XPTY0004_NoVarTypeInMainModule_23", "\"$2\": type of variable \"$3\" is not among the in-scope types of the main module" },
923 { "~XPTY0004_NoVarTypeInModule_234", "\"$2\": type of variable \"$3\" is not among the in-scope types of module \"$4\"" },
924 { "~XPTY0004_PiTarget_2", "$2: type of processing instruction target is not xs:NCName, or xs:string, or xs:untypedAtomic" },
925 { "~XPTY0004_ValueNoCastTo_23", "$2: value can not be cast to type $3" },
926 { "~XPTY0117_NodeCast", "Cannot cast node to xs:QName" },926 { "~XPTY0117_NodeCast", "Cannot cast node to xs:QName" },
927 { "~XPTY0117_NotationParam_23", "$2 can not be promoted to parameter type xs:NOTATION of function $3()" },927 { "~XPTY0117_NotationParam_23", "$2 can not be promoted to parameter type xs:NOTATION of function $3()" },
928 { "~XQDY0027_InvalidValue", "\"$2\": invalid value for type${: 3}${: 4}" },928 { "~XQDY0027_InvalidValue", "\"$2\": invalid value for type${: 3}${: 4}" },
@@ -933,9 +933,21 @@
933 { "~XQDY0074_NameSapceConstructor", "$2: cannot cast prefix to xs:NCName" },933 { "~XQDY0074_NameSapceConstructor", "$2: cannot cast prefix to xs:NCName" },
934 { "~XQDY0074_NoEmptyLocalname", "can not convert empty local name to xs:QName" },934 { "~XQDY0074_NoEmptyLocalname", "can not convert empty local name to xs:QName" },
935 { "~XQDY0074_NotCastToQName", "$2: can not convert to xs:QName" },935 { "~XQDY0074_NotCastToQName", "$2: can not convert to xs:QName" },
936 { "~XQST0036_NoParamTypeInMainModule_23", "\"$2\": parameter type of function \"$3\" is not among the in-scope types of the main module" },
937 { "~XQST0036_NoParamTypeInModule_234", "\"$2\": parameter type of function \"$3\" is not among the in-scope types of module \"$4\"" },
938 { "~XQST0036_NoRetTypeInMainModule_23", "\"$2\": return type of function \"$3\" is not among the in-scope types of the main module" },
939 { "~XQST0036_NoRetTypeInModule_234", "\"$2\": return type of function \"$3\" is not among the in-scope types of module \"$4\"" },
940 { "~XQST0036_NoVarTypeInMainModule_23", "\"$2\": type of variable \"$3\" is not among the in-scope types of the main module" },
941 { "~XQST0036_NoVarTypeInModule_234", "\"$2\": type of variable \"$3\" is not among the in-scope types of module \"$4\"" },
936 { "~XQST0046_BadHexDigit_3", "'$3': invalid hexedecimal digit" },942 { "~XQST0046_BadHexDigit_3", "'$3': invalid hexedecimal digit" },
937 { "~XQST0059_SpecificationMessage", "\"$2\": target namespace not found for schema/module${ \"3\"}${: 4}" },943 { "~XQST0059_SpecificationMessage", "\"$2\": target namespace not found for schema/module${ \"3\"}${: 4}" },
938 { "~XQST0059_XercesMessage", "$2,$3: error in schema${ with System ID \"4\"}${ with Public ID \"5\"}${: 6}" },944 { "~XQST0059_XercesMessage", "$2,$3: error in schema${ with System ID \"4\"}${ with Public ID \"5\"}${: 6}" },
945 { "~XQST0070_ReservedPrefixInDecl_2", "\"$2\": reserved prefix can not appear in namespace declaration" },
946 { "~XQST0070_ReservedPrefixInImport_2", "\"$2\": reserved prefix can not appear in schema or module import" },
947 { "~XQST0070_ReservedPrefixInModule_2", "\"$2\": reserved prefix can not appear in module declaration" },
948 { "~XQST0070_ReservedPrefix_23", "\"$2\": can not rebind reserved prefix to namespace URI \"$3\"" },
949 { "~XQST0070_ReservedURI_23", "\"$2\": can not bind prefix to reserved namespace URI \"$3\"" },
950 { "~XQST0070_xmlnsInAttrDecl", "\"xmlns\" prefix can not be bound in namespace declaration attribute" },
939 { "~XQST0097_MustBeChar", "must be a single character" },951 { "~XQST0097_MustBeChar", "must be a single character" },
940 { "~XQST0097_MustBeZeroDigit", "must be a digit (Unicode category Nd) and represent zero" },952 { "~XQST0097_MustBeZeroDigit", "must be a digit (Unicode category Nd) and represent zero" },
941 { "~XQST0106_Conflicting", "$2: conflicting annotations in declaration" },953 { "~XQST0106_Conflicting", "$2: conflicting annotations in declaration" },
942954
=== modified file 'src/diagnostics/pregenerated/dict_zed_keys.h'
--- src/diagnostics/pregenerated/dict_zed_keys.h 2013-06-19 20:05:45 +0000
+++ src/diagnostics/pregenerated/dict_zed_keys.h 2013-06-20 10:12:27 +0000
@@ -48,12 +48,27 @@
48#define ZED_XPTY0004_NoTreatAs_23 "~XPTY0004_NoTreatAs_23"48#define ZED_XPTY0004_NoTreatAs_23 "~XPTY0004_NoTreatAs_23"
49#define ZED_XPTY0004_JSONIQ_SELECTOR "~XPTY0004_JSONIQ_SELECTOR"49#define ZED_XPTY0004_JSONIQ_SELECTOR "~XPTY0004_JSONIQ_SELECTOR"
50#define ZED_XPTY0004_MultiValuedGroupingKey "~XPTY0004_MultiValuedGroupingKey"50#define ZED_XPTY0004_MultiValuedGroupingKey "~XPTY0004_MultiValuedGroupingKey"
51#define ZED_XPTY0004_PiTarget_3 "~XPTY0004_PiTarget_3"51#define ZED_XPTY0004_NoVarTypeInMainModule_23 "~XPTY0004_NoVarTypeInMainModule_23"
52#define ZED_XPTY0004_NoVarTypeInModule_234 "~XPTY0004_NoVarTypeInModule_234"
53#define ZED_XPTY0004_ValueNoCastTo_23 "~XPTY0004_ValueNoCastTo_23"
54#define ZED_XPTY0004_PiTarget_2 "~XPTY0004_PiTarget_2"
52#define ZED_XPTY0117_NodeCast "~XPTY0117_NodeCast"55#define ZED_XPTY0117_NodeCast "~XPTY0117_NodeCast"
53#define ZED_XPTY0117_NotationParam_23 "~XPTY0117_NotationParam_23"56#define ZED_XPTY0117_NotationParam_23 "~XPTY0117_NotationParam_23"
57#define ZED_XQST0036_NoVarTypeInMainModule_23 "~XQST0036_NoVarTypeInMainModule_23"
58#define ZED_XQST0036_NoVarTypeInModule_234 "~XQST0036_NoVarTypeInModule_234"
59#define ZED_XQST0036_NoRetTypeInMainModule_23 "~XQST0036_NoRetTypeInMainModule_23"
60#define ZED_XQST0036_NoRetTypeInModule_234 "~XQST0036_NoRetTypeInModule_234"
61#define ZED_XQST0036_NoParamTypeInMainModule_23 "~XQST0036_NoParamTypeInMainModule_23"
62#define ZED_XQST0036_NoParamTypeInModule_234 "~XQST0036_NoParamTypeInModule_234"
54#define ZED_XQST0046_BadHexDigit_3 "~XQST0046_BadHexDigit_3"63#define ZED_XQST0046_BadHexDigit_3 "~XQST0046_BadHexDigit_3"
55#define ZED_XQST0059_SpecificationMessage "~XQST0059_SpecificationMessage"64#define ZED_XQST0059_SpecificationMessage "~XQST0059_SpecificationMessage"
56#define ZED_XQST0059_XercesMessage "~XQST0059_XercesMessage"65#define ZED_XQST0059_XercesMessage "~XQST0059_XercesMessage"
66#define ZED_XQST0070_ReservedPrefixInDecl_2 "~XQST0070_ReservedPrefixInDecl_2"
67#define ZED_XQST0070_ReservedPrefixInModule_2 "~XQST0070_ReservedPrefixInModule_2"
68#define ZED_XQST0070_ReservedPrefixInImport_2 "~XQST0070_ReservedPrefixInImport_2"
69#define ZED_XQST0070_xmlnsInAttrDecl "~XQST0070_xmlnsInAttrDecl"
70#define ZED_XQST0070_ReservedPrefix_23 "~XQST0070_ReservedPrefix_23"
71#define ZED_XQST0070_ReservedURI_23 "~XQST0070_ReservedURI_23"
57#define ZED_XQST0097_MustBeChar "~XQST0097_MustBeChar"72#define ZED_XQST0097_MustBeChar "~XQST0097_MustBeChar"
58#define ZED_XQST0097_MustBeZeroDigit "~XQST0097_MustBeZeroDigit"73#define ZED_XQST0097_MustBeZeroDigit "~XQST0097_MustBeZeroDigit"
59#define ZED_XQST0106_Duplicate "~XQST0106_Duplicate"74#define ZED_XQST0106_Duplicate "~XQST0106_Duplicate"
@@ -281,7 +296,6 @@
281#define ZED_NoModuleURIResolver "~NoModuleURIResolver"296#define ZED_NoModuleURIResolver "~NoModuleURIResolver"
282#define ZED_NoMultiKeyNodeValues_2 "~NoMultiKeyNodeValues_2"297#define ZED_NoMultiKeyNodeValues_2 "~NoMultiKeyNodeValues_2"
283#define ZED_NoParseFnArity "~NoParseFnArity"298#define ZED_NoParseFnArity "~NoParseFnArity"
284#define ZED_NoRebindPrefix "~NoRebindPrefix"
285#define ZED_NoRegisteredSerializationCallback_2 "~NoRegisteredSerializationCallback_2"299#define ZED_NoRegisteredSerializationCallback_2 "~NoRegisteredSerializationCallback_2"
286#define ZED_NoResolveRelativeURI "~NoResolveRelativeURI"300#define ZED_NoResolveRelativeURI "~NoResolveRelativeURI"
287#define ZED_NoSeqAsArithOp "~NoSeqAsArithOp"301#define ZED_NoSeqAsArithOp "~NoSeqAsArithOp"
@@ -299,8 +313,6 @@
299#define ZED_NoSourceURI "~NoSourceURI"313#define ZED_NoSourceURI "~NoSourceURI"
300#define ZED_NoTreatAs_4 "~NoTreatAs_4"314#define ZED_NoTreatAs_4 "~NoTreatAs_4"
301#define ZED_NotSingleCharEsc_3 "~NotSingleCharEsc_3"315#define ZED_NotSingleCharEsc_3 "~NotSingleCharEsc_3"
302#define ZED_NoTypeInMainModule_4 "~NoTypeInMainModule_4"
303#define ZED_NoTypeInModule_45 "~NoTypeInModule_45"
304#define ZED_NoURIAuthority "~NoURIAuthority"316#define ZED_NoURIAuthority "~NoURIAuthority"
305#define ZED_NoURIInStore "~NoURIInStore"317#define ZED_NoURIInStore "~NoURIInStore"
306#define ZED_NoURIScheme "~NoURIScheme"318#define ZED_NoURIScheme "~NoURIScheme"
307319
=== modified file 'src/diagnostics/util_macros.h'
--- src/diagnostics/util_macros.h 2013-02-07 17:24:36 +0000
+++ src/diagnostics/util_macros.h 2013-06-20 10:12:27 +0000
@@ -19,11 +19,6 @@
19 params, \19 params, \
20 ERROR_LOC(loc))20 ERROR_LOC(loc))
2121
22#define RAISE_ERROR_VAR(errcode, loc, params) \
23 throw XQUERY_EXCEPTION_VAR(errcode, \
24 params, \
25 ERROR_LOC(loc))
26
2722
28#define RAISE_ERROR_NO_LOC(errcode, params) \23#define RAISE_ERROR_NO_LOC(errcode, params) \
29 throw XQUERY_EXCEPTION(errcode, \24 throw XQUERY_EXCEPTION(errcode, \
3025
=== modified file 'src/runtime/core/constructors.cpp'
--- src/runtime/core/constructors.cpp 2013-06-19 19:27:26 +0000
+++ src/runtime/core/constructors.cpp 2013-06-20 10:12:27 +0000
@@ -884,7 +884,7 @@
884 TypeManager* tm = theSctx->get_typemanager();884 TypeManager* tm = theSctx->get_typemanager();
885 xqtref_t type = tm->create_value_type(targetItem);885 xqtref_t type = tm->create_value_type(targetItem);
886 RAISE_ERROR(err::XPTY0004, loc,886 RAISE_ERROR(err::XPTY0004, loc,
887 ERROR_PARAMS(ZED(XPTY0004_PiTarget_3), type->toSchemaString()));887 ERROR_PARAMS(ZED(XPTY0004_PiTarget_2), type->toSchemaString()));
888 }888 }
889889
890 if (targetType != store::XS_NCNAME)890 if (targetType != store::XS_NCNAME)
891891
=== modified file 'src/store/naive/nsbindings.cpp'
--- src/store/naive/nsbindings.cpp 2013-02-26 04:12:43 +0000
+++ src/store/naive/nsbindings.cpp 2013-06-20 10:12:27 +0000
@@ -21,6 +21,7 @@
2121
22#include "diagnostics/xquery_diagnostics.h"22#include "diagnostics/xquery_diagnostics.h"
23#include "diagnostics/dict.h"23#include "diagnostics/dict.h"
24#include "diagnostics/util_macros.h"
2425
25#include "zorbamisc/ns_consts.h"26#include "zorbamisc/ns_consts.h"
2627
@@ -117,25 +118,21 @@
117void NsBindingsContext::check_ns_binding(const zstring& prefix, const zstring& uri)118void NsBindingsContext::check_ns_binding(const zstring& prefix, const zstring& uri)
118{119{
119 if (ZSTREQ(prefix, "xmlns"))120 if (ZSTREQ(prefix, "xmlns"))
120 throw XQUERY_EXCEPTION(121 {
121 err::XQST0070,122 RAISE_ERROR_NO_LOC(err::XQST0070, ERROR_PARAMS(ZED(XQST0070_xmlnsInAttrDecl)));
122 ERROR_PARAMS( prefix, ZED( NoRebindPrefix ) )123 }
123 );
124124
125 if ((ZSTREQ(prefix, "xml") && !ZSTREQ(uri, XML_NS)))125 if ((ZSTREQ(prefix, "xml") && !ZSTREQ(uri, XML_NS)))
126 {126 {
127 throw XQUERY_EXCEPTION(127 RAISE_ERROR_NO_LOC(err::XQST0070,
128 err::XQST0070,128 ERROR_PARAMS(ZED(XQST0070_ReservedPrefix_23), prefix, uri));
129 ERROR_PARAMS( prefix, ZED( NoRebindPrefix ) )
130 );
131 }129 }
132130
133 if ((ZSTREQ(uri, XML_NS) && !ZSTREQ(prefix, "xml")) ||131 if ((ZSTREQ(uri, XML_NS) && !ZSTREQ(prefix, "xml")) ||
134 ZSTREQ(uri, XMLNS_NS))132 ZSTREQ(uri, XMLNS_NS))
135 {133 {
136 throw XQUERY_EXCEPTION(134 RAISE_ERROR_NO_LOC(err::XQST0070,
137 err::XQST0070, ERROR_PARAMS( uri, ZED( NoBindURI ) )135 ERROR_PARAMS(ZED(XQST0070_ReservedURI_23), prefix, uri));
138 );
139 }136 }
140137
141}138}
142139
=== modified file 'test/fots/CMakeLists.txt'
--- test/fots/CMakeLists.txt 2013-06-19 17:19:18 +0000
+++ test/fots/CMakeLists.txt 2013-06-20 10:12:27 +0000
@@ -231,8 +231,6 @@
231EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-ListType-31 1110217)231EXPECTED_FOTS_FAILURE (prod-CastExpr.schema CastAs-ListType-31 1110217)
232EXPECTED_FOTS_FAILURE (prod-CompDocConstructor K2-ConDocNode-2 1188302)232EXPECTED_FOTS_FAILURE (prod-CompDocConstructor K2-ConDocNode-2 1188302)
233EXPECTED_FOTS_FAILURE (prod-CompNamespaceConstructor nscons-042 1188285)233EXPECTED_FOTS_FAILURE (prod-CompNamespaceConstructor nscons-042 1188285)
234EXPECTED_FOTS_FAILURE (prod-DefaultNamespaceDecl defaultnamespacedeclerr-6 1188283)
235EXPECTED_FOTS_FAILURE (prod-DefaultNamespaceDecl defaultnamespacedeclerr-8 1188283)
236EXPECTED_FOTS_FAILURE (prod-DirElemContent Constr-cont-charref-2 1130998)234EXPECTED_FOTS_FAILURE (prod-DirElemContent Constr-cont-charref-2 1130998)
237EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-007 1114221)235EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-007 1114221)
238EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-008 1114221)236EXPECTED_FOTS_FAILURE (prod-FunctionCall FunctionCall-008 1114221)

Subscribers

People subscribed via source and target branches