12#ifndef PARSEWORKER_HPP
13#define PARSEWORKER_HPP
23#include "UtMemory.hpp"
63 const std::map<WsfPProxyPath, std::string>& aRenameMap,
64 const std::map<WsfPProxyPath, std::string>& aSaveFiles);
100 : parseTreePtr(nullptr)
103 WsfParseNode* parseTreePtr;
110 : mTaskType(cTASK_PARSE)
112 , mParseResultsPtr(nullptr)
113 , mSequenceNumber(-1)
119 std::vector<UtPath> mMainFiles;
120 ParseResults* mParseResultsPtr;
121 long long mSequenceNumber;
124 WsfPProxyValue proxyToSerialize;
127 void SetDefinitions(
const std::shared_ptr<WsfParseDefinitions>& aDefinitionsPtr);
128 Result ParsePhase(ParseState& parseState);
129 Result ProxySyncPhase(ParseState& parseState,
const std::unique_ptr<WsfPProxy>& aProxyState);
130 void UpdateIncludeData(WsfParseSourceInclude* aIncludePtr,
131 std::map<UtTextDocument*, WsfParseSourceInclude*>& aFirstIncludes);
132 Result ExecuteSerialize();
137 std::shared_ptr<WsfParseDefinitions> mDefinitions;
138 std::shared_ptr<WsfPProxyRegistry> mProxyRegistry;
140 Project* mProjectPtr;
141 std::unique_ptr<WsfParser> mParserPtr;
142 WsfScriptTypes* mScriptDataBuildPtr;
143 WsfParseNodePool mRootNodePool;
144 std::map<WsfPProxyPath, std::string> mSaveFiles;
145 volatile bool mAborting;
146 bool mFirstDefinitions;
147 volatile bool mIsExecuting;
Definition WsfParseSourceInclude.hpp:31
Definition WsfParser.hpp:36
Provides access to the results of parsing the WSF inputs.
Definition ParseResults.hpp:147
bool IsExecuting()
Definition ParseWorker.hpp:86
std::vector< UtTextDocument * > StartSerialize(int aTaskId, const std::map< WsfPProxyPath, std::string > &aRenameMap, const std::map< WsfPProxyPath, std::string > &aSaveFiles)
Definition ParseWorker.cpp:281
Result ExecuteParse()
Definition ParseWorker.cpp:326
Result
Definition ParseWorker.hpp:69
@ cWORK_DONE
Definition ParseWorker.hpp:75
@ cPROXY_SYNC_COMPLETE
Definition ParseWorker.hpp:73
@ cFAILED
Definition ParseWorker.hpp:70
@ cABORTED
Definition ParseWorker.hpp:71
@ cPARSE_COMPLETE
Definition ParseWorker.hpp:72
@ cPROXY_SERIALIZE_COMPLETE
Definition ParseWorker.hpp:74
~ParseWorker()
Definition ParseWorker.cpp:45
volatile bool * mAbortSwitch
Definition ParseWorker.hpp:84
static const int cMAX_ERROR_COUNT
Definition ParseWorker.hpp:53
Result Execute()
Definition ParseWorker.cpp:96
ParseWorker(Project *aProjectPtr)
Definition ParseWorker.cpp:33
friend class ViProjectParseThread
Definition ParseWorker.hpp:52
void UpdateParseDefinitions()
Updates the parse definitions from the project's selected executable.
Definition ParseWorker.cpp:312
void Start(ParseResults *aResultsPtr, int aTaskId, bool aTestingParse)
Primes the worker to begin a new parse.
Definition ParseWorker.cpp:55
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
Definition WsfScriptData.hpp:213