mirror of
https://github.com/revng/revng
synced 2026-06-21 14:07:57 +00:00
30 lines
1.0 KiB
C++
30 lines
1.0 KiB
C++
//
|
|
// This file is distributed under the MIT License. See LICENSE.md for details.
|
|
//
|
|
|
|
#include "revng/EarlyFunctionAnalysis/CallEdge.h"
|
|
#include "revng/EarlyFunctionAnalysis/FunctionEdge.h"
|
|
#include "revng/EarlyFunctionAnalysis/FunctionEdgeBase.h"
|
|
#include "revng/Yield/CallEdge.h"
|
|
#include "revng/Yield/FunctionEdge.h"
|
|
#include "revng/Yield/FunctionEdgeBase.h"
|
|
|
|
yield::CallEdge::CallEdge(const efa::CallEdge &Source) {
|
|
Kind() = yield::FunctionEdgeBaseKind::CallEdge;
|
|
Destination() = Source.Destination();
|
|
Type() = yield::FunctionEdgeType::from(Source.Type());
|
|
DynamicFunction() = Source.DynamicFunction();
|
|
IsTailCall() = Source.IsTailCall();
|
|
Attributes() = Source.Attributes();
|
|
}
|
|
|
|
yield::FunctionEdge::FunctionEdge(const efa::FunctionEdge &Source) {
|
|
Kind() = yield::FunctionEdgeBaseKind::FunctionEdge;
|
|
Destination() = Source.Destination();
|
|
Type() = yield::FunctionEdgeType::from(Source.Type());
|
|
}
|
|
|
|
const yield::CallEdge *yield::FunctionEdgeBase::getCallEdge() const {
|
|
return llvm::dyn_cast<CallEdge>(this);
|
|
}
|