1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
//! Solidity keywords.
macro_rules! custom_keywords {
($($name:ident),+ $(,)?) => {$(
syn::custom_keyword!($name);
impl $crate::Spanned for $name {
#[inline]
fn span(&self) -> ::proc_macro2::Span {
self.span
}
#[inline]
fn set_span(&mut self, span: ::proc_macro2::Span) {
self.span = span;
}
}
)+};
}
#[rustfmt::skip]
custom_keywords!(
// Storage
memory,
storage,
calldata,
// Visibility
external,
public,
internal,
private,
// Mutability
pure,
view,
constant,
payable,
immutable,
// Contract
contract,
interface,
library,
// Error
error,
panic,
// Event
event,
indexed,
anonymous,
// Function
constructor,
function,
fallback,
receive,
modifier,
returns,
// Types
tuple,
mapping,
// Import directives
import,
from,
// Pragma directives
pragma,
solidity,
abicoder,
experimental,
// Using directives
using,
global,
// Literals
unicode,
hex,
// Sub-denominations
wei,
gwei,
ether,
seconds,
minutes,
hours,
days,
weeks,
years,
// Other
assembly,
catch,
delete,
emit,
is,
new,
revert,
unchecked,
);