luaur_analysis/methods/data_flow_graph_get_def_data_flow_graph.rs
1//! @skeleton-stub
2//! C++ `DefId DataFlowGraph::getDef(const AstExpr* expr) const`
3//! (`Analysis/src/DataFlowGraph.cpp:64`). Interface-only: the body awaits the
4//! full DataFlowGraph port; the signature is the contract its callers depend on.
5use crate::records::data_flow_graph::DataFlowGraph;
6use crate::type_aliases::def_id_def::DefId;
7use luaur_ast::records::ast_expr::AstExpr;
8use luaur_common::macros::luau_assert::LUAU_ASSERT;
9
10impl DataFlowGraph {
11 pub fn get_def(&self, expr: *const AstExpr) -> DefId {
12 // C++: auto def = astDefs.find(expr); LUAU_ASSERT(def); return NotNull{*def};
13 let def = self.ast_defs.find(&expr);
14 LUAU_ASSERT!(def.is_some());
15 *def.unwrap()
16 }
17}