+2008-11-30 Jürg Billeter <j@bitron.ch>
+
+ * vala/valamemberaccess.vala:
+ * vala/valasymbolresolver.vala:
+ * gobject/valaccodememberaccessmodule.vala:
+ * gobject/valagsignalmodule.vala:
+
+ Separate visiting inner expressions from visiting member access
+
2008-11-30 Jürg Billeter <j@bitron.ch>
* vala/valaaddressofexpression.vala:
}
public override void visit_member_access (MemberAccess expr) {
+ expr.accept_children (codegen);
+
CCodeExpression pub_inst = null;
DataType base_type = null;
}
public override void visit_member_access (MemberAccess expr) {
- CCodeExpression pub_inst = null;
+ if (expr.symbol_reference is Signal) {
+ expr.accept_children (codegen);
+
+ CCodeExpression pub_inst = null;
- if (expr.inner != null) {
- pub_inst = (CCodeExpression) expr.inner.ccodenode;
- }
+ if (expr.inner != null) {
+ pub_inst = (CCodeExpression) expr.inner.ccodenode;
+ }
- if (expr.symbol_reference is Signal) {
var sig = (Signal) expr.symbol_reference;
var cl = (TypeSymbol) sig.parent_symbol;
public Gee.List<DataType> get_type_arguments () {
return new ReadOnlyList<DataType> (type_argument_list);
}
-
+
public override void accept (CodeVisitor visitor) {
+ visitor.visit_member_access (this);
+
+ visitor.visit_expression (this);
+ }
+
+ public override void accept_children (CodeVisitor visitor) {
if (inner != null) {
inner.accept (visitor);
}
foreach (DataType type_arg in type_argument_list) {
type_arg.accept (visitor);
}
-
- visitor.visit_member_access (this);
-
- visitor.visit_expression (this);
}
public override string to_string () {
expr.accept_children (this);
}
+ public override void visit_member_access (MemberAccess expr) {
+ expr.accept_children (this);
+ }
+
public override void visit_method_call (MethodCall expr) {
expr.accept_children (this);
}