2020-02-17 22:19:57 +01:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=iso-8859-1" >
< title > XQilla Simple API Documentation< / title >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
< a style = "float:right;" href = "http://sourceforge.net/projects/xqilla" > < img src = "http://sflogo.sourceforge.net/sflogo.php?group_id=152021&type=2" border = "0" alt = "SourceForge.net Logo" / > < / a >
2020-02-17 22:23:16 +01:00
<!-- Generated by Doxygen 1.6.1 -->
< div class = "navigation" id = "top" >
< div class = "tabs" >
< ul >
< li > < a href = "index.html" > < span > Main Page< / span > < / a > < / li >
2020-02-17 22:19:57 +01:00
< li > < a href = "namespaces.html" > < span > Namespaces< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Classes< / span > < / a > < / li >
< li class = "current" > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li > < a href = "examples.html" > < span > Examples< / span > < / a > < / li >
< / ul >
< / div >
2020-02-17 22:23:16 +01:00
< div class = "tabs" >
< ul >
< li > < a href = "files.html" > < span > File List< / span > < / a > < / li >
< li > < a href = "globals.html" > < span > File Members< / span > < / a > < / li >
2020-02-17 22:19:57 +01:00
< / ul >
< / div >
2020-02-17 22:23:16 +01:00
< h1 > StaticAnalysis.hpp< / h1 > < a href = "StaticAnalysis_8hpp.html" > Go to the documentation of this file.< / a > < div class = "fragment" > < pre class = "fragment" > < a name = "l00001" > < / a > 00001 < span class = "comment" > /*< / span >
2020-02-17 22:22:42 +01:00
< a name = "l00002" > < / a > 00002 < span class = "comment" > * Copyright (c) 2001, 2008,< / span >
2020-02-17 22:19:57 +01:00
< a name = "l00003" > < / a > 00003 < span class = "comment" > * DecisionSoft Limited. All rights reserved.< / span >
2020-02-17 22:23:16 +01:00
< a name = "l00004" > < / a > 00004 < span class = "comment" > * Copyright (c) 2004, 2015 Oracle and/or its affiliates. All rights reserved.< / span >
< a name = "l00005" > < / a > 00005 < span class = "comment" > * < / span >
2020-02-17 22:19:57 +01:00
< a name = "l00006" > < / a > 00006 < span class = "comment" > *< / span >
< a name = "l00007" > < / a > 00007 < span class = "comment" > * Licensed under the Apache License, Version 2.0 (the " License" );< / span >
< a name = "l00008" > < / a > 00008 < span class = "comment" > * you may not use this file except in compliance with the License.< / span >
< a name = "l00009" > < / a > 00009 < span class = "comment" > * You may obtain a copy of the License at< / span >
< a name = "l00010" > < / a > 00010 < span class = "comment" > *< / span >
< a name = "l00011" > < / a > 00011 < span class = "comment" > * http://www.apache.org/licenses/LICENSE-2.0< / span >
< a name = "l00012" > < / a > 00012 < span class = "comment" > *< / span >
< a name = "l00013" > < / a > 00013 < span class = "comment" > * Unless required by applicable law or agreed to in writing, software< / span >
< a name = "l00014" > < / a > 00014 < span class = "comment" > * distributed under the License is distributed on an " AS IS" BASIS,< / span >
< a name = "l00015" > < / a > 00015 < span class = "comment" > * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.< / span >
< a name = "l00016" > < / a > 00016 < span class = "comment" > * See the License for the specific language governing permissions and< / span >
< a name = "l00017" > < / a > 00017 < span class = "comment" > * limitations under the License.< / span >
2020-02-17 22:22:42 +01:00
< a name = "l00018" > < / a > 00018 < span class = "comment" > */< / span >
< a name = "l00019" > < / a > 00019
< a name = "l00020" > < / a > 00020 < span class = "preprocessor" > #ifndef _STATICANALYSIS_HPP< / span >
< a name = "l00021" > < / a > 00021 < span class = "preprocessor" > < / span > < span class = "preprocessor" > #define _STATICANALYSIS_HPP< / span >
< a name = "l00022" > < / a > 00022 < span class = "preprocessor" > < / span >
< a name = "l00023" > < / a > 00023 < span class = "preprocessor" > #include < string> < / span >
< a name = "l00024" > < / a > 00024
< a name = "l00025" > < / a > 00025 < span class = "preprocessor" > #include < xqilla/framework/XQillaExport.hpp> < / span >
2020-02-17 22:23:16 +01:00
< a name = "l00026" > < / a > 00026 < span class = "preprocessor" > #include < < a class = "code" href = "StaticType_8hpp.html" > xqilla/ast/StaticType.hpp< / a > > < / span >
2020-02-17 22:22:42 +01:00
< a name = "l00027" > < / a > 00027
< a name = "l00028" > < / a > 00028 < span class = "preprocessor" > #include < vector> < / span >
2020-02-17 22:19:57 +01:00
< a name = "l00029" > < / a > 00029
2020-02-17 22:22:42 +01:00
< a name = "l00030" > < / a > 00030 < span class = "keyword" > class < / span > < a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > ;
2020-02-17 22:19:57 +01:00
< a name = "l00031" > < / a > 00031
2020-02-17 22:22:42 +01:00
< a name = "l00035" > < / a > < a class = "code" href = "classStaticAnalysis.html" > 00035< / a > < span class = "keyword" > class < / span > XQILLA_API < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a >
< a name = "l00036" > < / a > 00036 {
< a name = "l00037" > < / a > 00037 < span class = "keyword" > public< / span > :
< a name = "l00038" > < / a > < a class = "code" href = "classStaticAnalysis.html#a0c07b3d7afbbea7bc62f0f035d77b854" > 00038< / a > < span class = "keyword" > static< / span > < span class = "keyword" > const< / span > < span class = "keywordtype" > int< / span > HASH_SIZE = 13;
< a name = "l00039" > < / a > 00039
2020-02-17 22:19:57 +01:00
< a name = "l00040" > < / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html" > 00040< / a > < span class = "keyword" > class < / span > XQILLA_API < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html" > VarEntry< / a >
< a name = "l00041" > < / a > 00041 {
< a name = "l00042" > < / a > 00042 < span class = "keyword" > public< / span > :
2020-02-17 22:22:42 +01:00
< a name = "l00043" > < / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html#a4c2554acb986568eea29df5557ffd07a" > 00043< / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html#a4c2554acb986568eea29df5557ffd07a" > VarEntry< / a > () : uri(0), name(0), hash(0), prev(0) {}
< a name = "l00044" > < / a > 00044 < span class = "keywordtype" > void< / span > < span class = "keyword" > set< / span > (< span class = "keyword" > const< / span > XMLCh *u, < span class = "keyword" > const< / span > XMLCh *n);
< a name = "l00045" > < / a > 00045 < span class = "keywordtype" > void< / span > < span class = "keyword" > set< / span > (< span class = "keyword" > const< / span > XMLCh *u, < span class = "keyword" > const< / span > XMLCh *n, < span class = "keywordtype" > size_t< / span > h);
< a name = "l00046" > < / a > 00046
2020-02-17 22:23:16 +01:00
< a name = "l00047" > < / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html#ae986b77da8b7a589c7e469ae9306a0dc" > 00047< / a > < span class = "keyword" > const< / span > XMLCh *uri, *name;
< a name = "l00048" > < / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html#aea351e1232dd813cf5ff8c48182c7e7a" > 00048< / a > < span class = "keywordtype" > size_t< / span > hash;
< a name = "l00049" > < / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html#ad3fd1681fbc686e97ab2e03b7482f3b0" > 00049< / a > < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html" > VarEntry< / a > *prev;
2020-02-17 22:22:42 +01:00
< a name = "l00050" > < / a > 00050 };
< a name = "l00051" > < / a > 00051
< a name = "l00052" > < / a > 00052 < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > (< a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > * memMgr);
< a name = "l00053" > < / a > 00053 < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o, < a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > * memMgr);
2020-02-17 22:19:57 +01:00
< a name = "l00054" > < / a > 00054
2020-02-17 22:22:42 +01:00
< a name = "l00055" > < / a > 00055 < span class = "keywordtype" > void< / span > copy(< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00056" > < / a > 00056 < span class = "keywordtype" > void< / span > release();
2020-02-17 22:19:57 +01:00
< a name = "l00057" > < / a > 00057
2020-02-17 22:22:42 +01:00
< a name = "l00059" > < / a > 00059 < span class = "keywordtype" > void< / span > clear();
< a name = "l00060" > < / a > 00060 < span class = "keywordtype" > void< / span > clearExceptType();
< a name = "l00061" > < / a > 00061
< a name = "l00064" > < / a > 00064 < span class = "keywordtype" > void< / span > forceNoFolding(< span class = "keywordtype" > bool< / span > value);
< a name = "l00065" > < / a > 00065 < span class = "keywordtype" > bool< / span > isNoFoldingForced() < span class = "keyword" > const< / span > ;
< a name = "l00066" > < / a > 00066
< a name = "l00067" > < / a > 00067 < span class = "keywordtype" > void< / span > contextItemUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00068" > < / a > 00068 < span class = "keywordtype" > void< / span > contextPositionUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00069" > < / a > 00069 < span class = "keywordtype" > void< / span > contextSizeUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00070" > < / a > 00070 < span class = "keywordtype" > bool< / span > isContextItemUsed() < span class = "keyword" > const< / span > ;
< a name = "l00071" > < / a > 00071 < span class = "keywordtype" > bool< / span > isContextPositionUsed() < span class = "keyword" > const< / span > ;
< a name = "l00072" > < / a > 00072 < span class = "keywordtype" > bool< / span > isContextSizeUsed() < span class = "keyword" > const< / span > ;
< a name = "l00074" > < / a > 00074 < span class = "keywordtype" > bool< / span > areContextFlagsUsed() < span class = "keyword" > const< / span > ;
< a name = "l00075" > < / a > 00075
< a name = "l00076" > < / a > 00076 < span class = "keywordtype" > void< / span > currentTimeUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00077" > < / a > 00077 < span class = "keywordtype" > void< / span > implicitTimezoneUsed(< span class = "keywordtype" > bool< / span > value);
2020-02-17 22:19:57 +01:00
< a name = "l00078" > < / a > 00078
2020-02-17 22:22:42 +01:00
< a name = "l00079" > < / a > 00079 < span class = "keywordtype" > void< / span > availableDocumentsUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00080" > < / a > 00080 < span class = "keywordtype" > void< / span > availableCollectionsUsed(< span class = "keywordtype" > bool< / span > value);
< a name = "l00081" > < / a > 00081 < span class = "keywordtype" > bool< / span > areDocsOrCollectionsUsed() < span class = "keyword" > const< / span > ;
< a name = "l00082" > < / a > 00082
< a name = "l00083" > < / a > 00083 < span class = "keywordtype" > void< / span > variableUsed(< span class = "keyword" > const< / span > XMLCh *namespaceURI, < span class = "keyword" > const< / span > XMLCh *name);
< a name = "l00084" > < / a > 00084 < span class = "keywordtype" > bool< / span > removeVariable(< span class = "keyword" > const< / span > XMLCh *namespaceURI, < span class = "keyword" > const< / span > XMLCh *name);
< a name = "l00085" > < / a > 00085 < span class = "keywordtype" > bool< / span > isVariableUsed(< span class = "keyword" > const< / span > XMLCh *namespaceURI, < span class = "keyword" > const< / span > XMLCh *name) < span class = "keyword" > const< / span > ;
< a name = "l00086" > < / a > 00086 < span class = "keywordtype" > bool< / span > isVariableUsed() < span class = "keyword" > const< / span > ;
< a name = "l00087" > < / a > 00087 < a class = "code" href = "classStaticAnalysis_1_1VarEntry.html" > VarEntry< / a > **variablesUsed() < span class = "keyword" > const< / span > ;
2020-02-17 22:19:57 +01:00
< a name = "l00088" > < / a > 00088
2020-02-17 22:22:42 +01:00
< a name = "l00090" > < / a > 00090 < span class = "keywordtype" > void< / span > add(< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00091" > < / a > 00091 < span class = "keywordtype" > void< / span > addExceptContextFlags(< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00092" > < / a > 00092 < span class = "keywordtype" > void< / span > addExceptVariable(< span class = "keyword" > const< / span > XMLCh *namespaceURI, < span class = "keyword" > const< / span > XMLCh *name, < span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00093" > < / a > 00093
< a name = "l00095" > < / a > 00095 < span class = "keywordtype" > bool< / span > isUsed() < span class = "keyword" > const< / span > ;
< a name = "l00096" > < / a > 00096 < span class = "keywordtype" > bool< / span > isUsedExceptContextFlags() < span class = "keyword" > const< / span > ;
< a name = "l00097" > < / a > 00097
< a name = "l00098" > < / a > 00098 < span class = "keywordtype" > void< / span > creative(< span class = "keywordtype" > bool< / span > value);
< a name = "l00099" > < / a > 00099 < span class = "keywordtype" > bool< / span > isCreative() < span class = "keyword" > const< / span > ;
2020-02-17 22:19:57 +01:00
< a name = "l00100" > < / a > 00100
2020-02-17 22:22:42 +01:00
< a name = "l00101" > < / a > 00101 < span class = "keywordtype" > void< / span > updating(< span class = "keywordtype" > bool< / span > value);
< a name = "l00102" > < / a > 00102 < span class = "keywordtype" > bool< / span > isUpdating() < span class = "keyword" > const< / span > ;
< a name = "l00103" > < / a > 00103 < span class = "keywordtype" > void< / span > possiblyUpdating(< span class = "keywordtype" > bool< / span > value);
< a name = "l00104" > < / a > 00104 < span class = "keywordtype" > bool< / span > isPossiblyUpdating() < span class = "keyword" > const< / span > ;
< a name = "l00105" > < / a > 00105
< a name = "l00110" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdb" > 00110< / a > < span class = "keyword" > enum< / span > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdb" title = "Properties that allow optimisation regarding sorting or not." > Properties< / a > {
< a name = "l00111" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba556a2d2f30a0b2ac47a5fc72e2629ef4" > 00111< / a > DOCORDER = 0x001,
< a name = "l00112" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba1093decfa6ad66bc4fbb5c05d821e62d" > 00112< / a > PEER = 0x002,
< a name = "l00113" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba77757dcade3a37d59c1dda19ed3f5ac1" > 00113< / a > SUBTREE = 0x004,
< a name = "l00114" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdbaa3fe94f75b04ef7608164516305bb083" > 00114< / a > GROUPED = 0x008,
< a name = "l00115" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba345d71665977d68a44d12b6ff1b78c94" > 00115< / a > SAMEDOC = 0x010,
< a name = "l00116" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdbaaa098e5bd17bd39844b52916a047e115" > 00116< / a > ONENODE = 0x020,
< a name = "l00117" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba8a579822e88a244ac99133b1ec019d73" > 00117< / a > SELF = 0x040,
< a name = "l00118" > < / a > < a class = "code" href = "classStaticAnalysis.html#abd89d9984038088ad3e82fbbbdcffbdba341967627cc8e59c20e04b8378963e3c" > 00118< / a > UNDEFINEDVAR = 0x080
< a name = "l00119" > < / a > 00119 };
< a name = "l00120" > < / a > 00120
< a name = "l00121" > < / a > 00121 < span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > getProperties() < span class = "keyword" > const< / span > ;
< a name = "l00122" > < / a > 00122 < span class = "keywordtype" > void< / span > setProperties(< span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > props);
< a name = "l00123" > < / a > 00123
< a name = "l00124" > < / a > 00124 < span class = "keyword" > const< / span > < a class = "code" href = "classStaticType.html" title = "Class that represents the static type of an expression." > StaticType< / a > & getStaticType() < span class = "keyword" > const< / span > ;
< a name = "l00125" > < / a > 00125 < a class = "code" href = "classStaticType.html" title = "Class that represents the static type of an expression." > StaticType< / a > & getStaticType();
< a name = "l00126" > < / a > 00126
< a name = "l00127" > < / a > 00127 std::string toString() < span class = "keyword" > const< / span > ;
2020-02-17 22:19:57 +01:00
< a name = "l00128" > < / a > 00128
2020-02-17 22:22:42 +01:00
< a name = "l00129" > < / a > 00129 < span class = "keyword" > private< / span > :
< a name = "l00130" > < / a > 00130 < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > (< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00131" > < / a > 00131 < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & operator=(< span class = "keyword" > const< / span > < a class = "code" href = "classStaticAnalysis.html" title = "Records access to various parts of the context during static resolution." > StaticAnalysis< / a > & o);
< a name = "l00132" > < / a > 00132
< a name = "l00133" > < / a > 00133 < span class = "keywordtype" > bool< / span > _contextItem;
< a name = "l00134" > < / a > 00134 < span class = "keywordtype" > bool< / span > _contextPosition;
< a name = "l00135" > < / a > 00135 < span class = "keywordtype" > bool< / span > _contextSize;
< a name = "l00136" > < / a > 00136 < span class = "keywordtype" > bool< / span > _currentTime;
< a name = "l00137" > < / a > 00137 < span class = "keywordtype" > bool< / span > _implicitTimezone;
< a name = "l00138" > < / a > 00138 < span class = "keywordtype" > bool< / span > _availableDocuments;
< a name = "l00139" > < / a > 00139 < span class = "keywordtype" > bool< / span > _availableCollections;
< a name = "l00140" > < / a > 00140 < span class = "keywordtype" > bool< / span > _forceNoFolding;
< a name = "l00141" > < / a > 00141 < span class = "keywordtype" > bool< / span > _creative;
< a name = "l00142" > < / a > 00142 < span class = "keywordtype" > bool< / span > _updating;
< a name = "l00143" > < / a > 00143 < span class = "keywordtype" > bool< / span > _possiblyUpdating;
< a name = "l00144" > < / a > 00144
< a name = "l00145" > < / a > 00145 < span class = "keywordtype" > unsigned< / span > < span class = "keywordtype" > int< / span > _properties;
< a name = "l00146" > < / a > 00146 < a class = "code" href = "classStaticType.html" title = "Class that represents the static type of an expression." > StaticType< / a > _staticType;
2020-02-17 22:19:57 +01:00
< a name = "l00147" > < / a > 00147
2020-02-17 22:22:42 +01:00
< a name = "l00148" > < / a > 00148 VarEntry *_dynamicVariables[HASH_SIZE];
< a name = "l00149" > < / a > 00149 VarEntry *_recycle;
< a name = "l00150" > < / a > 00150 < a class = "code" href = "classXPath2MemoryManager.html" > XPath2MemoryManager< / a > *_memMgr;
< a name = "l00151" > < / a > 00151 };
< a name = "l00152" > < / a > 00152
< a name = "l00153" > < / a > 00153 < span class = "preprocessor" > #endif< / span >
2020-02-17 22:19:57 +01:00
< / pre > < / div > < / div >
2020-02-17 22:24:17 +01:00
< hr size = "1" / > < address style = "text-align: right;" > < small > Generated on 18 May 2015 for XQilla Simple API by
2020-02-17 22:19:57 +01:00
< a href = "http://www.doxygen.org/index.html" >
2020-02-17 22:23:16 +01:00
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.6.1 < / small > < / address >
2020-02-17 22:19:57 +01:00
< / body >
< / html >