You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.2 KiB
47 lines
1.2 KiB
//===- AssertCmd.cpp ------------------------------------------------------===//
|
|
//
|
|
// The MCLinker Project
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#include "mcld/Script/AssertCmd.h"
|
|
|
|
#include "mcld/LinkerScript.h"
|
|
#include "mcld/Module.h"
|
|
#include "mcld/Script/RpnExpr.h"
|
|
#include "mcld/Support/raw_ostream.h"
|
|
|
|
namespace mcld {
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// AssertCmd
|
|
//===----------------------------------------------------------------------===//
|
|
AssertCmd::AssertCmd(RpnExpr& pRpnExpr, const std::string& pMessage)
|
|
: ScriptCommand(ScriptCommand::ASSERT),
|
|
m_RpnExpr(pRpnExpr),
|
|
m_Message(pMessage) {
|
|
}
|
|
|
|
AssertCmd::~AssertCmd() {
|
|
}
|
|
|
|
AssertCmd& AssertCmd::operator=(const AssertCmd& pAssertCmd) {
|
|
return *this;
|
|
}
|
|
|
|
void AssertCmd::dump() const {
|
|
mcld::outs() << "Assert ( ";
|
|
|
|
m_RpnExpr.dump();
|
|
|
|
mcld::outs() << " , " << m_Message << " )\n";
|
|
}
|
|
|
|
void AssertCmd::activate(Module& pModule) {
|
|
pModule.getScript().assertions().push_back(*this);
|
|
}
|
|
|
|
} // namespace mcld
|