}
public override bool compatible (DataType target_type) {
- if (CodeContext.get ().profile == Profile.GOBJECT && target_type.type_symbol != null) {
- if (target_type.type_symbol.is_subtype_of (CodeContext.get ().analyzer.gvalue_type.type_symbol) && element_type.type_symbol == CodeContext.get ().root.scope.lookup ("string")) {
+ var context = CodeContext.get ();
+
+ if (context.profile == Profile.GOBJECT && target_type.type_symbol != null) {
+ if (target_type.type_symbol.is_subtype_of (context.analyzer.gvalue_type.type_symbol) && element_type.type_symbol == context.root.scope.lookup ("string")) {
// allow implicit conversion from string[] to GValue
return true;
}
- if (target_type.type_symbol.is_subtype_of (CodeContext.get ().analyzer.gvariant_type.type_symbol)) {
+ if (target_type.type_symbol.is_subtype_of (context.analyzer.gvariant_type.type_symbol)) {
// allow implicit conversion to GVariant
return true;
}
}
public virtual bool compatible (DataType target_type) {
- if (CodeContext.get ().experimental_non_null && nullable && !target_type.nullable) {
+ var context = CodeContext.get ();
+
+ if (context.experimental_non_null && nullable && !target_type.nullable) {
return false;
}
- if (CodeContext.get ().profile == Profile.GOBJECT && target_type.type_symbol != null) {
- if (target_type.type_symbol.is_subtype_of (CodeContext.get ().analyzer.gvalue_type.type_symbol)) {
+ if (context.profile == Profile.GOBJECT && target_type.type_symbol != null) {
+ if (target_type.type_symbol.is_subtype_of (context.analyzer.gvalue_type.type_symbol)) {
// allow implicit conversion to GValue
return true;
}
- if (target_type.type_symbol.is_subtype_of (CodeContext.get ().analyzer.gvariant_type.type_symbol)) {
+ if (target_type.type_symbol.is_subtype_of (context.analyzer.gvariant_type.type_symbol)) {
// allow implicit conversion to GVariant
return true;
}
return base_type.compatible (target_type);
}
- if (CodeContext.get ().profile == Profile.GOBJECT && target_type.type_symbol != null && target_type.type_symbol.is_subtype_of (CodeContext.get ().analyzer.gvalue_type.type_symbol)) {
+ var context = CodeContext.get ();
+
+ if (context.profile == Profile.GOBJECT && target_type.type_symbol != null && target_type.type_symbol.is_subtype_of (context.analyzer.gvalue_type.type_symbol)) {
// allow implicit conversion to GValue
return true;
}