Support custom struct(s) boxed to NSValue

Description

In SWC-717 we've added support for custom initializers, boxing commonly used structs to NSValue (see `NSValueTypeInitializers` dictionary in ExpressionVisitor.cs).

For example,

is converted to:

According to
https://clang.llvm.org/docs/ObjectiveCLiterals.html
for struct types that do not have an NSValue initializer, the conversion should be similar to

The implementation (in ExpressionVisitor.VisitBoxExpression) should look like:

Note: this needs retrieving of objCType (SWC-838) and detection of struct types (SWC-523).

See also "Boxed C Structures" in
https://clang.llvm.org/docs/ObjectiveCLiterals.html

Environment

None

Assignee

Alex Petuschak

Reporter

Alex Petuschak

Labels

None

Git Branch Name

None

GitHub Issue

None

Components

Fix versions

Priority

Low
Configure