#include "fxjs/xfa/cfxjse_resolveprocessor.h"
#include <algorithm>
#include <utility>
#include <vector>
#include "core/fxcrt/check.h"
#include "core/fxcrt/check_op.h"
#include "core/fxcrt/containers/contains.h"
#include "core/fxcrt/fx_extension.h"
#include "fxjs/xfa/cfxjse_engine.h"
#include "fxjs/xfa/cfxjse_nodehelper.h"
#include "fxjs/xfa/cfxjse_value.h"
#include "fxjs/xfa/cjx_object.h"
#include "xfa/fxfa/parser/cxfa_document.h"
#include "xfa/fxfa/parser/cxfa_localemgr.h"
#include "xfa/fxfa/parser/cxfa_node.h"
#include "xfa/fxfa/parser/cxfa_object.h"
#include "xfa/fxfa/parser/cxfa_occur.h"
#include "xfa/fxfa/parser/xfa_utils.h"
CFXJSE_ResolveProcessor::CFXJSE_ResolveProcessor(CFXJSE_Engine* pEngine,
CFXJSE_NodeHelper* pHelper)
: … { … }
CFXJSE_ResolveProcessor::~CFXJSE_ResolveProcessor() = default;
bool CFXJSE_ResolveProcessor::Resolve(v8::Isolate* pIsolate, NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveAnyChild(v8::Isolate* pIsolate,
NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveDollar(v8::Isolate* pIsolate,
NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveExcalmatory(v8::Isolate* pIsolate,
NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveNumberSign(v8::Isolate* pIsolate,
NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveForAttributeRs(
CXFA_Object* curNode,
CFXJSE_Engine::ResolveResult* rnd,
WideStringView strAttr) { … }
bool CFXJSE_ResolveProcessor::ResolveNormal(v8::Isolate* pIsolate,
NodeData& rnd) { … }
bool CFXJSE_ResolveProcessor::ResolveAsterisk(NodeData& rnd) { … }
int32_t CFXJSE_ResolveProcessor::GetFilter(WideStringView wsExpression,
int32_t nStart,
NodeData& rnd) { … }
void CFXJSE_ResolveProcessor::ConditionArray(size_t iCurIndex,
WideString wsCondition,
size_t iFoundCount,
NodeData* pRnd) { … }
void CFXJSE_ResolveProcessor::FilterCondition(v8::Isolate* pIsolate,
WideString wsCondition,
NodeData* pRnd) { … }
void CFXJSE_ResolveProcessor::SetStylesForChild(
Mask<XFA_ResolveFlag> dwParentStyles,
NodeData& rnd) { … }
int32_t CFXJSE_ResolveProcessor::IndexForDataBind(
const WideString& wsNextCondition,
int32_t iCount) { … }
void CFXJSE_ResolveProcessor::DoPredicateFilter(v8::Isolate* pIsolate,
WideString wsCondition,
size_t iFoundCount,
NodeData* pRnd) { … }
CFXJSE_ResolveProcessor::NodeData::NodeData() = default;
CFXJSE_ResolveProcessor::NodeData::~NodeData() = default;