Fix formatting.
This commit is contained in:
parent
82af6b4dfb
commit
e4c93f319d
@ -1,4 +1,9 @@
|
|||||||
use crate::ast::{CompilationUnit, DelegateOrIdentifier, Fqn, FunctionModifier, FunctionTypeUse, GenericArgument, GenericArguments, GenericParameter, GenericParameters, Identifier, InputArgument, InputArguments, InterfaceOrClassTypeUse, Reference, References, ReturnType, TupleTypeUse, TypeUse, VoidOrTypeUse};
|
use crate::ast::{
|
||||||
|
CompilationUnit, DelegateOrIdentifier, Fqn, FunctionModifier, FunctionTypeUse, GenericArgument,
|
||||||
|
GenericArguments, GenericParameter, GenericParameters, Identifier, InputArgument,
|
||||||
|
InputArguments, InterfaceOrClassTypeUse, Reference, References, ReturnType, TupleTypeUse,
|
||||||
|
TypeUse, VoidOrTypeUse,
|
||||||
|
};
|
||||||
use crate::parser::Rule;
|
use crate::parser::Rule;
|
||||||
use pest::iterators::Pair;
|
use pest::iterators::Pair;
|
||||||
|
|
||||||
@ -90,7 +95,7 @@ fn build_function_type_use(function_pair: Pair<Rule>) -> FunctionTypeUse {
|
|||||||
}
|
}
|
||||||
Rule::ReturnType => {
|
Rule::ReturnType => {
|
||||||
return_type = Some(build_return_type(inner_pair));
|
return_type = Some(build_return_type(inner_pair));
|
||||||
},
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -177,15 +182,14 @@ fn build_return_type(return_type_pair: Pair<Rule>) -> ReturnType {
|
|||||||
let declared_type_pair = inner.next().unwrap();
|
let declared_type_pair = inner.next().unwrap();
|
||||||
let declared_type = match declared_type_pair.as_rule() {
|
let declared_type = match declared_type_pair.as_rule() {
|
||||||
Rule::Void => VoidOrTypeUse::Void,
|
Rule::Void => VoidOrTypeUse::Void,
|
||||||
Rule::TypeUse => VoidOrTypeUse::TypeUse(Box::new(
|
Rule::TypeUse => VoidOrTypeUse::TypeUse(Box::new(build_type_use(declared_type_pair))),
|
||||||
build_type_use(declared_type_pair)
|
|
||||||
)),
|
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
};
|
};
|
||||||
|
|
||||||
let references = inner.next().map(|ref_list_pair| {
|
let references = inner
|
||||||
expect_and_use(ref_list_pair, Rule::RefList, build_references)
|
.next()
|
||||||
}).unwrap_or(References(vec![]));
|
.map(|ref_list_pair| expect_and_use(ref_list_pair, Rule::RefList, build_references))
|
||||||
|
.unwrap_or(References(vec![]));
|
||||||
|
|
||||||
ReturnType {
|
ReturnType {
|
||||||
declared_type,
|
declared_type,
|
||||||
@ -197,12 +201,17 @@ fn build_references(ref_list_pair: Pair<Rule>) -> References {
|
|||||||
let mut identifiers: Vec<Identifier> = vec![];
|
let mut identifiers: Vec<Identifier> = vec![];
|
||||||
for pair in ref_list_pair.into_inner() {
|
for pair in ref_list_pair.into_inner() {
|
||||||
match pair.as_rule() {
|
match pair.as_rule() {
|
||||||
Rule::Ref => {},
|
Rule::Ref => {}
|
||||||
Rule::Identifier => {
|
Rule::Identifier => {
|
||||||
identifiers.push(build_identifier(pair));
|
identifiers.push(build_identifier(pair));
|
||||||
},
|
}
|
||||||
_ => unreachable!(),
|
_ => unreachable!(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
References(identifiers.into_iter().map(|identifier| Reference(identifier)).collect())
|
References(
|
||||||
|
identifiers
|
||||||
|
.into_iter()
|
||||||
|
.map(|identifier| Reference(identifier))
|
||||||
|
.collect(),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user