[vala/wip/transform: 43/99] Don't navigate the resolver tree if a node has been checked already
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/wip/transform: 43/99] Don't navigate the resolver tree if a node has been checked already
- Date: Tue, 27 Mar 2018 12:24:01 +0000 (UTC)
commit e02c739794bf055ea0066a5a7033382a58129c3c
Author: Luca Bruno <lucabru src gnome org>
Date: Thu Jan 5 15:56:43 2012 +0100
Don't navigate the resolver tree if a node has been checked already
vala/valasymbolresolver.vala | 174 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 174 insertions(+), 0 deletions(-)
---
diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala
index 55fa94f..61002e8 100644
--- a/vala/valasymbolresolver.vala
+++ b/vala/valasymbolresolver.vala
@@ -57,6 +57,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_class (Class cl) {
+ if (cl.checked) {
+ return;
+ }
+
current_scope = cl.scope;
cl.accept_children (this);
@@ -82,6 +86,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_struct (Struct st) {
+ if (st.checked) {
+ return;
+ }
+
current_scope = st.scope;
st.accept_children (this);
@@ -101,6 +109,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_interface (Interface iface) {
+ if (iface.checked) {
+ return;
+ }
+
current_scope = iface.scope;
iface.accept_children (this);
@@ -117,6 +129,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_enum (Enum en) {
+ if (en.checked) {
+ return;
+ }
+
current_scope = en.scope;
en.accept_children (this);
@@ -125,6 +141,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_error_domain (ErrorDomain ed) {
+ if (ed.checked) {
+ return;
+ }
+
current_scope = ed.scope;
ed.accept_children (this);
@@ -133,6 +153,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_delegate (Delegate cb) {
+ if (cb.checked) {
+ return;
+ }
+
current_scope = cb.scope;
cb.accept_children (this);
@@ -141,6 +165,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_constant (Constant c) {
+ if (c.checked) {
+ return;
+ }
+
var old_scope = current_scope;
if (!(c.parent_symbol is Block)) {
// non-local constant
@@ -153,6 +181,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_field (Field f) {
+ if (f.checked) {
+ return;
+ }
+
current_scope = f.scope;
f.accept_children (this);
@@ -161,6 +193,10 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_method (Method m) {
+ if (m.checked) {
+ return;
+ }
+
current_scope = m.scope;
m.accept_children (this);
@@ -169,34 +205,58 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_creation_method (CreationMethod m) {
+ if (m.checked) {
+ return;
+ }
m.accept_children (this);
}
public override void visit_formal_parameter (Parameter p) {
+ if (p.checked) {
+ return;
+ }
p.accept_children (this);
}
public override void visit_property (Property prop) {
+ if (prop.checked) {
+ return;
+ }
prop.accept_children (this);
}
public override void visit_property_accessor (PropertyAccessor acc) {
+ if (acc.checked) {
+ return;
+ }
acc.accept_children (this);
}
public override void visit_signal (Signal sig) {
+ if (sig.checked) {
+ return;
+ }
sig.accept_children (this);
}
public override void visit_constructor (Constructor c) {
+ if (c.checked) {
+ return;
+ }
c.accept_children (this);
}
public override void visit_destructor (Destructor d) {
+ if (d.checked) {
+ return;
+ }
d.accept_children (this);
}
public override void visit_block (Block b) {
+ if (b.checked) {
+ return;
+ }
b.accept_children (this);
}
@@ -380,10 +440,16 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_declaration_statement (DeclarationStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_local_variable (LocalVariable local) {
+ if (local.checked) {
+ return;
+ }
local.accept_children (this);
if (!context.experimental_non_null) {
// local reference variables are considered nullable
@@ -400,62 +466,107 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_initializer_list (InitializerList list) {
+ if (list.checked) {
+ return;
+ }
list.accept_children (this);
}
public override void visit_expression_statement (ExpressionStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_if_statement (IfStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_switch_statement (SwitchStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_switch_section (SwitchSection section) {
+ if (section.checked) {
+ return;
+ }
section.accept_children (this);
}
public override void visit_switch_label (SwitchLabel label) {
+ if (label.checked) {
+ return;
+ }
label.accept_children (this);
}
public override void visit_loop (Loop stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_while_statement (WhileStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_do_statement (DoStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_for_statement (ForStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_foreach_statement (ForeachStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_return_statement (ReturnStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_yield_statement (YieldStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_throw_statement (ThrowStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
public override void visit_try_statement (TryStatement stmt) {
+ if (stmt.checked) {
+ return;
+ }
stmt.accept_children (this);
}
@@ -464,58 +575,100 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_catch_clause (CatchClause clause) {
+ if (clause.checked) {
+ return;
+ }
clause.accept_children (this);
}
public override void visit_array_creation_expression (ArrayCreationExpression e) {
+ if (e.checked) {
+ return;
+ }
e.accept_children (this);
}
public override void visit_template (Template tmpl) {
+ if (tmpl.checked) {
+ return;
+ }
tmpl.accept_children (this);
}
public override void visit_tuple (Tuple tuple) {
+ if (tuple.checked) {
+ return;
+ }
tuple.accept_children (this);
}
public override void visit_member_access (MemberAccess expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_method_call (MethodCall expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_element_access (ElementAccess expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_slice_expression (SliceExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_postfix_expression (PostfixExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_object_creation_expression (ObjectCreationExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_sizeof_expression (SizeofExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_typeof_expression (TypeofExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_unary_expression (UnaryExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_cast_expression (CastExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
@@ -524,30 +677,51 @@ public class Vala.SymbolResolver : CodeVisitor {
}
public override void visit_addressof_expression (AddressofExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_reference_transfer_expression (ReferenceTransferExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_binary_expression (BinaryExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_type_check (TypeCheck expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_conditional_expression (ConditionalExpression expr) {
+ if (expr.checked) {
+ return;
+ }
expr.accept_children (this);
}
public override void visit_lambda_expression (LambdaExpression l) {
+ if (l.checked) {
+ return;
+ }
l.accept_children (this);
}
public override void visit_assignment (Assignment a) {
+ if (a.checked) {
+ return;
+ }
a.accept_children (this);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]