| /* | |
| Copyright 2019 Alain Dargelas | |
| Licensed under the Apache License, Version 2.0 (the "License"); | |
| you may not use this file except in compliance with the License. | |
| You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| */ | |
| /* | |
| * File: DesignElement.h | |
| * Author: alain | |
| * | |
| * Created on June 8, 2017, 8:05 PM | |
| */ | |
| #ifndef DESIGNELEMENT_H | |
| #define DESIGNELEMENT_H | |
| namespace SURELOG { | |
| class DesignElement { | |
| public: | |
| typedef enum { | |
| Module, | |
| Primitive, | |
| Interface, | |
| Program, | |
| Package, | |
| Config, | |
| Checker, | |
| Class, // Class is not a Design element per Standard, but is a major | |
| // component tracked | |
| Function, // Function is not a Design Element per Standard, but in a | |
| // package it is a element worth tracking | |
| Task, | |
| SLline // Used to split files with correct file info | |
| } ElemType; | |
| DesignElement(SymbolId name, SymbolId fileId, ElemType type, | |
| SymbolId uniqueId, unsigned int line, SymbolId parent); | |
| virtual ~DesignElement(); | |
| SymbolId m_name; | |
| SymbolId m_fileId; | |
| ElemType m_type; | |
| SymbolId m_uniqueId; | |
| unsigned int m_line; | |
| TimeInfo m_timeInfo; | |
| SymbolId m_parent; | |
| NodeId m_node; | |
| void* m_context; // Not persisted field, only used to build the DesignElement | |
| // -> VNode relation | |
| private: | |
| }; | |
| }; // namespace SURELOG | |
| #endif /* DESIGNELEMENT_H */ |