| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012, the Dart project authors. | 2 * Copyright (c) 2012, the Dart project authors. |
| 3 * | 3 * |
| 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except | 4 * Licensed under the Eclipse Public License v1.0 (the "License"); you may not u
se this file except |
| 5 * in compliance with the License. You may obtain a copy of the License at | 5 * in compliance with the License. You may obtain a copy of the License at |
| 6 * | 6 * |
| 7 * http://www.eclipse.org/legal/epl-v10.html | 7 * http://www.eclipse.org/legal/epl-v10.html |
| 8 * | 8 * |
| 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License | 9 * Unless required by applicable law or agreed to in writing, software distribut
ed under the License |
| 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express | 10 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY K
IND, either express |
| 11 * or implied. See the License for the specific language governing permissions a
nd limitations under | 11 * or implied. See the License for the specific language governing permissions a
nd limitations under |
| 12 * the License. | 12 * the License. |
| 13 */ | 13 */ |
| 14 package com.google.dart.engine.internal.sdk; | 14 package com.google.dart.engine.internal.sdk; |
| 15 | 15 |
| 16 import com.google.dart.engine.ast.BooleanLiteral; | 16 import com.google.dart.engine.ast.BooleanLiteral; |
| 17 import com.google.dart.engine.ast.CompilationUnit; | 17 import com.google.dart.engine.ast.CompilationUnit; |
| 18 import com.google.dart.engine.ast.Expression; | 18 import com.google.dart.engine.ast.Expression; |
| 19 import com.google.dart.engine.ast.InstanceCreationExpression; | 19 import com.google.dart.engine.ast.InstanceCreationExpression; |
| 20 import com.google.dart.engine.ast.MapLiteralEntry; | 20 import com.google.dart.engine.ast.MapLiteralEntry; |
| 21 import com.google.dart.engine.ast.NamedExpression; | 21 import com.google.dart.engine.ast.NamedExpression; |
| 22 import com.google.dart.engine.ast.SimpleIdentifier; | 22 import com.google.dart.engine.ast.SimpleIdentifier; |
| 23 import com.google.dart.engine.ast.SimpleStringLiteral; | 23 import com.google.dart.engine.ast.SimpleStringLiteral; |
| 24 import com.google.dart.engine.ast.visitor.RecursiveASTVisitor; | 24 import com.google.dart.engine.ast.visitor.RecursiveASTVisitor; |
| 25 import com.google.dart.engine.error.AnalysisError; | 25 import com.google.dart.engine.error.AnalysisError; |
| 26 import com.google.dart.engine.error.AnalysisErrorListener; | 26 import com.google.dart.engine.error.AnalysisErrorListener; |
| 27 import com.google.dart.engine.error.ErrorType; |
| 27 import com.google.dart.engine.parser.Parser; | 28 import com.google.dart.engine.parser.Parser; |
| 28 import com.google.dart.engine.scanner.CharSequenceReader; | 29 import com.google.dart.engine.scanner.CharSequenceReader; |
| 29 import com.google.dart.engine.scanner.Scanner; | 30 import com.google.dart.engine.scanner.Scanner; |
| 30 import com.google.dart.engine.source.FileBasedSource; | 31 import com.google.dart.engine.source.FileBasedSource; |
| 31 import com.google.dart.engine.source.Source; | 32 import com.google.dart.engine.source.Source; |
| 32 import com.google.dart.engine.source.UriKind; | 33 import com.google.dart.engine.source.UriKind; |
| 33 | 34 |
| 34 import java.io.File; | 35 import java.io.File; |
| 35 import java.util.List; | 36 import java.util.List; |
| 36 | 37 |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 /** | 156 /** |
| 156 * Return the library map read from the given source. | 157 * Return the library map read from the given source. |
| 157 * | 158 * |
| 158 * @return the library map read from the given source | 159 * @return the library map read from the given source |
| 159 */ | 160 */ |
| 160 public LibraryMap readFrom(File librariesFile, String libraryFileContents) { | 161 public LibraryMap readFrom(File librariesFile, String libraryFileContents) { |
| 161 final boolean[] foundError = {false}; | 162 final boolean[] foundError = {false}; |
| 162 AnalysisErrorListener errorListener = new AnalysisErrorListener() { | 163 AnalysisErrorListener errorListener = new AnalysisErrorListener() { |
| 163 @Override | 164 @Override |
| 164 public void onError(AnalysisError error) { | 165 public void onError(AnalysisError error) { |
| 165 foundError[0] = true; | 166 // TODO (danrubel): Remove this TODO check once TODO scraping is moved o
ut of parser |
| 167 if (error != null && error.getErrorCode().getType() != ErrorType.TODO) { |
| 168 foundError[0] = true; |
| 169 } |
| 166 } | 170 } |
| 167 }; | 171 }; |
| 168 Source source = new FileBasedSource(null, librariesFile, UriKind.FILE_URI); | 172 Source source = new FileBasedSource(null, librariesFile, UriKind.FILE_URI); |
| 169 Scanner scanner = new Scanner( | 173 Scanner scanner = new Scanner( |
| 170 source, | 174 source, |
| 171 new CharSequenceReader(libraryFileContents), | 175 new CharSequenceReader(libraryFileContents), |
| 172 errorListener); | 176 errorListener); |
| 173 Parser parser = new Parser(source, errorListener); | 177 Parser parser = new Parser(source, errorListener); |
| 174 CompilationUnit unit = parser.parseCompilationUnit(scanner.tokenize()); | 178 CompilationUnit unit = parser.parseCompilationUnit(scanner.tokenize()); |
| 175 LibraryBuilder libraryBuilder = new LibraryBuilder(); | 179 LibraryBuilder libraryBuilder = new LibraryBuilder(); |
| 176 // If any syntactic errors were found then don't try to visit the AST struct
ure. | 180 // If any syntactic errors were found then don't try to visit the AST struct
ure. |
| 177 if (!foundError[0]) { | 181 if (!foundError[0]) { |
| 178 unit.accept(libraryBuilder); | 182 unit.accept(libraryBuilder); |
| 179 } | 183 } |
| 180 return libraryBuilder.getLibrariesMap(); | 184 return libraryBuilder.getLibrariesMap(); |
| 181 } | 185 } |
| 182 } | 186 } |
| OLD | NEW |