2007-12-14 Jürg Billeter <j@bitron.ch>
+ * vala/valadatatype.vala, vala/valamemorymanager.vala: move reference
+ type check from MemoryManager to DataType
+
+2007-12-14 Jürg Billeter <j@bitron.ch>
+
* vala/Makefile.am, vala/valadatatype.vala, vala/valadelegatetype.vala,
vala/valafield.vala, vala/valaformalparameter.vala,
vala/valainterfacewriter.vala, vala/valainvokable.vala,
private void visit_possibly_leaked_expression (Expression! expr) {
if (expr.static_type != null &&
- ((expr.static_type.data_type != null &&
- expr.static_type.data_type.is_reference_type ()) ||
- expr.static_type.type_parameter != null) &&
+ expr.static_type.is_reference_type_or_type_parameter () &&
expr.static_type.transfers_ownership) {
/* mark reference as leaked */
expr.ref_leaked = true;
private void visit_possibly_missing_copy_expression (Expression! expr) {
if (expr.static_type != null &&
- ((expr.static_type.data_type != null &&
- expr.static_type.data_type.is_reference_type ()) ||
- expr.static_type.type_parameter != null) &&
+ expr.static_type.is_reference_type_or_type_parameter () &&
!expr.static_type.transfers_ownership) {
/* mark reference as missing */
expr.ref_missing = true;
if (params_it.next ()) {
var param = params_it.get ();
if (!param.ellipsis
- && ((param.type_reference.data_type != null
- && param.type_reference.data_type.is_reference_type ())
- || param.type_reference.type_parameter != null)) {
+ && param.type_reference.is_reference_type_or_type_parameter ()) {
bool is_ref = param.type_reference.transfers_ownership;
if (is_ref && param.type_reference.type_parameter != null) {
if (expr.call is MemberAccess) {
if (params_it.next ()) {
var param = params_it.get ();
if (!param.ellipsis
- && ((param.type_reference.data_type != null
- && param.type_reference.data_type.is_reference_type ())
- || param.type_reference.type_parameter != null)) {
+ && param.type_reference.is_reference_type_or_type_parameter ()) {
bool is_ref = param.type_reference.transfers_ownership;
if (is_ref && param.type_reference.type_parameter != null) {
var param_type = SemanticAnalyzer.get_actual_type (expr.type_reference, msym, param.type_reference, expr);