vala r2138 - in trunk: . gobject vala vapigen
- From: juergbi svn gnome org
- To: svn-commits-list gnome org
- Subject: vala r2138 - in trunk: . gobject vala vapigen
- Date: Sat, 13 Dec 2008 10:55:09 +0000 (UTC)
Author: juergbi
Date: Sat Dec 13 10:55:08 2008
New Revision: 2138
URL: http://svn.gnome.org/viewvc/vala?rev=2138&view=rev
Log:
2008-12-13 JÃrg Billeter <j bitron ch>
* vala/valablock.vala:
Detect conflicting local variables in parent scopes
* vala/valaarraycreationexpression.vala:
* vala/valacodewriter.vala:
* vala/valaforeachstatement.vala:
* vala/valagenieparser.vala:
* vala/valaparser.vala:
* gobject/valaccodebasemodule.vala:
* gobject/valaccodecontrolflowmodule.vala:
* gobject/valaccodemethodcallmodule.vala:
* gobject/valagobjectmodule.vala:
* vapigen/valagidlparser.vala:
Fix conflicting local variables
Modified:
trunk/ChangeLog
trunk/gobject/valaccodebasemodule.vala
trunk/gobject/valaccodecontrolflowmodule.vala
trunk/gobject/valaccodemethodcallmodule.vala
trunk/gobject/valagobjectmodule.vala
trunk/vala/valaarraycreationexpression.vala
trunk/vala/valablock.vala
trunk/vala/valacodewriter.vala
trunk/vala/valaforeachstatement.vala
trunk/vala/valagenieparser.vala
trunk/vala/valaparser.vala
trunk/vapigen/valagidlparser.vala
Modified: trunk/gobject/valaccodebasemodule.vala
==============================================================================
--- trunk/gobject/valaccodebasemodule.vala (original)
+++ trunk/gobject/valaccodebasemodule.vala Sat Dec 13 10:55:08 2008
@@ -857,8 +857,8 @@
var this_access = new MemberAccess.simple ("this");
this_access.value_type = get_data_type_for_symbol ((TypeSymbol) f.parent_symbol);
- var st = f.parent_symbol as Struct;
- if (st != null && !st.is_simple_type ()) {
+ var field_st = f.parent_symbol as Struct;
+ if (field_st != null && !field_st.is_simple_type ()) {
this_access.ccodenode = new CCodeIdentifier ("(*self)");
} else {
this_access.ccodenode = new CCodeIdentifier ("self");
Modified: trunk/gobject/valaccodecontrolflowmodule.vala
==============================================================================
--- trunk/gobject/valaccodecontrolflowmodule.vala (original)
+++ trunk/gobject/valaccodecontrolflowmodule.vala Sat Dec 13 10:55:08 2008
@@ -111,13 +111,13 @@
if (is_constant_ccode_expression (cexpr)) {
var cname = new CCodeIdentifier ("%s_label%d".printf (temp_var.name, label_count++));
- var ccond = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, czero, cname);
+ var ccondition = new CCodeBinaryExpression (CCodeBinaryOperator.INEQUALITY, czero, cname);
var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_quark_from_static_string"));
- var cinit = new CCodeAssignment (cname, ccall);
+ cinit = new CCodeAssignment (cname, ccall);
ccall.add_argument (cexpr);
- cexpr = new CCodeConditionalExpression (ccond, cname, cinit);
+ cexpr = new CCodeConditionalExpression (ccondition, cname, cinit);
} else {
var ccall = new CCodeFunctionCall (new CCodeIdentifier ("g_quark_from_string"));
ccall.add_argument (cexpr);
@@ -287,7 +287,7 @@
if (stmt.tree_can_fail && stmt.collection.tree_can_fail) {
// exception handling
- var cfrag = new CCodeFragment ();
+ cfrag = new CCodeFragment ();
head.add_simple_check (stmt.collection, cfrag);
cblock.add_statement (cfrag);
}
@@ -319,7 +319,7 @@
element_type.value_owned = false;
element_expr = transform_expression (element_expr, element_type, stmt.type_reference);
- var cfrag = new CCodeFragment ();
+ cfrag = new CCodeFragment ();
append_temp_decl (cfrag, temp_vars);
cbody.add_statement (cfrag);
temp_vars.clear ();
@@ -365,7 +365,7 @@
element_type.value_owned = false;
element_expr = transform_expression (element_expr, element_type, stmt.type_reference);
- var cfrag = new CCodeFragment ();
+ cfrag = new CCodeFragment ();
append_temp_decl (cfrag, temp_vars);
cbody.add_statement (cfrag);
temp_vars.clear ();
@@ -438,7 +438,7 @@
element_expr = convert_from_generic_pointer (element_expr, element_data_type);
element_expr = transform_expression (element_expr, element_data_type, stmt.type_reference);
- var cfrag = new CCodeFragment ();
+ cfrag = new CCodeFragment ();
append_temp_decl (cfrag, temp_vars);
cbody.add_statement (cfrag);
temp_vars.clear ();
Modified: trunk/gobject/valaccodemethodcallmodule.vala
==============================================================================
--- trunk/gobject/valaccodemethodcallmodule.vala (original)
+++ trunk/gobject/valaccodemethodcallmodule.vala Sat Dec 13 10:55:08 2008
@@ -106,7 +106,6 @@
var cast = new CCodeFunctionCall (new CCodeIdentifier (cl.get_upper_case_cname (null) + "_CLASS"));
CCodeExpression klass;
- var ma = expr.call as MemberAccess;
if (ma.inner == null) {
if (in_static_or_class_ctor) {
// Accessing the method from a static or class constructor
@@ -194,14 +193,14 @@
if (deleg_type.value_owned) {
CCodeExpression delegate_target_destroy_notify;
var delegate_method = arg.symbol_reference as Method;
- var ma = arg as MemberAccess;
+ var arg_ma = arg as MemberAccess;
if (delegate_method != null && delegate_method.binding == MemberBinding.INSTANCE
- && ma.inner != null && ma.inner.value_type.data_type != null
- && ma.inner.value_type.data_type.is_reference_counting ()) {
- var ref_call = new CCodeFunctionCall (get_dup_func_expression (ma.inner.value_type, arg.source_reference));
+ && arg_ma.inner != null && arg_ma.inner.value_type.data_type != null
+ && arg_ma.inner.value_type.data_type.is_reference_counting ()) {
+ var ref_call = new CCodeFunctionCall (get_dup_func_expression (arg_ma.inner.value_type, arg.source_reference));
ref_call.add_argument (delegate_target);
delegate_target = ref_call;
- delegate_target_destroy_notify = get_destroy_func_expression (ma.inner.value_type);
+ delegate_target_destroy_notify = get_destroy_func_expression (arg_ma.inner.value_type);
} else {
delegate_target_destroy_notify = new CCodeConstant ("NULL");
}
Modified: trunk/gobject/valagobjectmodule.vala
==============================================================================
--- trunk/gobject/valagobjectmodule.vala (original)
+++ trunk/gobject/valagobjectmodule.vala Sat Dec 13 10:55:08 2008
@@ -1145,7 +1145,7 @@
var block = new CCodeBlock ();
- var ccall = new InstanceCast (new CCodeIdentifier ("object"), cl);
+ CCodeFunctionCall ccall = new InstanceCast (new CCodeIdentifier ("object"), cl);
var cdecl = new CCodeDeclaration ("%s *".printf (cl.get_cname ()));
cdecl.add_declarator (new CCodeVariableDeclarator.with_initializer ("self", ccall));
block.add_statement (cdecl);
@@ -1175,7 +1175,7 @@
}
cswitch.add_statement (new CCodeCaseStatement (new CCodeIdentifier (prop.get_upper_case_cname ())));
- var ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_get_%s".printf (prefix, prop.name)));
+ ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_get_%s".printf (prefix, prop.name)));
ccall.add_argument (cself);
var csetcall = new CCodeFunctionCall ();
csetcall.call = head.get_value_setter_function (prop.property_type);
@@ -1205,7 +1205,7 @@
var block = new CCodeBlock ();
- var ccall = new InstanceCast (new CCodeIdentifier ("object"), cl);
+ CCodeFunctionCall ccall = new InstanceCast (new CCodeIdentifier ("object"), cl);
var cdecl = new CCodeDeclaration ("%s *".printf (cl.get_cname ()));
cdecl.add_declarator (new CCodeVariableDeclarator.with_initializer ("self", ccall));
block.add_statement (cdecl);
@@ -1235,7 +1235,7 @@
}
cswitch.add_statement (new CCodeCaseStatement (new CCodeIdentifier (prop.get_upper_case_cname ())));
- var ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_set_%s".printf (prefix, prop.name)));
+ ccall = new CCodeFunctionCall (new CCodeIdentifier ("%s_set_%s".printf (prefix, prop.name)));
ccall.add_argument (cself);
var cgetcall = new CCodeFunctionCall ();
if (prop.property_type.data_type != null) {
@@ -1571,14 +1571,13 @@
cdecl = new CCodeDeclaration ("%s *".printf (cl.get_cname ()));
cdecl.add_declarator (new CCodeVariableDeclarator.with_initializer ("self", ccall));
-
cblock.add_statement (cdecl);
if (current_method_inner_error) {
/* always separate error parameter and inner_error local variable
* as error may be set to NULL but we're always interested in inner errors
*/
- var cdecl = new CCodeDeclaration ("GError *");
+ cdecl = new CCodeDeclaration ("GError *");
cdecl.add_declarator (new CCodeVariableDeclarator.with_initializer ("inner_error", new CCodeConstant ("NULL")));
cblock.add_statement (cdecl);
}
Modified: trunk/vala/valaarraycreationexpression.vala
==============================================================================
--- trunk/vala/valaarraycreationexpression.vala (original)
+++ trunk/vala/valaarraycreationexpression.vala Sat Dec 13 10:55:08 2008
@@ -151,14 +151,14 @@
checked = true;
- Gee.List<Expression> size = get_sizes ();
+ Gee.List<Expression> sizes = get_sizes ();
var initlist = initializer_list;
if (element_type != null) {
element_type.check (analyzer);
}
- foreach (Expression e in size) {
+ foreach (Expression e in sizes) {
e.check (analyzer);
}
@@ -174,9 +174,9 @@
}
}
- if (size.size > 0) {
+ if (sizes.size > 0) {
/* check for errors in the size list */
- foreach (Expression e in size) {
+ foreach (Expression e in sizes) {
if (e.value_type == null) {
/* return on previous error */
return false;
Modified: trunk/vala/valablock.vala
==============================================================================
--- trunk/vala/valablock.vala (original)
+++ trunk/vala/valablock.vala Sat Dec 13 10:55:08 2008
@@ -84,6 +84,14 @@
* @param decl a variable declarator
*/
public void add_local_variable (LocalVariable local) {
+ var parent_block = parent_symbol as Block;
+ while (parent_block != null) {
+ 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;
+ }
local_variables.add (local);
}
Modified: trunk/vala/valacodewriter.vala
==============================================================================
--- trunk/vala/valacodewriter.vala (original)
+++ trunk/vala/valacodewriter.vala Sat Dec 13 10:55:08 2008
@@ -184,7 +184,7 @@
var type_params = cl.get_type_parameters ();
if (type_params.size > 0) {
write_string ("<");
- bool first = true;
+ first = true;
foreach (TypeParameter type_param in type_params) {
if (first) {
first = false;
@@ -200,7 +200,7 @@
if (base_types.size > 0) {
write_string (" : ");
- bool first = true;
+ first = true;
foreach (DataType base_type in base_types) {
if (!first) {
write_string (", ");
@@ -277,7 +277,7 @@
write_string ("type_id = \"%s\", ".printf (st.get_type_id ()));
}
- var first = true;
+ bool first = true;
string cheaders = "";
foreach (string cheader in st.get_cheader_filenames ()) {
if (first) {
@@ -317,7 +317,7 @@
if (base_types.size > 0) {
write_string (" : ");
- bool first = true;
+ first = true;
foreach (DataType base_type in base_types) {
if (!first) {
write_string (", ");
@@ -355,7 +355,7 @@
write_indent ();
- var first = true;
+ bool first = true;
string cheaders = "";
foreach (string cheader in iface.get_cheader_filenames ()) {
if (first) {
@@ -380,7 +380,7 @@
var type_params = iface.get_type_parameters ();
if (type_params.size > 0) {
write_string ("<");
- bool first = true;
+ first = true;
foreach (TypeParameter type_param in type_params) {
if (first) {
first = false;
@@ -396,7 +396,7 @@
if (prerequisites.size > 0) {
write_string (" : ");
- bool first = true;
+ first = true;
foreach (DataType prerequisite in prerequisites) {
if (!first) {
write_string (", ");
Modified: trunk/vala/valaforeachstatement.vala
==============================================================================
--- trunk/vala/valaforeachstatement.vala (original)
+++ trunk/vala/valaforeachstatement.vala Sat Dec 13 10:55:08 2008
@@ -254,13 +254,13 @@
}
var iterator_call = new MethodCall (new MemberAccess (collection, "iterator"));
- add_statement (new DeclarationStatement (new LocalVariable (iterator_type, "%s_it".printf (variable_name), iterator_call, source_reference), source_reference));
+ add_statement (new DeclarationStatement (new LocalVariable (iterator_type, "_%s_it".printf (variable_name), iterator_call, source_reference), source_reference));
- var next_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name), source_reference), "next", source_reference), source_reference);
+ var next_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("_%s_it".printf (variable_name), source_reference), "next", source_reference), source_reference);
var loop = new WhileStatement (next_call, body, source_reference);
add_statement (loop);
- var get_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("%s_it".printf (variable_name), source_reference), "get", source_reference), source_reference);
+ var get_call = new MethodCall (new MemberAccess (new MemberAccess.simple ("_%s_it".printf (variable_name), source_reference), "get", source_reference), source_reference);
body.insert_statement (0, new DeclarationStatement (new LocalVariable (type_reference, variable_name, get_call, source_reference), source_reference));
checked = false;
Modified: trunk/vala/valagenieparser.vala
==============================================================================
--- trunk/vala/valagenieparser.vala (original)
+++ trunk/vala/valagenieparser.vala Sat Dec 13 10:55:08 2008
@@ -699,7 +699,6 @@
s_exp.value = st;
}
} else {
- string s = "\"\\n\"";
var rhs = new StringLiteral (s, get_src (begin));
p_expr = new BinaryExpression (BinaryOperator.PLUS, p_expr, rhs, get_src (begin));
}
@@ -2110,7 +2109,7 @@
if (accept (TokenType.OPEN_PARENS)) {
if (current () != TokenType.CLOSE_PARENS) {
do {
- string id = parse_identifier ();
+ id = parse_identifier ();
expect (TokenType.ASSIGN);
var expr = parse_expression ();
attr.add_argument (id, expr);
Modified: trunk/vala/valaparser.vala
==============================================================================
--- trunk/vala/valaparser.vala (original)
+++ trunk/vala/valaparser.vala Sat Dec 13 10:55:08 2008
@@ -1687,7 +1687,7 @@
if (accept (TokenType.OPEN_PARENS)) {
if (current () != TokenType.CLOSE_PARENS) {
do {
- string id = parse_identifier ();
+ id = parse_identifier ();
expect (TokenType.ASSIGN);
var expr = parse_expression ();
attr.add_argument (id, expr);
@@ -2524,14 +2524,14 @@
if (accept (TokenType.SEMICOLON)) {
// enum methods
while (current () != TokenType.CLOSE_BRACE) {
- var sym = parse_declaration ();
- if (sym is Method) {
- en.add_method ((Method) sym);
- } else if (sym == null) {
+ var member_sym = parse_declaration ();
+ if (member_sym is Method) {
+ en.add_method ((Method) member_sym);
+ } else if (member_sym == null) {
// workaround for current limitation of exception handling
throw new ParseError.SYNTAX ("syntax error in declaration");
} else {
- Report.error (sym.source_reference, "unexpected declaration in enum");
+ Report.error (member_sym.source_reference, "unexpected declaration in enum");
}
}
}
@@ -2584,14 +2584,14 @@
if (accept (TokenType.SEMICOLON)) {
// errordomain methods
while (current () != TokenType.CLOSE_BRACE) {
- var sym = parse_declaration ();
- if (sym is Method) {
- ed.add_method ((Method) sym);
- } else if (sym == null) {
+ var member_sym = parse_declaration ();
+ if (member_sym is Method) {
+ ed.add_method ((Method) member_sym);
+ } else if (member_sym == null) {
// workaround for current limitation of exception handling
throw new ParseError.SYNTAX ("syntax error in declaration");
} else {
- Report.error (sym.source_reference, "unexpected declaration in errordomain");
+ Report.error (member_sym.source_reference, "unexpected declaration in errordomain");
}
}
}
Modified: trunk/vapigen/valagidlparser.vala
==============================================================================
--- trunk/vapigen/valagidlparser.vala (original)
+++ trunk/vapigen/valagidlparser.vala Sat Dec 13 10:55:08 2008
@@ -1435,7 +1435,7 @@
bool set_delegate_target_pos = false;
double delegate_target_pos = 0;
bool array_requested = false;
- var attributes = get_attributes ("%s.%s".printf (symbol, param_node.name));
+ attributes = get_attributes ("%s.%s".printf (symbol, param_node.name));
if (attributes != null) {
foreach (string attr in attributes) {
var nv = attr.split ("=", 2);
@@ -1862,7 +1862,7 @@
p.direction = direction;
sig.add_parameter (p);
- var attributes = get_attributes ("%s::%s.%s".printf (current_data_type.get_cname (), sig.name, param_node.name));
+ attributes = get_attributes ("%s::%s.%s".printf (current_data_type.get_cname (), sig.name, param_node.name));
if (attributes != null) {
string ns_name = null;
foreach (string attr in attributes) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]