Line data Source code
1 : // Copyright (C) 2020-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 : #ifndef RUST_IDENTIFIER
20 : #define RUST_IDENTIFIER
21 :
22 : #include "rust-canonical-path.h"
23 : #include "rust-location.h"
24 :
25 : namespace Rust {
26 :
27 173819490 : struct RustIdent
28 : {
29 : Resolver::CanonicalPath path;
30 : location_t locus;
31 :
32 87181249 : RustIdent (const Resolver::CanonicalPath &path, location_t locus)
33 87181249 : : path (path), locus (locus)
34 : {}
35 :
36 174110515 : RustIdent (const RustIdent &other) : path (other.path), locus (other.locus) {}
37 :
38 64 : RustIdent &operator= (const RustIdent &other)
39 : {
40 64 : path = other.path;
41 64 : locus = other.locus;
42 :
43 64 : return *this;
44 : }
45 : };
46 :
47 : } // namespace Rust
48 :
49 : #endif // RUST_IDENTIFIER
|