| 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;
|
| }
|
|
|