// ensure getter vfunc if the property is abstract
if (m != null) {
getter.process (parser);
- if (m.return_type is VoidType || m.get_parameters().size != 0) {
+ if (m.return_type is VoidType || m.get_parameters().size != 0 || m.get_error_types ().size > 0) {
prop.set_attribute ("NoAccessorMethod", true);
} else {
if (getter.name == name) {
// ensure setter vfunc if the property is abstract
if (m != null) {
setter.process (parser);
- if (!(m.return_type is VoidType || m.return_type is BooleanType) || m.get_parameters().size != 1) {
+ if (!(m.return_type is VoidType || m.return_type is BooleanType) || m.get_parameters ().size != 1 || m.get_error_types ().size > 0) {
prop.set_attribute ("NoAccessorMethod", true);
prop.set_attribute ("ConcreteAccessor", false);
} else {