13 个不稳定版本 (6 个重大更改)

0.7.2 2024年2月4日
0.7.0 2023年12月3日
0.6.1 2023年7月8日

#47 in #ink

每月 30 次下载
3 个 crate 中使用 (通过 ink-analyzer-ir)

MIT/Apache

30KB
534

ink! Analyzer Proc-macros

用于 ink-analyzerink-analyzer-ir 的过程宏。

此库实现了主要由 ink-analyzer-ir crate 使用的过程宏。

安装

在您的项目目录中运行以下 Cargo 命令

cargo add ink-analyzer-macro

用法

示例

使用 ink_analyzer_macro::entity proc-macro 创建一个 Contract 类型。

use ink_analyzer_ir::{Event, Message, Storage};
use ink_analyzer_ir::ast;

#[ink_analyzer_macro::entity(macro_kind = Contract)]
#[derive(Debug, Clone, PartialEq, Eq)]
struct Contract {
    ast: ast::Module,
    storage: Option<Storage>,
    events: Vec<Event>,
    #[initializer(call = ink_analyzer_ir::ink_callable_closest_descendants)]
    messages: Vec<Message>,
    // --snip--
}

文档

https://docs.rs/ink-analyzer-macro/latest/ink_analyzer_macro/

或者您可以从项目根目录运行以下命令本地访问文档

cargo doc -p ink-analyzer-macro --open

测试

您可以从项目根目录运行以下命令来运行所有核心功能的单元测试

cargo test -p ink-analyzer-macro

许可证

根据您的选择,许可协议为 MIT 或 Apache-2.0 许可证。

贡献

除非您明确声明,否则任何有意提交供工作包含的贡献,根据 Apache-2.0 许可证定义,均应以上述方式双重许可,不附加任何额外条款或条件。

依赖项

~0.6–1MB
~25K SLoC