From 9fd546bec23ac817a45da28889e76118969db91e Mon Sep 17 00:00:00 2001 From: Edwin Cheng Date: Sun, 3 Nov 2019 13:19:50 +0800 Subject: Add map_id to TokenId --- crates/ra_tt/src/lib.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'crates/ra_tt') diff --git a/crates/ra_tt/src/lib.rs b/crates/ra_tt/src/lib.rs index 20c251ff4..96410ff22 100644 --- a/crates/ra_tt/src/lib.rs +++ b/crates/ra_tt/src/lib.rs @@ -25,11 +25,23 @@ use smol_str::SmolStr; /// source token and making sure that identities are preserved during macro /// expansion. #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -pub struct TokenId(pub u32); +pub struct TokenId(u32, u32); impl TokenId { + pub fn new(token_id: u32, map_id: u32) -> TokenId { + TokenId(token_id, map_id) + } + pub const fn unspecified() -> TokenId { - TokenId(!0) + TokenId(!0, !0) + } + + pub fn token_id(&self) -> u32 { + self.0 + } + + pub fn map_id(&self) -> u32 { + self.1 } } -- cgit v1.2.3