summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sources/scalac/checkers/TreeChecker.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/sources/scalac/checkers/TreeChecker.java b/sources/scalac/checkers/TreeChecker.java
index 05cd757e7f..0816e5a278 100644
--- a/sources/scalac/checkers/TreeChecker.java
+++ b/sources/scalac/checkers/TreeChecker.java
@@ -21,6 +21,7 @@ import scalac.ast.Tree.Template;
import scalac.ast.Tree.ValDef;
import scalac.symtab.Definitions;
import scalac.symtab.Symbol;
+import scalac.symtab.Type;
import scalac.util.Debug;
/**
@@ -178,6 +179,39 @@ public class TreeChecker {
}
//########################################################################
+ // Private Methods - Checking statements
+
+ /** Checks the statement. Returns true. */
+ private boolean statement(Set locals, Tree tree) {
+ switch (tree) {
+
+ case Empty:
+ return true;
+
+ case ValDef(_, _, _, Tree rhs):
+ Symbol symbol = tree.symbol();
+ assert symbol != null && symbol.isTerm(): show(tree);
+ scopeInsertVVariable(symbol, false);
+ locals.add(symbol);
+ pushOwner(symbol);
+ expression(rhs, symbol.type());
+ popOwner();
+ return true;
+
+ default:
+ return expression(tree, tree.type());
+ }
+ }
+
+ //########################################################################
+ // Private Methods - Checking expressions
+
+ /** Checks the expression. Returns true. */
+ private boolean expression(Tree tree, Type expected) {
+ return true;
+ }
+
+ //########################################################################
// Private Methods - Declaring symbols
/** Do the trees contain the given symbols? */