blob: fc3cf09c41f65fe9c83e9a846440ce77e3ba3c5f [file] [log] [blame]
/*
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: ParseLibraryDef.h
* Author: alain
*
* Created on January 27, 2018, 5:05 PM
*/
#ifndef PARSELIBRARYDEF_H
#define PARSELIBRARYDEF_H
#include "Library/LibrarySet.h"
#include "Config/ConfigSet.h"
#include "Design/FileContent.h"
namespace SURELOG {
class ParseLibraryDef {
public:
ParseLibraryDef(CommandLineParser* commandLineParser, ErrorContainer* errors,
SymbolTable* symbolTable, LibrarySet* librarySet,
ConfigSet* configSet);
ParseLibraryDef(const ParseLibraryDef& orig);
bool parseLibrariesDefinition();
bool parseLibraryDefinition(SymbolId file, Library* lib = NULL);
bool parseConfigDefinition();
virtual ~ParseLibraryDef();
SymbolId getFileId() { return m_fileId; }
CommandLineParser* getCommandLineParser() { return m_commandLineParser; }
ErrorContainer* getErrorContainer() { return m_errors; }
SymbolTable* getSymbolTable() { return m_symbolTable; }
LibrarySet* getLibrarySet() { return m_librarySet; }
ConfigSet* getConfigSet() { return m_configSet; }
private:
SymbolId m_fileId;
CommandLineParser* m_commandLineParser;
ErrorContainer* m_errors;
SymbolTable* m_symbolTable;
LibrarySet* m_librarySet;
ConfigSet* m_configSet;
FileContent* m_fileContent;
};
}; // namespace SURELOG
#endif /* PARSELIBRARYDEF_H */