Line data Source code
1 : // Copyright (C) 2025-2026 Free Software Foundation, Inc.
2 :
3 : // This file is part of GCC.
4 :
5 : // GCC is free software; you can redistribute it and/or modify it under
6 : // the terms of the GNU General Public License as published by the Free
7 : // Software Foundation; either version 3, or (at your option) any later
8 : // version.
9 :
10 : // GCC is distributed in the hope that it will be useful, but WITHOUT ANY
11 : // WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 : // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 : // for more details.
14 :
15 : // You should have received a copy of the GNU General Public License
16 : // along with GCC; see the file COPYING3. If not see
17 : // <http://www.gnu.org/licenses/>.
18 :
19 : #include "ast/rust-path.h"
20 :
21 : namespace Rust {
22 :
23 : NodeId
24 56130 : unwrap_segment_node_id (const AST::TypePathSegment &seg)
25 : {
26 56130 : return seg.get_node_id ();
27 : }
28 :
29 : NodeId
30 19733 : unwrap_segment_node_id (const AST::SimplePathSegment &seg)
31 : {
32 19733 : return seg.get_node_id ();
33 : }
34 :
35 : NodeId
36 35334 : unwrap_segment_node_id (const AST::PathExprSegment &seg)
37 : {
38 35334 : return seg.get_node_id ();
39 : }
40 :
41 : tl::optional<LangItem::Kind>
42 108971 : unwrap_segment_get_lang_item (const AST::TypePathSegment &seg)
43 : {
44 108971 : if (seg.is_lang_item ())
45 780 : return seg.get_lang_item ();
46 108191 : return tl::nullopt;
47 : }
48 :
49 : tl::optional<LangItem::Kind>
50 24731 : unwrap_segment_get_lang_item (const AST::SimplePathSegment &seg)
51 : {
52 24731 : return tl::nullopt;
53 : }
54 :
55 : tl::optional<LangItem::Kind>
56 44451 : unwrap_segment_get_lang_item (const AST::PathExprSegment &seg)
57 : {
58 44451 : return tl::nullopt;
59 : }
60 :
61 : } // namespace Rust
|