Fix error message.
This commit is contained in:
parent
9d4972f6d3
commit
2c94f956e5
@ -3612,31 +3612,39 @@ impl Engine {
|
|||||||
|
|
||||||
// Parse type for `this` pointer
|
// Parse type for `this` pointer
|
||||||
#[cfg(not(feature = "no_object"))]
|
#[cfg(not(feature = "no_object"))]
|
||||||
let ((token, pos), this_type) = match token {
|
let ((token, pos), this_type) = {
|
||||||
Token::StringConstant(s) if input.peek().expect(NEVER_ENDS).0 == Token::Period => {
|
let (next_token, next_pos) = input.peek().expect(NEVER_ENDS);
|
||||||
eat_token(input, Token::Period);
|
|
||||||
let s = match s.as_str() {
|
match token {
|
||||||
"int" => state.get_interned_string(std::any::type_name::<crate::INT>()),
|
Token::StringConstant(s) if next_token == &Token::Period => {
|
||||||
#[cfg(not(feature = "no_float"))]
|
eat_token(input, Token::Period);
|
||||||
"float" => state.get_interned_string(std::any::type_name::<crate::FLOAT>()),
|
let s = match s.as_str() {
|
||||||
_ => state.get_interned_string(*s),
|
"int" => state.get_interned_string(std::any::type_name::<crate::INT>()),
|
||||||
};
|
#[cfg(not(feature = "no_float"))]
|
||||||
(input.next().expect(NEVER_ENDS), Some(s))
|
"float" => state.get_interned_string(std::any::type_name::<crate::FLOAT>()),
|
||||||
|
_ => state.get_interned_string(*s),
|
||||||
|
};
|
||||||
|
(input.next().expect(NEVER_ENDS), Some(s))
|
||||||
|
}
|
||||||
|
Token::StringConstant(..) => {
|
||||||
|
return Err(PERR::MissingToken(
|
||||||
|
Token::Period.into(),
|
||||||
|
"after the type name for 'this'".into(),
|
||||||
|
)
|
||||||
|
.into_err(*next_pos))
|
||||||
|
}
|
||||||
|
Token::Identifier(s) if next_token == &Token::Period => {
|
||||||
|
eat_token(input, Token::Period);
|
||||||
|
let s = match s.as_str() {
|
||||||
|
"int" => state.get_interned_string(std::any::type_name::<crate::INT>()),
|
||||||
|
#[cfg(not(feature = "no_float"))]
|
||||||
|
"float" => state.get_interned_string(std::any::type_name::<crate::FLOAT>()),
|
||||||
|
_ => state.get_interned_string(*s),
|
||||||
|
};
|
||||||
|
(input.next().expect(NEVER_ENDS), Some(s))
|
||||||
|
}
|
||||||
|
_ => ((token, pos), None),
|
||||||
}
|
}
|
||||||
Token::StringConstant(..) => {
|
|
||||||
return Err(PERR::MissingSymbol(".".to_string()).into_err(pos))
|
|
||||||
}
|
|
||||||
Token::Identifier(s) if input.peek().expect(NEVER_ENDS).0 == Token::Period => {
|
|
||||||
eat_token(input, Token::Period);
|
|
||||||
let s = match s.as_str() {
|
|
||||||
"int" => state.get_interned_string(std::any::type_name::<crate::INT>()),
|
|
||||||
#[cfg(not(feature = "no_float"))]
|
|
||||||
"float" => state.get_interned_string(std::any::type_name::<crate::FLOAT>()),
|
|
||||||
_ => state.get_interned_string(*s),
|
|
||||||
};
|
|
||||||
(input.next().expect(NEVER_ENDS), Some(s))
|
|
||||||
}
|
|
||||||
_ => ((token, pos), None),
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let name = match token.into_function_name_for_override() {
|
let name = match token.into_function_name_for_override() {
|
||||||
|
Loading…
Reference in New Issue
Block a user