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(())
}
§错误
如果标记流不包含有效的包声明,这个函数将返回一个错误。