/usr/include/xqilla/functions/FunctionSignature.hpp is in libxqilla-dev 2.3.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | /*
* Copyright (c) 2004, 2011,
* Oracle and/or its affiliates. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FUNCTIONSIGNATURE_HPP
#define FUNCTIONSIGNATURE_HPP
#include <xqilla/framework/XQillaExport.hpp>
#include <xqilla/ast/StaticAnalysis.hpp>
#include <xqilla/ast/LocationInfo.hpp>
class SequenceType;
class XQILLA_API ArgumentSpec : public LocationInfo
{
public:
ArgumentSpec(const XMLCh *qname, SequenceType *type, XPath2MemoryManager *memMgr);
ArgumentSpec(const ArgumentSpec *o, XPath2MemoryManager *memMgr);
void release(XPath2MemoryManager *mm);
const XMLCh *getURI() const { return uri_; }
void setURI(const XMLCh *uri) { uri_ = uri; }
const XMLCh *getName() const { return name_; }
void setName(const XMLCh *name) { name_ = name; }
const XMLCh *getQName() const { return qname_; }
void setQName(const XMLCh *qname) { qname_ = qname; }
SequenceType *getType() const { return seqType_; }
void setType(SequenceType *type) { seqType_ = type; }
bool isUsed() const { return used_; }
void setNotUsed() { used_ = false; }
const StaticAnalysis &getStaticAnalysis() const { return src_; }
void staticResolution(StaticContext* context);
private:
const XMLCh *qname_, *uri_, *name_;
bool used_;
SequenceType *seqType_;
StaticAnalysis src_;
};
typedef std::vector<ArgumentSpec*,XQillaAllocator<ArgumentSpec*> > ArgumentSpecs;
class XQILLA_API FunctionSignature
{
public:
FunctionSignature(XPath2MemoryManager *mm);
FunctionSignature(ArgumentSpecs *a, SequenceType *r, XPath2MemoryManager *mm);
FunctionSignature(const FunctionSignature *o, XPath2MemoryManager *mm);
FunctionSignature(const FunctionSignature *o, unsigned int skipArg, XPath2MemoryManager *mm);
void release();
void staticResolution(StaticContext *context);
void toBuffer(XERCES_CPP_NAMESPACE_QUALIFIER XMLBuffer &buffer, bool typeSyntax) const;
enum OptionValue { OP_DEFAULT, OP_TRUE, OP_FALSE };
OptionValue updating;
OptionValue nondeterministic;
OptionValue privateOption;
ArgumentSpecs *argSpecs;
SequenceType *returnType;
XPath2MemoryManager *memMgr;
};
#endif
|