vala r1257 - in trunk: . vala
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r1257 - in trunk: . vala
- Date: Fri, 18 Apr 2008 22:49:39 +0100 (BST)
Author: juergbi
Date: Fri Apr 18 21:49:39 2008
New Revision: 1257
URL: http://svn.gnome.org/viewvc/vala?rev=1257&view=rev
Log:
2008-04-18 Juerg Billeter <j bitron ch>
* vala/valasemanticanalyzer.vala: check accessiblity of base types
of classes and interfaces, fixes bug 514262
Modified:
trunk/ChangeLog
trunk/vala/valasemanticanalyzer.vala
Modified: trunk/vala/valasemanticanalyzer.vala
==============================================================================
--- trunk/vala/valasemanticanalyzer.vala (original)
+++ trunk/vala/valasemanticanalyzer.vala Fri Apr 18 21:49:39 2008
@@ -132,6 +132,13 @@
current_class = cl;
foreach (DataType base_type_reference in cl.get_base_types ()) {
+ // check whether base type is at least as accessible as the class
+ if (!is_type_accessible (cl, base_type_reference)) {
+ cl.error = true;
+ Report.error (cl.source_reference, "base type `%s` is less accessible than class `%s`".printf (base_type_reference.to_string (), cl.get_full_name ()));
+ return;
+ }
+
current_source_file.add_type_dependency (base_type_reference, SourceFileDependencyType.HEADER_FULL);
}
@@ -263,6 +270,13 @@
current_symbol = iface;
foreach (DataType prerequisite_reference in iface.get_prerequisites ()) {
+ // check whether prerequisite is at least as accessible as the interface
+ if (!is_type_accessible (iface, prerequisite_reference)) {
+ iface.error = true;
+ Report.error (iface.source_reference, "prerequisite `%s` is less accessible than interface `%s`".printf (prerequisite_reference.to_string (), iface.get_full_name ()));
+ return;
+ }
+
current_source_file.add_type_dependency (prerequisite_reference, SourceFileDependencyType.HEADER_FULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]