variable_type.check (context);
if (!external_package) {
context.analyzer.check_type (variable_type);
+
+ // check symbol availability
+ if (variable_type.type_symbol != null) {
+ variable_type.type_symbol.version.check (source_reference);
+ }
}
// check whether field type is at least as accessible as the field
variable_type.check (context);
}
+ if (!external_package) {
+ // check symbol availability
+ if (variable_type.type_symbol != null) {
+ variable_type.type_symbol.version.check (source_reference);
+ }
+ }
+
unowned ArrayType? variable_array_type = variable_type as ArrayType;
if (variable_array_type != null && variable_array_type.inline_allocated
&& initializer is ArrayCreationExpression && ((ArrayCreationExpression) initializer).initializer_list == null) {
if (!ellipsis) {
if (!external_package) {
context.analyzer.check_type (variable_type);
+
+ // check symbol availability
+ if ((parent_symbol == null || !parent_symbol.external_package) && variable_type.type_symbol != null) {
+ variable_type.type_symbol.version.check (source_reference);
+ }
}
// check whether parameter type is at least as accessible as the method