11#ifndef WSFSCRIPTLOOKUP_HPP
12#define WSFSCRIPTLOOKUP_HPP
17#include "UtMemory.hpp"
18#include "UtTextDocument.hpp"
50 void SetLocation(UtTextDocumentLocation aLocation, StopLocation aParseStopLocation = cSTOP_AT_LOCATION);
51 void SetStoreErrors(
bool aStoreErrors);
85 UtTextDocumentRange GetDefinitionLocation(
UsSymbol* aSymPtr);
88 IdentifierToken(
const char* aBufferBegin,
const char* aBufferEnd,
size_t aCharOffset,
size_t& aBegin,
size_t& aEnd);
90 static UtTextDocumentRange IdentifierRange(UtTextDocumentLocation aLocation);
91 std::vector<WsfScriptParser::ErrorRecord>* GetErrors();
92 std::string GetFunctionDescription(
const std::string& aFunctionName,
94 const std::string& aClassName = std::string());
95 std::string GetScriptValDescription(
UsValRef aVal);
97 UtTextDocumentLocation
GetLocation()
const {
return mLocation; }
99 bool GetCurrentCallInfo(
int& aArgNumber,
100 size_t& aOpenParenPos,
101 size_t& aCloseParenPos,
102 std::string& aFunctionName,
103 std::vector<UsFunction>& aFunctionOptions);
106 void FreeParseData();
109 UpdateResult Parse(UtTextDocumentLocation aLocation);
111 void GetText(UtTextDocumentLocation& aScriptStart,
113 long long aSequenceNumber,
115 size_t& aFinalScriptStartPos);
119 UtTextDocumentLocation mLocation;
120 StopLocation mParseStopLocation;
122 std::string mScriptText;
124 long long mComputedDataSequenceNumber;
128 size_t mInsertPosition;
130 size_t mReplaceCharacters;
132 std::string mIdentifierLeftOfCursor;
133 int mSymbolSequenceNumber;
137 std::unique_ptr<WsfScriptInfo> mScriptInfoPtr;
138 std::unique_ptr<WsfScriptDetailObserver> mScriptDetailObserverPtr;
#define VI_EXPORT
Definition ViExport.hpp:38
aObjectPtr Update(simTime)
Definition UsSymbolTable.hpp:115
Definition UsSymbolTable.hpp:339
Definition UsSymbolTable.hpp:281
Definition UsSymbolTable.hpp:202
A WSF 'project'. Manages WSF sources files in a WSF project.
Definition Project.hpp:66
Definition WsfScriptData.hpp:177
Definition WsfScriptData.hpp:77
bool AddSymbolsFromThis(SymbolMap &aSymbols)
Definition WsfScriptLookup.cpp:350
bool AddMethodSymbols(SymbolMap &aSymbols)
Definition WsfScriptLookup.cpp:400
UsType * FindType(const std::string &aName)
Definition WsfScriptLookup.cpp:512
size_t GetInsertPosition() const
Definition WsfScriptLookup.hpp:78
WsfScriptLookup & operator=(WsfScriptLookup &&)=default
std::string GetIdentifierLeftOfCursor() const
Definition WsfScriptLookup.hpp:80
void SetScenario(Project *aProjectPtr)
Definition WsfScriptLookup.cpp:255
size_t GetReplaceCharacters() const
Definition WsfScriptLookup.hpp:79
UsSymbolTable * GetLocalScope()
Definition WsfScriptLookup.cpp:337
bool AddSymbolsInScope(SymbolMap &aSymbols)
Definition WsfScriptLookup.cpp:317
WsfScriptInfo * GetScriptInfo() const
Definition WsfScriptLookup.hpp:83
UsType * GetType(int aTypeId)
Definition WsfScriptLookup.cpp:521
WsfScriptLookup(const WsfScriptLookup &)=delete
WsfScriptLookup(Project *aProjectPtr)
Definition WsfScriptLookup.cpp:24
WsfScriptData * GetScriptData() const
Definition WsfScriptLookup.hpp:82
UsSymbol * Search(const std::string &aSymbolName)
Definition WsfScriptLookup.cpp:496
WsfScriptLookup(WsfScriptLookup &&)=default
StopLocation
Definition WsfScriptLookup.hpp:39
@ cSTOP_AT_END_OF_FUNCTION
Definition WsfScriptLookup.hpp:45
@ cSTOP_AT_LOCATION
Definition WsfScriptLookup.hpp:42
@ cSTOP_AT_END_OF_STATEMENT
Definition WsfScriptLookup.hpp:48
bool HasMethodSymbols()
Definition WsfScriptLookup.cpp:377
bool AddSymbolsFromType(SymbolMap &aSymbols, UsType *aTypePtr)
Definition WsfScriptLookup.cpp:368
UtTextDocumentLocation GetLocation() const
Definition WsfScriptLookup.hpp:97
WsfScriptLookup & operator=(const WsfScriptLookup &)=delete
UpdateResult
Definition WsfScriptLookup.hpp:55
@ cNO_SCRIPT
Definition WsfScriptLookup.hpp:56
@ cSUCCESS
Definition WsfScriptLookup.hpp:58
@ cSUCCESS_NO_CHANGES
Definition WsfScriptLookup.hpp:59
@ cFAILURE
Definition WsfScriptLookup.hpp:57
std::map< std::string, UsValRef > SymbolMap
Definition WsfScriptLookup.hpp:65
bool AddSymbolsFromBuiltins(SymbolMap &aSymbols)
Definition WsfScriptLookup.cpp:671
Definition UsSymbolTable.hpp:415