vala r2404 - in trunk: . vala
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r2404 - in trunk: . vala
- Date: Tue, 27 Jan 2009 20:03:45 +0000 (UTC)
Author: juergbi
Date: Tue Jan 27 20:03:45 2009
New Revision: 2404
URL: http://svn.gnome.org/viewvc/vala?rev=2404&view=rev
Log:
2009-01-27 JÃrg Billeter <j bitron ch>
* vala/valamemberaccess.vala:
Skip overriding methods and properties in member access,
fixes default arguments when calling virtual methods
Modified:
trunk/ChangeLog
trunk/vala/valamemberaccess.vala
Modified: trunk/vala/valamemberaccess.vala
==============================================================================
--- trunk/vala/valamemberaccess.vala (original)
+++ trunk/vala/valamemberaccess.vala Tue Jan 27 20:03:45 2009
@@ -409,6 +409,17 @@
klass = (f.binding == MemberBinding.CLASS);
} else if (member is Method) {
var m = (Method) member;
+ if (m.base_method != null) {
+ // refer to base method to inherit default arguments
+ m = m.base_method;
+ symbol_reference = m;
+ member = symbol_reference;
+ } else if (m.base_interface_method != null) {
+ // refer to base method to inherit default arguments
+ m = m.base_interface_method;
+ symbol_reference = m;
+ member = symbol_reference;
+ }
access = m.access;
if (!(m is CreationMethod)) {
instance = (m.binding == MemberBinding.INSTANCE);
@@ -420,6 +431,17 @@
error = true;
return false;
}
+ if (prop.base_property != null) {
+ // refer to base property
+ prop = prop.base_property;
+ symbol_reference = prop;
+ member = symbol_reference;
+ } else if (prop.base_interface_property != null) {
+ // refer to base property
+ prop = prop.base_interface_property;
+ symbol_reference = prop;
+ member = symbol_reference;
+ }
access = prop.access;
if (lvalue) {
if (prop.set_accessor == null) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]