#include "third_party/blink/renderer/core/xml/xpath_parser.h"
#include "base/memory/ptr_util.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_xpath_ns_resolver.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/xml/xpath_evaluator.h"
#include "third_party/blink/renderer/core/xml/xpath_grammar_generated.h"
#include "third_party/blink/renderer/core/xml/xpath_path.h"
#include "third_party/blink/renderer/core/xml/xpath_util.h"
#include "third_party/blink/renderer/platform/bindings/exception_state.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
#include "third_party/blink/renderer/platform/wtf/std_lib_extras.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
namespace blink {
namespace xpath {
YyParser;
TokenType;
Parser* Parser::current_parser_ = …;
enum XMLCat { … };
AxisNamesMap;
static XMLCat CharCat(UChar a_char) { … }
static void SetUpAxisNamesMap(AxisNamesMap& axis_names) { … }
static bool IsAxisName(const String& name, Step::Axis& type) { … }
static bool IsNodeTypeName(const String& name) { … }
bool Parser::IsBinaryOperatorContext() const { … }
void Parser::SkipWS() { … }
Token Parser::MakeTokenAndAdvance(int code, int advance) { … }
Token Parser::MakeTokenAndAdvance(int code,
NumericOp::Opcode val,
int advance) { … }
Token Parser::MakeTokenAndAdvance(int code, EqTestOp::Opcode val, int advance) { … }
char Parser::PeekAheadHelper() { … }
char Parser::PeekCurHelper() { … }
Token Parser::LexString() { … }
Token Parser::LexNumber() { … }
bool Parser::LexNCName(String& name) { … }
bool Parser::LexQName(String& name) { … }
Token Parser::NextTokenInternal() { … }
Token Parser::NextToken() { … }
Parser::Parser(UseCounter* use_counter) : … { … }
Parser::~Parser() = default;
void Parser::Reset(const String& data) { … }
int Parser::Lex(void* data) { … }
bool Parser::ExpandQName(const String& q_name,
AtomicString& local_name,
AtomicString& namespace_uri) { … }
Expression* Parser::ParseStatement(const String& statement,
V8XPathNSResolver* resolver,
ExceptionState& exception_state) { … }
}
}