pub fn package_declaration<'a>(
tokens: TokenStream,
) -> IResult<TokenStream, PackageDeclaration<'a>>Expand description
解析包声明从给定的标记流中。
这个函数接受一个 TokenStream 并返回一个 PackageDeclaration 以及剩余的标记。
§参数
tokens- 一个TokenStream,从中解析包声明。
§返回
包含剩余标记和 PackageDeclaration 的元组。
§示例
fn main() -> anyhow::Result<()> {
use java_lang::{
TokenStream,
package_declaration
};
let (_, tokens) = TokenStream::from_str(
"package com.test;",
)?;
assert! (!tokens.is_empty());
let (tokens, package) = package_declaration(tokens)?;
assert_eq!(package.name, "com.test");
assert!(tokens.is_empty());
Ok(())
}§错误
如果标记流不包含有效的包声明,这个函数将返回一个错误。