[generate-type-forwarders] Fix const/readonly fields (#10944)

Examples:

```diff
-public double MinimumDuration = 5---null---;
+public const double MinimumDuration = null;
```

```diff
 public ---readonly--- Foundation.NSString RGB565;
```

Also handle `string` constants (quotes).
This commit is contained in:
Sebastien Pouliot 2021-03-24 09:25:14 -04:00 коммит произвёл GitHub
Родитель 78ac083dcd
Коммит 007964cb9f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -357,11 +357,24 @@ namespace GenerateTypeForwarders {
} else {
sb.Append ('\t', indent);
sb.Append ("public ");
if (fd.IsStatic)
if (fd.IsLiteral)
sb.Append ("const ");
else if (fd.IsStatic)
sb.Append ("static ");
if (fd.IsInitOnly)
sb.Append ("readonly ");
EmitTypeName (sb, fd.FieldType);
sb.Append (' ');
sb.Append (fd.Name);
if (fd.HasConstant) {
sb.Append (" = ");
bool is_string = fd.Constant is string;
if (is_string)
sb.Append ('"');
sb.Append (fd.Constant);
if (is_string)
sb.Append ('"');
}
sb.Append (';');
}
sb.AppendLine ();