Fixed whitespace issues when parsing constants.
This commit is contained in:
parent
3041b6a278
commit
730a9b7e63
@ -94,9 +94,15 @@ void Constant::parseTypedDeclaration(Context &context, Domain &domain, Constants
|
|||||||
|
|
||||||
void Constant::parseTypedDeclarations(Context &context, Domain &domain)
|
void Constant::parseTypedDeclarations(Context &context, Domain &domain)
|
||||||
{
|
{
|
||||||
while (context.parser.currentCharacter() != ')')
|
auto &parser = context.parser;
|
||||||
|
|
||||||
|
while (parser.currentCharacter() != ')')
|
||||||
|
{
|
||||||
parseTypedDeclaration(context, domain);
|
parseTypedDeclaration(context, domain);
|
||||||
|
|
||||||
|
parser.skipWhiteSpace();
|
||||||
|
}
|
||||||
|
|
||||||
if (domain.constants().empty())
|
if (domain.constants().empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -108,16 +114,22 @@ void Constant::parseTypedDeclarations(Context &context, Domain &domain)
|
|||||||
domain.checkRequirement(Requirement::Type::Typing);
|
domain.checkRequirement(Requirement::Type::Typing);
|
||||||
// If no types are given, check that typing is not a requirement
|
// If no types are given, check that typing is not a requirement
|
||||||
else if (domain.hasRequirement(Requirement::Type::Typing))
|
else if (domain.hasRequirement(Requirement::Type::Typing))
|
||||||
throw utils::ParserException(context.parser, "Constant has undeclared type");
|
throw utils::ParserException(parser, "Constant has undeclared type");
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
void Constant::parseTypedDeclarations(Context &context, Problem &problem)
|
void Constant::parseTypedDeclarations(Context &context, Problem &problem)
|
||||||
{
|
{
|
||||||
|
auto &parser = context.parser;
|
||||||
|
|
||||||
while (context.parser.currentCharacter() != ')')
|
while (context.parser.currentCharacter() != ')')
|
||||||
|
{
|
||||||
parseTypedDeclaration(context, problem);
|
parseTypedDeclaration(context, problem);
|
||||||
|
|
||||||
|
parser.skipWhiteSpace();
|
||||||
|
}
|
||||||
|
|
||||||
if (problem.objects().empty())
|
if (problem.objects().empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user