1 // Copyright (C) 2020-2023 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 struct RustIdent
28 {
29 Resolver::CanonicalPath path;
30 Location locus;
31
32 RustIdent (const Resolver::CanonicalPath &path, Location locus)
33 : path (path), locus (locus)
34 {}
35
36 RustIdent (const RustIdent &other) : path (other.path), locus (other.locus) {}
37
38 RustIdent &operator= (const RustIdent &other)
39 {
40 path = other.path;
41 locus = other.locus;
42
43 return *this;
44 }
45 };
46
47 } // namespace Rust
48
49 #endif // RUST_IDENTIFIER