diff options
| author | 2019-07-10 11:50:52 +0200 | |
|---|---|---|
| committer | 2019-07-10 11:50:52 +0200 | |
| commit | 133e95bdac75e5793851fd4054689c339794eae3 (patch) | |
| tree | 0510d4f48cd39c8c57e7fa7b0d27e9875f91b974 /parsingtoolbox.cpp | |
| parent | 9317fc5571784bafdd6d5de88f2e86e55b646648 (diff) | |
| download | OneRoll-133e95bdac75e5793851fd4054689c339794eae3.tar.gz OneRoll-133e95bdac75e5793851fd4054689c339794eae3.zip | |
Fix read validator
Diffstat (limited to 'parsingtoolbox.cpp')
| -rw-r--r-- | parsingtoolbox.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/parsingtoolbox.cpp b/parsingtoolbox.cpp index 4fbbd6c..702019d 100644 --- a/parsingtoolbox.cpp +++ b/parsingtoolbox.cpp @@ -189,7 +189,7 @@ bool ParsingToolBox::readOperand(QString& str, ExecutionNode*& node) return false; } -Validator* ParsingToolBox::readValidator(QString& str) +Validator* ParsingToolBox::readValidator(QString& str, bool hasSquare) { Validator* returnVal= nullptr; BooleanCondition::LogicOperator myLogicOp= BooleanCondition::Equal; @@ -204,7 +204,7 @@ Validator* ParsingToolBox::readValidator(QString& str) { OperationCondition* condition= new OperationCondition(); condition->setValueNode(operandNode); - Validator* valid= readValidator(str); + Validator* valid= readValidator(str,hasSquare); BooleanCondition* boolC= dynamic_cast<BooleanCondition*>(valid); if(nullptr != boolC) { @@ -216,7 +216,7 @@ Validator* ParsingToolBox::readValidator(QString& str) else if(readOperand(str, operandNode)) { bool isRange= false; - if(str.startsWith("-")) + if(str.startsWith("-") && hasSquare) { str= str.remove(0, 1); qint64 end= 0; @@ -274,8 +274,7 @@ Validator* ParsingToolBox::readCompositeValidator(QString& str) str= str.remove(0, 1); expectSquareBrasket= true; } - - Validator* tmp= readValidator(str); + Validator* tmp= readValidator(str, expectSquareBrasket); CompositeValidator::LogicOperation opLogic; QVector<CompositeValidator::LogicOperation>* operators= new QVector<CompositeValidator::LogicOperation>(); @@ -288,7 +287,7 @@ Validator* ParsingToolBox::readCompositeValidator(QString& str) { operators->append(opLogic); validatorList->append(tmp); - tmp= readValidator(str); + tmp= readValidator(str, expectSquareBrasket); } else { |