diff --git a/pkg/analysis_server/doc/api.html b/pkg/analysis_server/doc/api.html
index 1b3a7581d72e..b20b6603ae7b 100644
--- a/pkg/analysis_server/doc/api.html
+++ b/pkg/analysis_server/doc/api.html
@@ -2908,7 +2908,12 @@
diff --git a/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart b/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
index e7c53595277b..e931ba3b8e91 100644
--- a/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
+++ b/pkg/analysis_server/lib/plugin/protocol/generated_protocol.dart
@@ -14065,6 +14065,7 @@ class RequestError implements HasToJson {
* GET_REACHABLE_SOURCES_INVALID_FILE
* INVALID_ANALYSIS_ROOT
* INVALID_EXECUTION_CONTEXT
+ * INVALID_FILE_PATH_FORMAT
* INVALID_OVERLAY_CHANGE
* INVALID_PARAMETER
* INVALID_REQUEST
@@ -14137,6 +14138,12 @@ class RequestErrorCode implements Enum {
*/
static const INVALID_EXECUTION_CONTEXT = const RequestErrorCode._("INVALID_EXECUTION_CONTEXT");
+ /**
+ * The format of the given file path is invalid, e.g. is not absolute and
+ * normalized.
+ */
+ static const INVALID_FILE_PATH_FORMAT = const RequestErrorCode._("INVALID_FILE_PATH_FORMAT");
+
/**
* An "analysis.updateContent" request contained a ChangeContentOverlay
* object which can't be applied, due to an edit having an offset or length
@@ -14232,7 +14239,7 @@ class RequestErrorCode implements Enum {
/**
* A list containing all of the enum values that are defined.
*/
- static const List VALUES = const [CONTENT_MODIFIED, FILE_NOT_ANALYZED, FORMAT_INVALID_FILE, FORMAT_WITH_ERRORS, GET_ERRORS_INVALID_FILE, GET_NAVIGATION_INVALID_FILE, GET_REACHABLE_SOURCES_INVALID_FILE, INVALID_ANALYSIS_ROOT, INVALID_EXECUTION_CONTEXT, INVALID_OVERLAY_CHANGE, INVALID_PARAMETER, INVALID_REQUEST, NO_INDEX_GENERATED, ORGANIZE_DIRECTIVES_ERROR, REFACTORING_REQUEST_CANCELLED, SERVER_ALREADY_STARTED, SERVER_ERROR, SORT_MEMBERS_INVALID_FILE, SORT_MEMBERS_PARSE_ERRORS, UNANALYZED_PRIORITY_FILES, UNKNOWN_REQUEST, UNKNOWN_SOURCE, UNSUPPORTED_FEATURE];
+ static const List VALUES = const [CONTENT_MODIFIED, FILE_NOT_ANALYZED, FORMAT_INVALID_FILE, FORMAT_WITH_ERRORS, GET_ERRORS_INVALID_FILE, GET_NAVIGATION_INVALID_FILE, GET_REACHABLE_SOURCES_INVALID_FILE, INVALID_ANALYSIS_ROOT, INVALID_EXECUTION_CONTEXT, INVALID_FILE_PATH_FORMAT, INVALID_OVERLAY_CHANGE, INVALID_PARAMETER, INVALID_REQUEST, NO_INDEX_GENERATED, ORGANIZE_DIRECTIVES_ERROR, REFACTORING_REQUEST_CANCELLED, SERVER_ALREADY_STARTED, SERVER_ERROR, SORT_MEMBERS_INVALID_FILE, SORT_MEMBERS_PARSE_ERRORS, UNANALYZED_PRIORITY_FILES, UNKNOWN_REQUEST, UNKNOWN_SOURCE, UNSUPPORTED_FEATURE];
final String name;
@@ -14258,6 +14265,8 @@ class RequestErrorCode implements Enum {
return INVALID_ANALYSIS_ROOT;
case "INVALID_EXECUTION_CONTEXT":
return INVALID_EXECUTION_CONTEXT;
+ case "INVALID_FILE_PATH_FORMAT":
+ return INVALID_FILE_PATH_FORMAT;
case "INVALID_OVERLAY_CHANGE":
return INVALID_OVERLAY_CHANGE;
case "INVALID_PARAMETER":
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 6a5ace1f3ee8..980bb9de7126 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -72,7 +72,7 @@ class AnalysisServer {
* The version of the analysis server. The value should be replaced
* automatically during the build.
*/
- static final String VERSION = '1.12.0';
+ static final String VERSION = '1.14.0';
/**
* The number of milliseconds to perform operations before inserting
diff --git a/pkg/analysis_server/test/integration/protocol_matchers.dart b/pkg/analysis_server/test/integration/protocol_matchers.dart
index cb2f80465a49..6266cb93ba85 100644
--- a/pkg/analysis_server/test/integration/protocol_matchers.dart
+++ b/pkg/analysis_server/test/integration/protocol_matchers.dart
@@ -2102,6 +2102,7 @@ final Matcher isRequestError = new LazyMatcher(() => new MatchesJsonObject(
* GET_REACHABLE_SOURCES_INVALID_FILE
* INVALID_ANALYSIS_ROOT
* INVALID_EXECUTION_CONTEXT
+ * INVALID_FILE_PATH_FORMAT
* INVALID_OVERLAY_CHANGE
* INVALID_PARAMETER
* INVALID_REQUEST
@@ -2128,6 +2129,7 @@ final Matcher isRequestErrorCode = new MatchesEnum("RequestErrorCode", [
"GET_REACHABLE_SOURCES_INVALID_FILE",
"INVALID_ANALYSIS_ROOT",
"INVALID_EXECUTION_CONTEXT",
+ "INVALID_FILE_PATH_FORMAT",
"INVALID_OVERLAY_CHANGE",
"INVALID_PARAMETER",
"INVALID_REQUEST",
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/RequestErrorCode.java b/pkg/analysis_server/tool/spec/generated/java/types/RequestErrorCode.java
index a5e439fae12a..346bf6381831 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/RequestErrorCode.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/RequestErrorCode.java
@@ -75,6 +75,11 @@ public class RequestErrorCode {
*/
public static final String INVALID_EXECUTION_CONTEXT = "INVALID_EXECUTION_CONTEXT";
+ /**
+ * The format of the given file path is invalid, e.g. is not absolute and normalized.
+ */
+ public static final String INVALID_FILE_PATH_FORMAT = "INVALID_FILE_PATH_FORMAT";
+
/**
* An "analysis.updateContent" request contained a ChangeContentOverlay object which can't be
* applied, due to an edit having an offset or length that is out of range.
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index 3dc5819a5dd6..3bb6cfea24a9 100644
--- a/pkg/analysis_server/tool/spec/spec_input.html
+++ b/pkg/analysis_server/tool/spec/spec_input.html
@@ -2683,7 +2683,12 @@
[String]
- The absolute path of a file.
+ The absolute, normalized path of a file.
+
+
+ If the format of a file path in a request is not valid, e.g. the
+ path is not absolute or is not normalized, then an error of type
+ INVALID_FILE_PATH_FORMAT will be generated.
@@ -3696,6 +3701,13 @@
exist.
+
+ INVALID_FILE_PATH_FORMAT
+
+ The format of the given file path is invalid, e.g. is not
+ absolute and normalized.
+
+
INVALID_OVERLAY_CHANGE