3 个不稳定版本

使用旧 Rust 2015

0.2.0 2018 年 1 月 14 日
0.1.1 2017 年 8 月 9 日
0.1.0 2017 年 7 月 17 日

#2503Rust 模式

Download history 132/week @ 2023-11-18 135/week @ 2023-11-25 67/week @ 2023-12-02 114/week @ 2023-12-09 139/week @ 2023-12-16 104/week @ 2023-12-23 58/week @ 2023-12-30 122/week @ 2024-01-06 138/week @ 2024-01-13 93/week @ 2024-01-20 85/week @ 2024-01-27 66/week @ 2024-02-03 130/week @ 2024-02-10 213/week @ 2024-02-17 119/week @ 2024-02-24 118/week @ 2024-03-02

604 每月下载量
用于 16 个包(通过 mauzi_macros

MIT/Apache

31KB
789

literalext

Build Status

警告:此包不再维护。此包中的字面值解析逻辑已移动到 syn 0.12

要使用 syn 获取类似的行为,请通过调用 syn::parse2::<syn::Lit>(ts)syn::parse_str::<syn::Lit>(s) 解析 syn::Lit

此包为 proc-macroproc-macro2Literal 类型提供扩展方法。这些方法提供了一种提取类型值的机制。

API

proc_macro2::Literalproc_macro::LiteralDummyLiteral 类型添加了具有以下方法的 trait 实现,用于提取类型值

pub trait LiteralExt {
    /// If the `Literal` is an integer literal, returns its value.
    fn parse_int(&self) -> Option<IntLit>;

    /// If the `Literal` is a floating point literal, returns its value.
    fn parse_float(&self) -> Option<FloatLit>;

    /// If the `Literal` is a string literal, returns it's value.
    fn parse_string(&self) -> Option<String>;

    /// If the `Literal` is a char literal, returns it's value.
    fn parse_char(&self) -> Option<char>;

    /// If the `Literal` is a byte string literal, returns it's value.
    fn parse_bytes(&self) -> Option<Vec<u8>>;

    /// If the `Literal` is a byte literal, returns it's value.
    fn parse_byte(&self) -> Option<u8>;

    /// If the `Literal` is an inner doc comment (`//!` or `/*!`), returns a
    /// string with the text of the comment.
    fn parse_inner_doc(&self) -> Option<String>;

    /// If the `Literal` is an outer doc comment (`///` or `/**`), returns a
    /// string with the text of the comment.
    fn parse_outer_doc(&self) -> Option<String>;
}

支持的功能

  • i128:添加对 i128u128 整数类型的支持。 仅限 nightly

  • proc-macro2 默认:在 proc_macro2::Literal 上实现 LiteralExt

  • proc-macro:在 proc_macro::Literal 上实现 LiteralExt仅限 nightly

  • dummy:导出一个类型 DummyLiteral,它有一个公开构造函数,实现了 LiteralExt 特性。

依赖项

~220KB