Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upFix settings file array parsing when no commas are present #1161
Conversation
|
Looks good to me with only a minor/optional style improvement suggestion. |
| @@ -522,6 +522,9 @@ private static object GetSafeValueFromExpressionAst(ExpressionAst exprAst) | |||
| case "false": | |||
| return false; | |||
|
|
|||
| case "null": | |||
This comment has been minimized.
This comment has been minimized.
rjmholt
Mar 1, 2019
Author
Member
Noticed this was missing and quickly added it. Makes sense from a layering perspective -- null should be parse-able but might not be allowed as a configurable value.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
rjmholt
Mar 2, 2019
•
Author
Member
If one of the possibilities is null, then it would probably look like:
string varName = varExprAst.VariablePath.UserPath.ToLower();
if (bool.TryParse(varName, out bool val))
{
return val;
}
if (varName == "null")
{
return null;
}
throw CreateInvalidDataExceptionFromAst(varExprAst);I'm not sure that's simpler though -- the switch/case has a nice flow to me, and ideally the C# compiler knows better than I do about how to make it work quickly. (Although it looks like that's not the case, since I would implement a trie for optimum speed).

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

rjmholt commentedMar 1, 2019
PR Summary
Fixes #1160.
The settings parsing logic didn't automatically capture arrays where elements are separated by newline.
I've fix that in the parser and added some tests to make sure it stays fixed.
PR Checklist
.cs,.ps1and.psm1files have the correct copyright headerWIP:to the beginning of the title and remove the prefix when the PR is ready.