mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Whiskers: Support conditional value parameters for lists
This commit is contained in:
parent
b0a5b92fe9
commit
76f31e2c4e
@ -189,11 +189,13 @@ string Whiskers::replace(
|
||||
if (conditionName[0] == '+')
|
||||
{
|
||||
string tag = conditionName.substr(1);
|
||||
assertThrow(
|
||||
_parameters.count(tag),
|
||||
WhiskersError, "Tag " + tag + " used as condition but was not set."
|
||||
);
|
||||
conditionValue = !_parameters.at(tag).empty();
|
||||
|
||||
if (_parameters.count(tag))
|
||||
conditionValue = !_parameters.at(tag).empty();
|
||||
else if (_listParameters.count(tag))
|
||||
conditionValue = !_listParameters.at(tag).empty();
|
||||
else
|
||||
assertThrow(false, WhiskersError, "Tag " + tag + " used as condition but was not set.");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -60,12 +60,13 @@ DEV_SIMPLE_EXCEPTION(WhiskersError);
|
||||
* - Condition parameter: <?name>...<!name>...</name>, where "<!name>" is optional
|
||||
* replaced (and recursively expanded) by the first part if the condition is true
|
||||
* and by the second (or empty string if missing) if the condition is false
|
||||
* - Conditional string parameter: <?+name>...<!+name>...</+name>
|
||||
* Works similar to a conditional parameter where the checked condition is
|
||||
* that the regular (string) parameter called "name" is non-empty.
|
||||
* - List parameter: <#list>...</list>
|
||||
* The part between the tags is repeated as often as values are provided
|
||||
* in the mapping. Each list element can have its own parameter -> value mapping.
|
||||
* - Conditional value parameter: <?+name>...<!+name>...</+name>
|
||||
* Works similar to a conditional parameter where the checked condition is
|
||||
* that the string or list parameter called "name" is non-empty or contains
|
||||
* no elements respectively.
|
||||
*/
|
||||
class Whiskers
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user