Swift: Clearer syntax and a shortcut for Optional.some.

This commit is contained in:
Geoffrey White
2023-07-21 20:17:25 +01:00
parent 89e7b75ea1
commit 1259f8d596
2 changed files with 6 additions and 3 deletions

View File

@@ -477,8 +477,11 @@ private predicate parseField(AccessPathToken c, Content::FieldContent f) {
}
private predicate parseEnum(AccessPathToken c, Content::EnumContent f) {
c.getName() = "Enum" and
c.getName() = "EnumElement" and
c.getAnArgument() = f.getSignature()
or
c.getName() = "OptionalSome" and
f.getSignature() = "some:0"
}
/** Holds if the specification component parses as a `Content`. */

View File

@@ -26,8 +26,8 @@ private class TestSummaries extends SummaryModelCsv {
// model to allow data flow through `signum()` as though it were an identity function, for the benefit of testing flow through optional chaining (`x?.`).
";Int;true;signum();;;Argument[-1];ReturnValue;value",
// test Enum content in MAD
";;false;mkMyEnum2(_:);;;Argument[0];ReturnValue.Enum[mySingle:0];value",
";;false;mkOptional2(_:);;;Argument[0];ReturnValue.Enum[some:0];value"
";;false;mkMyEnum2(_:);;;Argument[0];ReturnValue.EnumElement[mySingle:0];value",
";;false;mkOptional2(_:);;;Argument[0];ReturnValue.OptionalSome;value"
]
}
}