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)
30KB
534 行
ink! Analyzer Proc-macros
用于 ink-analyzer 和 ink-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