Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: lib/checks.dart

Issue 2464843002: Fix some strong mode issues. (Closed)
Patch Set: Revert .analysis_options as there are still strong-mode issues Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « lib/ast.dart ('k') | lib/text/ast_to_text.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/checks.dart
diff --git a/lib/checks.dart b/lib/checks.dart
index 50b180307aa02e0bd8940ed8806bc89e6c34242a..8de3b9f70d1d1cd324ced9366be718f7815601f6 100644
--- a/lib/checks.dart
+++ b/lib/checks.dart
@@ -10,7 +10,7 @@ void runSanityChecks(Program program) {
CheckReferences.check(program);
}
-class CheckParentPointers extends FakeNodeVisitor {
+class CheckParentPointers extends Visitor {
static void check(TreeNode node) {
node.accept(new CheckParentPointers(node.parent));
}
@@ -116,87 +116,6 @@ class CheckReferences extends RecursiveVisitor {
}
}
-abstract class FakeNode implements TreeNode {}
-
-abstract class FakeNodeVisitor extends Visitor {
- visitFakeNode(FakeNode node) => defaultNode(node);
-}
-
-class FakeExpression extends Expression implements FakeNode {
- Expression node;
-
- FakeExpression(this.node) {
- node?.parent = this;
- }
-
- accept(FakeNodeVisitor v) => v.visitFakeNode(this);
-
- visitChildren(Visitor v) {
- node?.accept(v);
- }
-
- transformChildren(Transformer v) {
- if (node != null) {
- node = node.accept(v);
- node?.parent = this;
- }
- }
-
- DartType getStaticType(types) => const BottomType();
-}
-
-class FakeStatement extends Statement implements FakeNode {
- Statement node;
-
- FakeStatement(this.node) {
- node?.parent = this;
- }
-
- accept(FakeNodeVisitor v) => v.visitFakeNode(this);
-
- visitChildren(Visitor v) {
- node?.accept(v);
- }
-
- transformChildren(Transformer v) {
- if (node != null) {
- node = node.accept(v);
- node?.parent = this;
- }
- }
-}
-
-class InsertWrappers extends Transformer {
- defaultExpression(node) => new FakeExpression(defaultTreeNode(node));
- defaultStatement(node) => new FakeStatement(defaultTreeNode(node));
-
- visitVariableDeclaration(VariableDeclaration node) {
- return defaultTreeNode(node);
- }
-}
-
-class CheckTransformers extends FakeNodeVisitor {
- static void transformAndCheck(TreeNode node) {
- var transformed = node.accept(new InsertWrappers());
- CheckParentPointers.check(transformed);
- transformed.accept(new CheckTransformers());
- }
-
- defaultNode(TreeNode node) {
- if (node is FakeNode) {
- if (node.parent is FakeNode) {
- throw 'FakeNode was wrapped multiple times';
- }
- } else if (node is Expression ||
- node is Statement && node is! VariableDeclaration) {
- if (node.parent is! FakeNode) {
- throw '${node.runtimeType} inside ${node.parent.runtimeType} was not wrapped';
- }
- }
- node.visitChildren(this);
- }
-}
-
class SizeCounter extends RecursiveVisitor {
int size = 0;
int emptyArguments = 0;
@@ -212,7 +131,7 @@ class SizeCounter extends RecursiveVisitor {
}
}
- defaultNode(TreeNode node) {
+ defaultNode(Node node) {
++size;
node.visitChildren(this);
}
« no previous file with comments | « lib/ast.dart ('k') | lib/text/ast_to_text.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698