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

Unified Diff: frog/leg/compiler.dart

Issue 9271037: Inserted string validation as separate task in compiler. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 11 months 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 | « no previous file | frog/leg/leg.dart » ('j') | frog/leg/leg.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: frog/leg/compiler.dart
diff --git a/frog/leg/compiler.dart b/frog/leg/compiler.dart
index 85888c1a0e9ced5fc5ad1c92270778ddd175a2eb..89916a69d2fae8f3d78fec413f716663d54efd03 100644
--- a/frog/leg/compiler.dart
+++ b/frog/leg/compiler.dart
@@ -49,6 +49,7 @@ class Compiler implements Canceler, Logger {
List<CompilerTask> tasks;
ScannerTask scanner;
ParserTask parser;
+ StringValidatorTask stringValidator;
TreeValidatorTask validator;
ResolverTask resolver;
TypeCheckerTask checker;
@@ -69,6 +70,7 @@ class Compiler implements Canceler, Logger {
compileTimeConstantHandler = new CompileTimeConstantHandler(this);
scanner = new ScannerTask(this);
parser = new ParserTask(this);
+ stringValidator = new StringValidatorTask(this);
validator = new TreeValidatorTask(this);
resolver = new ResolverTask(this);
checker = new TypeCheckerTask(this);
@@ -76,8 +78,8 @@ class Compiler implements Canceler, Logger {
optimizer = new SsaOptimizerTask(this);
generator = new SsaCodeGeneratorTask(this);
emitter = new CodeEmitterTask(this);
- tasks = [scanner, parser, resolver, checker, builder, optimizer, generator,
- emitter, compileTimeConstantHandler];
+ tasks = [scanner, parser, stringValidator, resolver, checker, builder,
+ optimizer, generator, emitter, compileTimeConstantHandler];
}
void ensure(bool condition) {
@@ -183,6 +185,7 @@ class Compiler implements Canceler, Logger {
TreeElements analyzeElement(Element element) {
Node tree = parser.parse(element);
+ stringValidator.validate(tree);
validator.validate(tree);
TreeElements elements = resolver.resolve(element);
checker.check(tree, elements);
@@ -248,13 +251,15 @@ class Compiler implements Canceler, Logger {
}
Element resolveType(ClassElement element) {
- parser.parse(element);
+ Node tree = parser.parse(element);
+ stringValidator.validate(tree);
resolver.resolveType(element);
return element;
}
Element resolveSignature(FunctionElement element) {
- parser.parse(element);
+ Node tree = parser.parse(element);
+ stringValidator.validate(tree);
resolver.resolveSignature(element);
return element;
}
« no previous file with comments | « no previous file | frog/leg/leg.dart » ('j') | frog/leg/leg.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698