}
public override void visit_cast_expression (CastExpression expr) {
- if (expr.is_non_null_cast) {
- // TODO add NULL runtime check
- expr.ccodenode = expr.inner.ccodenode;
- return;
- }
-
var valuecast = try_cast_value_to_type ((CCodeExpression) expr.inner.ccodenode, expr.inner.value_type, expr.type_reference, expr);
if (valuecast != null) {
expr.ccodenode = valuecast;
/* valacastexpression.vala
*
- * Copyright (C) 2006-2009 Jürg Billeter
+ * Copyright (C) 2006-2010 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
if (is_non_null_cast) {
// (!) non-null cast
- value_type = inner.value_type.copy ();
- value_type.nullable = false;
-
- inner.target_type = inner.value_type.copy ();
-
- return !error;
+ type_reference = inner.value_type.copy ();
+ type_reference.nullable = false;
}
type_reference.check (analyzer);