Remove parseUriWithException() and URISyntaxException.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2321263003 .
This commit is contained in:
Konstantin Shcheglov 2016-09-09 08:30:01 -07:00
parent fe02411930
commit 9cf47ce04c
20 changed files with 45 additions and 92 deletions

View file

@ -8,7 +8,6 @@ import 'dart:async';
import 'dart:collection';
import 'package:analysis_server/plugin/protocol/protocol.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:unittest/unittest.dart';
import 'domain_completion_test.dart';
@ -162,8 +161,7 @@ class LocationSpec {
String value = result.substring(2);
LocationSpec test = tests[id];
if (test == null) {
throw new StateError(
"Invalid location result id: $id for: $result");
throw new StateError("Invalid location result id: $id for: $result");
}
test.source = modifiedSource;
if (sign == '+') {

View file

@ -12,7 +12,6 @@ import 'dart:io' as io;
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/source/package_map_provider.dart'
show PackageMapProvider;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_io.dart' show JavaFile;
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/sdk_io.dart';
@ -89,8 +88,8 @@ class EmbedderSdk extends AbstractDartSdk {
String filePath = srcPath.replaceAll('/', io.Platform.pathSeparator);
try {
JavaFile file = new JavaFile(filePath);
return new FileBasedSource(file, parseUriWithException(dartUri));
} on URISyntaxException {
return new FileBasedSource(file, Uri.parse(dartUri));
} on FormatException {
return null;
}
}

View file

@ -22,7 +22,6 @@ import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/incremental_resolver.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/sdk.dart' show DartSdk;

View file

@ -10,7 +10,6 @@ import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
@ -159,7 +158,7 @@ class SourceFactoryImpl implements SourceFactory {
try {
// Force the creation of an escaped URI to deal with spaces, etc.
return _internalResolveUri(containingSource, FastUri.parse(containedUri));
} on URISyntaxException {
} on FormatException {
return null;
} catch (exception, stackTrace) {
String containingFullName =

View file

@ -10526,7 +10526,7 @@ abstract class UriBasedDirectiveImpl extends DirectiveImpl
@override
UriValidationCode validate() {
StringLiteral uriLiteral = uri;
StringLiteral uriLiteral = this.uri;
if (uriLiteral is StringInterpolation) {
return UriValidationCode.URI_WITH_INTERPOLATION;
}
@ -10537,9 +10537,13 @@ abstract class UriBasedDirectiveImpl extends DirectiveImpl
if (this is ImportDirective && uriContent.startsWith(_DART_EXT_SCHEME)) {
return UriValidationCode.URI_WITH_DART_EXT_SCHEME;
}
Uri uri;
try {
parseUriWithException(Uri.encodeFull(uriContent));
} on URISyntaxException {
uri = Uri.parse(Uri.encodeFull(uriContent));
} on FormatException {
return UriValidationCode.INVALID_URI;
}
if (uri.path.isEmpty) {
return UriValidationCode.INVALID_URI;
}
return null;

View file

@ -12,7 +12,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/engine.dart'
show AnalysisContext, AnalysisEngine;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';

View file

@ -13,7 +13,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/member.dart';
import 'package:analyzer/src/generated/engine.dart'
show AnalysisContext, AnalysisEngine;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/type_system.dart';
import 'package:analyzer/src/generated/utilities_collection.dart';
import 'package:analyzer/src/generated/utilities_dart.dart';

View file

@ -11,7 +11,6 @@ import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -16,7 +16,6 @@ import 'package:analyzer/src/dart/scanner/reader.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/parser.dart';
@ -145,8 +144,8 @@ abstract class AbstractDartSdk implements DartSdk {
return null;
}
try {
return file.createSource(parseUriWithException(path));
} on URISyntaxException catch (exception, stackTrace) {
return file.createSource(Uri.parse(path));
} on FormatException catch (exception, stackTrace) {
AnalysisEngine.instance.logger.logInformation(
"Failed to create URI: $path",
new CaughtException(exception, stackTrace));
@ -208,8 +207,8 @@ abstract class AbstractDartSdk implements DartSdk {
String filePath = srcPath.replaceAll('/', separator);
try {
File file = resourceProvider.getFile(filePath);
return file.createSource(parseUriWithException(dartUri));
} on URISyntaxException {
return file.createSource(Uri.parse(dartUri));
} on FormatException {
return null;
}
}
@ -332,8 +331,8 @@ class EmbedderSdk extends AbstractDartSdk {
String filePath = srcPath.replaceAll('/', separator);
try {
File file = resourceProvider.getFile(filePath);
return file.createSource(parseUriWithException(dartUri));
} on URISyntaxException {
return file.createSource(Uri.parse(dartUri));
} on FormatException {
return null;
}
}
@ -646,8 +645,8 @@ class FolderBasedDartSdk extends AbstractDartSdk {
if (!relativePath.isEmpty) {
file = file.parent.getChildAssumingFile(relativePath);
}
return file.createSource(parseUriWithException(dartUri));
} on URISyntaxException {
return file.createSource(Uri.parse(dartUri));
} on FormatException {
return null;
}
}

View file

@ -39,20 +39,6 @@ String formatList(String pattern, List<Object> arguments) {
});
}
/// Parses given string to [Uri], throws [URISyntaxException] if invalid.
Uri parseUriWithException(String str) {
Uri uri;
try {
uri = Uri.parse(str);
} on FormatException catch (e) {
throw new URISyntaxException(e.toString());
}
if (uri.path.isEmpty) {
throw new URISyntaxException('empty path');
}
return uri;
}
/**
* Very limited printf implementation, supports only %s and %d.
*/
@ -226,9 +212,3 @@ abstract class PrintWriter {
this.newLine();
}
}
class URISyntaxException implements Exception {
final String message;
URISyntaxException(this.message);
String toString() => "URISyntaxException: $message";
}

View file

@ -14,7 +14,6 @@ import 'package:analyzer/src/dart/scanner/reader.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/java_io.dart';
@ -133,8 +132,8 @@ abstract class AbstractDartSdk implements DartSdk {
return null;
}
try {
return new FileBasedSource(file, parseUriWithException(path));
} on URISyntaxException catch (exception, stackTrace) {
return new FileBasedSource(file, Uri.parse(path));
} on FormatException catch (exception, stackTrace) {
AnalysisEngine.instance.logger.logInformation(
"Failed to create URI: $path",
new CaughtException(exception, stackTrace));
@ -189,8 +188,8 @@ abstract class AbstractDartSdk implements DartSdk {
String filePath = srcPath.replaceAll('/', JavaFile.separator);
try {
JavaFile file = new JavaFile(filePath);
return new FileBasedSource(file, parseUriWithException(dartUri));
} on URISyntaxException {
return new FileBasedSource(file, Uri.parse(dartUri));
} on FormatException {
return null;
}
}
@ -721,8 +720,8 @@ class DirectoryBasedDartSdk extends AbstractDartSdk {
file = file.getParentFile();
file = new JavaFile.relative(file, relativePath);
}
return new FileBasedSource(file, parseUriWithException(dartUri));
} on URISyntaxException {
return new FileBasedSource(file, Uri.parse(dartUri));
} on FormatException {
return null;
}
}

View file

@ -7,7 +7,6 @@ library analyzer.src.generated.source_io;
import 'dart:collection';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/source.dart';
@ -481,8 +480,8 @@ class PackageUriResolver extends UriResolver {
String pkgCanonicalUri = _toFileUri(pkgFolder.getCanonicalPath());
if (sourceUri.startsWith(pkgCanonicalUri)) {
String relPath = sourceUri.substring(pkgCanonicalUri.length);
return parseUriWithException(
"$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
return Uri
.parse("$PACKAGE_SCHEME:${pkgFolder.getName()}$relPath");
}
} catch (e) {}
}

View file

@ -14,7 +14,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/testing/ast_factory.dart';

View file

@ -122,8 +122,7 @@ class CustomUriResolverTest {
UriResolver resolver = new CustomUriResolver({
'custom:library': '/path/to/library.dart',
});
Source result =
resolver.resolveAbsolute(parseUriWithException("custom:non_library"));
Source result = resolver.resolveAbsolute(Uri.parse("custom:non_library"));
expect(result, isNull);
}
@ -133,8 +132,7 @@ class CustomUriResolverTest {
UriResolver resolver = new CustomUriResolver({
'custom:library': path,
});
Source result =
resolver.resolveAbsolute(parseUriWithException("custom:library"));
Source result = resolver.resolveAbsolute(Uri.parse("custom:library"));
expect(result, isNotNull);
expect(result.fullName, path);
}
@ -148,7 +146,7 @@ class DartUriResolverTest {
}
void test_isDartUri_null_scheme() {
Uri uri = parseUriWithException("foo.dart");
Uri uri = Uri.parse("foo.dart");
expect('', uri.scheme);
expect(DartUriResolver.isDartUri(uri), isFalse);
}
@ -156,23 +154,22 @@ class DartUriResolverTest {
void test_resolve_dart() {
DartSdk sdk = _createSdk();
UriResolver resolver = new DartUriResolver(sdk);
Source result =
resolver.resolveAbsolute(parseUriWithException("dart:core"));
Source result = resolver.resolveAbsolute(Uri.parse("dart:core"));
expect(result, isNotNull);
}
void test_resolve_dart_nonExistingLibrary() {
DartSdk sdk = _createSdk();
UriResolver resolver = new DartUriResolver(sdk);
Source result = resolver.resolveAbsolute(parseUriWithException("dart:cor"));
Source result = resolver.resolveAbsolute(Uri.parse("dart:cor"));
expect(result, isNull);
}
void test_resolve_nonDart() {
DartSdk sdk = _createSdk();
UriResolver resolver = new DartUriResolver(sdk);
Source result = resolver
.resolveAbsolute(parseUriWithException("package:some/file.dart"));
Source result =
resolver.resolveAbsolute(Uri.parse("package:some/file.dart"));
expect(result, isNull);
}
}
@ -4344,8 +4341,7 @@ class FileBasedSourceTest {
UriResolver resolver = new DartUriResolver(sdk);
SourceFactory factory = new SourceFactory([resolver]);
// resolve dart:core
Source result =
resolver.resolveAbsolute(parseUriWithException("dart:core"));
Source result = resolver.resolveAbsolute(Uri.parse("dart:core"));
expect(result, isNotNull);
expect(result.isInSystemLibrary, isTrue);
// system libraries reference only other system libraries
@ -4380,8 +4376,7 @@ class FileBasedSourceTest {
JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
FileBasedSource source = new FileBasedSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/b/lib.dart");
}
@ -4396,8 +4391,7 @@ class FileBasedSourceTest {
JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
FileBasedSource source = new FileBasedSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("c/lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("c/lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/b/c/lib.dart");
}
@ -4411,16 +4405,14 @@ class FileBasedSourceTest {
JavaFile file = FileUtilities2.createFile("/a/b/test.dart");
FileBasedSource source = new FileBasedSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("../c/lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("../c/lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/c/lib.dart");
}
void test_system() {
JavaFile file = FileUtilities2.createFile("/does/not/exist.dart");
FileBasedSource source =
new FileBasedSource(file, parseUriWithException("dart:core"));
FileBasedSource source = new FileBasedSource(file, Uri.parse("dart:core"));
expect(source, isNotNull);
expect(source.fullName, file.getAbsolutePath());
expect(source.isInSystemLibrary, isTrue);

View file

@ -17,7 +17,6 @@ import 'package:analyzer/src/context/source.dart';
import 'package:analyzer/src/generated/constant.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source_io.dart';
import 'package:analyzer/src/string_source.dart';

View file

@ -17,7 +17,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/parser.dart' show ParserErrorCode;
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source_io.dart';

View file

@ -13,7 +13,6 @@ import 'package:analyzer/src/dart/element/element.dart';
import 'package:analyzer/src/dart/element/type.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/error.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/resolver.dart';
import 'package:analyzer/src/generated/source_io.dart';

View file

@ -10,7 +10,6 @@ import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/source/package_map_resolver.dart';
import 'package:analyzer/src/generated/engine.dart' show AnalysisEngine, Logger;
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
@ -317,7 +316,7 @@ class SourceFactoryTest {
File file2 = resourceProvider.getFile("/some/file2.dart");
Source source1 = new FileSource(file1);
Source source2 = new FileSource(file2);
Uri expected1 = parseUriWithException("file:///my_file.dart");
Uri expected1 = Uri.parse("file:///my_file.dart");
SourceFactory factory =
new SourceFactory([new UriResolver_restoreUri(source1, expected1)]);
expect(factory.restoreUri(source1), same(expected1));

View file

@ -12,7 +12,6 @@ import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/scanner/reader.dart';
import 'package:analyzer/src/dart/scanner/scanner.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/source.dart';

View file

@ -7,7 +7,6 @@ library analyzer.test.src.source.source_resource_test;
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/file_system/physical_file_system.dart';
import 'package:analyzer/src/generated/java_core.dart';
import 'package:analyzer/src/generated/java_engine_io.dart';
import 'package:analyzer/src/generated/sdk.dart';
import 'package:analyzer/src/generated/source.dart';
@ -126,8 +125,7 @@ class FileSourceTest {
UriResolver resolver = new DartUriResolver(sdk);
SourceFactory factory = new SourceFactory([resolver]);
// resolve dart:core
Source result =
resolver.resolveAbsolute(parseUriWithException("dart:async"));
Source result = resolver.resolveAbsolute(Uri.parse("dart:async"));
expect(result, isNotNull);
expect(result.isInSystemLibrary, isTrue);
// system libraries reference only other system libraries
@ -162,8 +160,7 @@ class FileSourceTest {
File file = resourceProvider.getFile("/a/b/test.dart");
FileSource source = new FileSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/b/lib.dart");
}
@ -178,8 +175,7 @@ class FileSourceTest {
File file = resourceProvider.getFile("/a/b/test.dart");
FileSource source = new FileSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("c/lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("c/lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/b/c/lib.dart");
}
@ -193,16 +189,14 @@ class FileSourceTest {
File file = resourceProvider.getFile("/a/b/test.dart");
FileSource source = new FileSource(file);
expect(source, isNotNull);
Uri relative =
resolveRelativeUri(source.uri, parseUriWithException("../c/lib.dart"));
Uri relative = resolveRelativeUri(source.uri, Uri.parse("../c/lib.dart"));
expect(relative, isNotNull);
expect(relative.toString(), "file:///a/c/lib.dart");
}
void test_system() {
File file = resourceProvider.getFile("/does/not/exist.dart");
FileSource source =
new FileSource(file, parseUriWithException("dart:core"));
FileSource source = new FileSource(file, Uri.parse("dart:core"));
expect(source, isNotNull);
expect(source.fullName, file.path);
expect(source.isInSystemLibrary, isTrue);