diff options
author | Jürg Billeter <j@bitron.ch> | 2008-10-11 11:03:30 +0000 |
---|---|---|
committer | Jürg Billeter <juergbi@src.gnome.org> | 2008-10-11 11:03:30 +0000 |
commit | bdbb1c75d3db6897c257785f3dc710985f4b7f92 (patch) | |
tree | 8f13d50fc6cc14b80f6839d8c74794771b74b7cf /vala/valaobjecttype.vala | |
parent | e46d2467e0c9178286500c620f4973fe57a62382 (diff) | |
download | vala-bdbb1c75d3db6897c257785f3dc710985f4b7f92.tar.gz |
Support chaining constructors using `base' and `this'
2008-10-11 Jürg Billeter <j@bitron.ch>
* vala/valaclass.vala:
* vala/valacreationmethod.vala:
* vala/valainterfacewriter.vala:
* vala/valaobjecttype.vala:
* vala/valasemanticanalyzer.vala:
* vala/valastruct.vala:
* gobject/valaccodeinvocationexpressionbinding.vala:
* gobject/valaccodemethodbinding.vala:
* gobject/valagidlwriter.vala:
Support chaining constructors using `base' and `this'
svn path=/trunk/; revision=1829
Diffstat (limited to 'vala/valaobjecttype.vala')
-rw-r--r-- | vala/valaobjecttype.vala | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vala/valaobjecttype.vala b/vala/valaobjecttype.vala index 953b4883b..a8aa9dd04 100644 --- a/vala/valaobjecttype.vala +++ b/vala/valaobjecttype.vala @@ -71,4 +71,31 @@ public class Vala.ObjectType : ReferenceType { return type_symbol.is_subtype_of (obj_target_type.type_symbol); } + + public override bool is_invokable () { + var cl = type_symbol as Class; + if (cl != null && cl.default_construction_method != null) { + return true; + } else { + return false; + } + } + + public override DataType? get_return_type () { + var cl = type_symbol as Class; + if (cl != null && cl.default_construction_method != null) { + return cl.default_construction_method.return_type; + } else { + return null; + } + } + + public override Gee.List<FormalParameter>? get_parameters () { + var cl = type_symbol as Class; + if (cl != null && cl.default_construction_method != null) { + return cl.default_construction_method.get_parameters (); + } else { + return null; + } + } } |