#ifndef V8_COMPILER_NODE_H_
#define V8_COMPILER_NODE_H_
#include "src/common/globals.h"
#include "src/compiler/graph-zone-traits.h"
#include "src/compiler/opcodes.h"
#include "src/compiler/operator.h"
#include "src/compiler/types.h"
#include "src/zone/zone-containers.h"
namespace v8 {
namespace internal {
namespace compiler {
class Edge;
class Graph;
Mark;
NodeId;
class V8_EXPORT_PRIVATE Node final { … };
Address Node::inputs_location() const { … }
ZoneNodePtr* Node::OutOfLineInputs::inputs() { … }
std::ostream& operator<<(std::ostream& os, const Node& n);
class NodeWrapper { … };
class Effect : public NodeWrapper { … };
class Control : public NodeWrapper { … };
NodeDeque;
using NodeSet = ZoneSet<Node*>;
NodeVector;
NodeVectorVector;
class Node::InputEdges final { … };
class V8_EXPORT_PRIVATE Node::Inputs final { … };
class Edge final { … };
bool Node::IsDead() const { … }
Node::InputEdges Node::input_edges() { … }
Node::Inputs Node::inputs() const { … }
base::Vector<Node*> Node::inputs_vector() const { … }
class Node::InputEdges::iterator final { … };
Node::InputEdges::iterator Node::InputEdges::begin() const { … }
Node::InputEdges::iterator Node::InputEdges::end() const { … }
Edge Node::InputEdges::operator[](int index) const { … }
class Node::Inputs::const_iterator final { … };
Node::Inputs::const_iterator Node::Inputs::begin() const { … }
Node::Inputs::const_iterator Node::Inputs::end() const { … }
Node* Node::Inputs::operator[](int index) const { … }
class Node::UseEdges::iterator final { … };
Node::UseEdges::iterator Node::UseEdges::begin() const { … }
Node::UseEdges::iterator Node::UseEdges::end() const { … }
class Node::Uses::const_iterator final { … };
Node::Uses::const_iterator Node::Uses::begin() const { … }
Node::Uses::const_iterator Node::Uses::end() const { … }
inline Node::Uses::const_iterator begin(const Node::Uses& uses) { … }
inline Node::Uses::const_iterator end(const Node::Uses& uses) { … }
}
}
}
#endif