vala r2359 - in trunk: . vala
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r2359 - in trunk: . vala
- Date: Fri, 16 Jan 2009 16:44:57 +0000 (UTC)
Author: juergbi
Date: Fri Jan 16 16:44:57 2009
New Revision: 2359
URL: http://svn.gnome.org/viewvc/vala?rev=2359&view=rev
Log:
2009-01-16 JÃrg Billeter <j bitron ch>
* vala/valablock.vala:
Detect local variables conflicting with parameters,
patch by Andreas Brauchli, fixes bug 523189
* vala/valaflowanalyzer.vala:
* vala/valaparser.vala:
Fix conflicts
Modified:
trunk/ChangeLog
trunk/vala/valablock.vala
trunk/vala/valaflowanalyzer.vala
trunk/vala/valaparser.vala
Modified: trunk/vala/valablock.vala
==============================================================================
--- trunk/vala/valablock.vala (original)
+++ trunk/vala/valablock.vala Fri Jan 16 16:44:57 2009
@@ -84,13 +84,13 @@
* @param decl a variable declarator
*/
public void add_local_variable (LocalVariable local) {
- var parent_block = parent_symbol as Block;
- while (parent_block != null) {
+ var parent_block = parent_symbol;
+ while (parent_block is Block || parent_block is Method) {
if (parent_block.scope.lookup (local.name) != null) {
Report.error (local.source_reference, "Local variable `%s' conflicts with another local variable declared in a parent scope".printf (local.name));
break;
}
- parent_block = parent_block.parent_symbol as Block;
+ parent_block = parent_block.parent_symbol;
}
local_variables.add (local);
}
Modified: trunk/vala/valaflowanalyzer.vala
==============================================================================
--- trunk/vala/valaflowanalyzer.vala (original)
+++ trunk/vala/valaflowanalyzer.vala Fri Jan 16 16:44:57 2009
@@ -622,8 +622,8 @@
foreach (SwitchSection section in stmt.get_sections ()) {
current_block = new BasicBlock ();
condition_block.connect (current_block);
- foreach (Statement stmt in section.get_statements ()) {
- stmt.accept (this);
+ foreach (Statement section_stmt in section.get_statements ()) {
+ section_stmt.accept (this);
}
if (section.has_default_label ()) {
Modified: trunk/vala/valaparser.vala
==============================================================================
--- trunk/vala/valaparser.vala (original)
+++ trunk/vala/valaparser.vala Fri Jan 16 16:44:57 2009
@@ -2261,7 +2261,7 @@
expect (TokenType.SEMICOLON);
} else {
var accessor_begin = get_location ();
- var attrs = parse_attributes ();
+ var accessor_attrs = parse_attributes ();
var accessor_access = parse_access_modifier (SymbolAccessibility.PUBLIC);
var value_type = type.copy ();
@@ -2282,7 +2282,7 @@
prop.external = false;
}
prop.get_accessor = new PropertyAccessor (true, false, false, value_type, block, get_src (accessor_begin));
- set_attributes (prop.get_accessor, attrs);
+ set_attributes (prop.get_accessor, accessor_attrs);
prop.get_accessor.access = accessor_access;
} else {
bool writable, _construct;
@@ -2304,7 +2304,7 @@
prop.external = false;
}
prop.set_accessor = new PropertyAccessor (false, writable, _construct, value_type, block, get_src (accessor_begin));
- set_attributes (prop.set_accessor, attrs);
+ set_attributes (prop.set_accessor, accessor_attrs);
prop.set_accessor.access = accessor_access;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]