Differentiate between asm!(), global_asm!() and naked_asm!(), and make only asm!() unsafe

This commit is contained in:
Chayim Refael Friedman 2025-07-09 17:37:27 +03:00
parent edb804a100
commit bd8087e86e
16 changed files with 198 additions and 16 deletions

View file

@ -118,6 +118,14 @@ impl AsmExpr {
pub fn asm_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![asm]) }
#[inline]
pub fn builtin_token(&self) -> Option<SyntaxToken> { support::token(&self.syntax, T![builtin]) }
#[inline]
pub fn global_asm_token(&self) -> Option<SyntaxToken> {
support::token(&self.syntax, T![global_asm])
}
#[inline]
pub fn naked_asm_token(&self) -> Option<SyntaxToken> {
support::token(&self.syntax, T![naked_asm])
}
}
pub struct AsmLabel {
pub(crate) syntax: SyntaxNode,