diff options
Diffstat (limited to 'Source/cmState.h')
-rw-r--r-- | Source/cmState.h | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/Source/cmState.h b/Source/cmState.h index 3132d1b..86945f6 100644 --- a/Source/cmState.h +++ b/Source/cmState.h @@ -21,6 +21,8 @@ class cmake; class cmCommand; +class cmDefinitions; +class cmListFileBacktrace; class cmState { @@ -35,12 +37,14 @@ public: enum SnapshotType { + BaseType, BuildsystemDirectoryType, FunctionCallType, MacroCallType, CallStackType, InlineListFileType, - PolicyScopeType + PolicyScopeType, + VariableScopeType }; class Directory; @@ -50,6 +54,14 @@ public: Snapshot(cmState* state = 0); Snapshot(cmState* state, PositionType position); + const char* GetDefinition(std::string const& name) const; + bool IsInitialized(std::string const& name) const; + void SetDefinition(std::string const& name, std::string const& value); + void RemoveDefinition(std::string const& name); + std::vector<std::string> UnusedKeys() const; + std::vector<std::string> ClosureKeys() const; + bool RaiseScope(std::string const& var, const char* varDef); + void SetListFile(std::string const& listfile); std::string GetExecutionListFile() const; @@ -161,6 +173,9 @@ public: std::string const& entryPointCommand, long entryPointLine, std::string const& fileName); + Snapshot CreateVariableScopeSnapshot(Snapshot originSnapshot, + std::string const& entryPointCommand, + long entryPointLine); Snapshot CreateInlineListFileSnapshot(Snapshot originSnapshot, const std::string& entryPointCommand, long entryPointLine, @@ -275,6 +290,7 @@ private: cmLinkedTree<PolicyStackEntry> PolicyStack; cmLinkedTree<SnapshotDataType> SnapshotData; + cmLinkedTree<cmDefinitions> VarTree; std::vector<std::string> SourceDirectoryComponents; std::vector<std::string> BinaryDirectoryComponents; |