Skip to content

Commit

Permalink
add gtirb namespace for casts
Browse files Browse the repository at this point in the history
  • Loading branch information
5c4lar committed Apr 11, 2024
1 parent babbae0 commit 574a18e
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 12 deletions.
6 changes: 3 additions & 3 deletions src/gtirb-decoder/core/AuxDataLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ void PaddingLoader::operator()(const gtirb::Module& Module, souffle::SouffleProg

for(auto& [Offset, Size] : *Table)
{
auto* ByteInterval = dyn_cast_or_null<gtirb::ByteInterval>(
auto* ByteInterval = gtirb::dyn_cast_or_null<gtirb::ByteInterval>(
gtirb::Node::getByUUID(*Context, Offset.ElementId));
assert(ByteInterval && "Failed to find ByteInterval by UUID.");
if(ByteInterval->getAddress())
Expand All @@ -57,7 +57,7 @@ void FdeEntriesLoader::operator()(const gtirb::Module& Module, souffle::SouffleP

for(auto& Pair : *CfiDirectives)
{
auto* Block = dyn_cast_or_null<const gtirb::CodeBlock>(
auto* Block = gtirb::dyn_cast_or_null<const gtirb::CodeBlock>(
gtirb::Node::getByUUID(*Context, Pair.first.ElementId));
assert(Block && "Found CFI directive that does not belong to a block");

Expand Down Expand Up @@ -104,7 +104,7 @@ void FunctionEntriesLoader::operator()(const gtirb::Module& Module,
for(auto& UUID : Pair.second)
{
auto* Block =
dyn_cast_or_null<gtirb::CodeBlock>(gtirb::Node::getByUUID(*Context, UUID));
gtirb::dyn_cast_or_null<gtirb::CodeBlock>(gtirb::Node::getByUUID(*Context, UUID));
assert(Block && "Found function entry does not belong to a code block");
assert(Block->getAddress() && "Found code block without address.");
Functions.push_back(*Block->getAddress());
Expand Down
6 changes: 3 additions & 3 deletions src/gtirb-decoder/core/EdgesLoader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,22 +118,22 @@ void CfgLoader(const gtirb::Module& Module, souffle::SouffleProgram& Program)
{
auto Source = boost::source(Edge, Cfg);
auto Target = boost::target(Edge, Cfg);
if(const gtirb::CodeBlock* Src = dyn_cast<gtirb::CodeBlock>(Cfg[Source]))
if(const gtirb::CodeBlock* Src = gtirb::dyn_cast<gtirb::CodeBlock>(Cfg[Source]))
{
std::optional<gtirb::Addr> SrcAddr = Src->getAddress();
assert(SrcAddr && "Found source block without address.");

const gtirb::EdgeLabel& Label = Cfg[Edge];
auto [Conditional, Indirect, Type] = edgeProperties(Label);

if(const gtirb::CodeBlock* Dest = dyn_cast<gtirb::CodeBlock>(Cfg[Target]))
if(const gtirb::CodeBlock* Dest = gtirb::dyn_cast<gtirb::CodeBlock>(Cfg[Target]))
{
std::optional<gtirb::Addr> DestAddr = Dest->getAddress();
assert(DestAddr && "Found destination block without address.");
Edges.push_back({*SrcAddr, *DestAddr, Conditional, Indirect, Type});
}

if(const gtirb::ProxyBlock* Dest = dyn_cast<gtirb::ProxyBlock>(Cfg[Target]))
if(const gtirb::ProxyBlock* Dest = gtirb::dyn_cast<gtirb::ProxyBlock>(Cfg[Target]))
{
auto It = InvSymbolMap.find(Dest);
if(It != InvSymbolMap.end())
Expand Down
10 changes: 5 additions & 5 deletions src/passes/Disassembler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ void removeSectionSymbols(gtirb::Context &Context, gtirb::Module &Module)
for(const auto Uuid : Remove)
{
gtirb::Node *N = gtirb::Node::getByUUID(Context, Uuid);
if(auto *Symbol = dyn_cast_or_null<gtirb::Symbol>(N))
if(auto *Symbol = gtirb::dyn_cast_or_null<gtirb::Symbol>(N))
{
Module.removeSymbol(Symbol);
SymbolInfo->erase(Uuid);
Expand Down Expand Up @@ -864,7 +864,7 @@ void connectSymbolsToBlocks(gtirb::Context &Context, gtirb::Module &Module,
if(SectionIndex == SHN_COMMON)
{
gtirb::Node *Node = gtirb::Node::getByUUID(Context, Uuid);
if(auto *Symbol = dyn_cast_or_null<gtirb::Symbol>(Node);
if(auto *Symbol = gtirb::dyn_cast_or_null<gtirb::Symbol>(Node);
Symbol && Symbol->getAddress())
{
// Alignment is stored in the symbol's value field.
Expand Down Expand Up @@ -977,12 +977,12 @@ void connectSymbolsToBlocks(gtirb::Context &Context, gtirb::Module &Module,
for(auto [Symbol, T] : ConnectToBlock)
{
auto [Node, AtEnd] = T;
if(gtirb::CodeBlock *CodeBlock = dyn_cast_or_null<gtirb::CodeBlock>(Node))
if(gtirb::CodeBlock *CodeBlock = gtirb::dyn_cast_or_null<gtirb::CodeBlock>(Node))
{
Symbol->setReferent(CodeBlock);
Symbol->setAtEnd(AtEnd);
}
else if(gtirb::DataBlock *DataBlock = dyn_cast_or_null<gtirb::DataBlock>(Node))
else if(gtirb::DataBlock *DataBlock = gtirb::dyn_cast_or_null<gtirb::DataBlock>(Node))
{
Symbol->setReferent(DataBlock);
Symbol->setAtEnd(AtEnd);
Expand All @@ -995,7 +995,7 @@ void connectSymbolsToBlocks(gtirb::Context &Context, gtirb::Module &Module,
for(auto Forward : *SymbolForwarding)
{
gtirb::Node *Node = gtirb::Node::getByUUID(Context, std::get<1>(Forward));
if(auto *Symbol = dyn_cast_or_null<gtirb::Symbol>(Node))
if(auto *Symbol = gtirb::dyn_cast_or_null<gtirb::Symbol>(Node))
{
if(Symbol->hasReferent())
{
Expand Down
2 changes: 1 addition & 1 deletion src/passes/NoReturnPass.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ void NoReturnPass::transformImpl(AnalysisPassResult& Result, gtirb::Context& Con
boost::remove_edge_if(
[&](auto Edge) {
gtirb::EdgeLabel Label = *static_cast<const gtirb::EdgeLabel*>(Edge.get_property());
if(auto* Block = dyn_cast<gtirb::CodeBlock>(Cfg[Edge.m_source]))
if(auto* Block = gtirb::dyn_cast<gtirb::CodeBlock>(Cfg[Edge.m_source]))
return NoReturn.count(Block) && Label
&& std::get<gtirb::EdgeType>(*Label) == gtirb::EdgeType::Fallthrough;
return false;
Expand Down

0 comments on commit 574a18e

Please sign in to comment.