blob: 53f4a4e6dbdb59647e291c989ef8f44623940c68 [file] [log] [blame]
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analyzer/error/error.dart';
/**
* The error codes used for errors in analysis options files. The convention for
* this class is for the name of the error code to indicate the problem that
* caused the error to be generated and for the error message to explain what is
* wrong and, when appropriate, how the problem can be corrected.
*/
class AnalysisOptionsErrorCode extends ErrorCode {
/**
* An error code indicating that there is a syntactic error in the included
* file.
*
* Parameters:
* 0: the path of the file containing the error
* 1: the starting offset of the text in the file that contains the error
* 2: the ending offset of the text in the file that contains the error
* 3: the error message
*/
static const AnalysisOptionsErrorCode INCLUDED_FILE_PARSE_ERROR =
const AnalysisOptionsErrorCode(
'INCLUDED_FILE_PARSE_ERROR', '{3} in {0}({1}..{2})');
/**
* An error code indicating that there is a syntactic error in the file.
*
* Parameters:
* 0: the error message from the parse error
*/
static const AnalysisOptionsErrorCode PARSE_ERROR =
const AnalysisOptionsErrorCode('PARSE_ERROR', '{0}');
/**
* Initialize a newly created error code to have the given [name].
*/
const AnalysisOptionsErrorCode(String name, String message,
{String correction})
: super.temporary(name, message, correction: correction);
@override
ErrorSeverity get errorSeverity => ErrorSeverity.ERROR;
@override
ErrorType get type => ErrorType.COMPILE_TIME_ERROR;
}
class AnalysisOptionsHintCode extends ErrorCode {
/**
* An error code indicating the analysis options file name is deprecated and
* the file should be renamed.
*
* Parameters:
* 0: the uri of the file which should be renamed
*/
static const AnalysisOptionsHintCode DEPRECATED_ANALYSIS_OPTIONS_FILE_NAME =
const AnalysisOptionsHintCode(
'DEPRECATED_ANALYSIS_OPTIONS_FILE_NAME',
"The name of the analysis options file {0} is deprecated;"
" consider renaming it to analysis_options.yaml.");
/**
* An error code indicating that the enablePreviewDart2 setting is deprecated.
*/
static const AnalysisOptionsHintCode PREVIEW_DART_2_SETTING_DEPRECATED =
const AnalysisOptionsHintCode('PREVIEW_DART_2_SETTING_DEPRECATED',
"The 'enablePreviewDart2' setting is deprecated.",
correction: "It is no longer necessary to explicitly enable Dart 2.");
/**
* An error code indicating that strong-mode: true is deprecated.
*/
static const AnalysisOptionsHintCode STRONG_MODE_SETTING_DEPRECATED =
const AnalysisOptionsHintCode('STRONG_MODE_SETTING_DEPRECATED',
"The 'strong-mode: true' setting is deprecated.",
correction:
"It is no longer necessary to explicitly enable strong mode.");
/**
* An error code indicating that the enablePreviewDart2 setting is deprecated.
*/
static const AnalysisOptionsHintCode SUPER_MIXINS_SETTING_DEPRECATED =
const AnalysisOptionsHintCode('SUPER_MIXINS_SETTING_DEPRECATED',
"The 'enableSuperMixins' setting is deprecated.",
correction:
"Support has been added to the language for 'mixin' based mixins.");
/**
* Initialize a newly created hint code to have the given [name].
*/
const AnalysisOptionsHintCode(String name, String message,
{String correction})
: super.temporary(name, message, correction: correction);
@override
ErrorSeverity get errorSeverity => ErrorSeverity.INFO;
@override
ErrorType get type => ErrorType.HINT;
}
/**
* The error codes used for warnings in analysis options files. The convention
* for this class is for the name of the error code to indicate the problem that
* caused the error to be generated and for the error message to explain what is
* wrong and, when appropriate, how the problem can be corrected.
*/
class AnalysisOptionsWarningCode extends ErrorCode {
/**
* An error code indicating that the given option is deprecated.
*/
static const AnalysisOptionsWarningCode ANALYSIS_OPTION_DEPRECATED =
const AnalysisOptionsWarningCode('ANALYSIS_OPTION_DEPRECATED',
"The option '{0}' is no longer supported.");
/**
* An error code indicating a specified include file could not be found.
*
* Parameters:
* 0: the uri of the file to be included
* 1: the path of the file containing the include directive
*/
static const AnalysisOptionsWarningCode INCLUDE_FILE_NOT_FOUND =
const AnalysisOptionsWarningCode('INCLUDE_FILE_NOT_FOUND',
"The include file {0} in {1} cannot be found.");
/**
* An error code indicating a specified include file has a warning.
*
* Parameters:
* 0: the path of the file containing the warnings
* 1: the starting offset of the text in the file that contains the warning
* 2: the ending offset of the text in the file that contains the warning
* 3: the warning message
*/
static const AnalysisOptionsWarningCode INCLUDED_FILE_WARNING =
const AnalysisOptionsWarningCode('INCLUDED_FILE_WARNING',
"Warning in the included options file {0}({1}..{2}): {3}");
/**
* An error code indicating an invalid format for an options file section.
*
* Parameters:
* 0: the section name
*/
static const AnalysisOptionsWarningCode INVALID_SECTION_FORMAT =
const AnalysisOptionsWarningCode(
'INVALID_SECTION_FORMAT', "Invalid format for the '{0}' section.");
/**
* An error code indicating that strong-mode: false is has been removed.
*/
static const AnalysisOptionsWarningCode SPEC_MODE_REMOVED =
const AnalysisOptionsWarningCode('SPEC_MODE_REMOVED',
"The option 'strong-mode: false' is no longer supported.",
correction:
"It's recommended to remove the 'strong-mode:' setting (and make "
"your code Dart 2 compliant).");
/**
* An error code indicating that an unrecognized error code is being used to
* specify an error filter.
*
* Parameters:
* 0: the unrecognized error code
*/
static const AnalysisOptionsWarningCode UNRECOGNIZED_ERROR_CODE =
const AnalysisOptionsWarningCode(
'UNRECOGNIZED_ERROR_CODE', "'{0}' isn't a recognized error code.");
/**
* An error code indicating that a plugin is being configured with an
* unsupported option where there is just one legal value.
*
* Parameters:
* 0: the plugin name
* 1: the unsupported option key
* 2: the legal value
*/
static const AnalysisOptionsWarningCode UNSUPPORTED_OPTION_WITH_LEGAL_VALUE =
const AnalysisOptionsWarningCode(
'UNSUPPORTED_OPTION_WITH_LEGAL_VALUE',
"The option '{1}' isn't supported by '{0}'. "
"Try using the only supported option: '{2}'.");
/**
* An error code indicating that a plugin is being configured with an
* unsupported option and legal options are provided.
*
* Parameters:
* 0: the plugin name
* 1: the unsupported option key
* 2: legal values
*/
static const AnalysisOptionsWarningCode UNSUPPORTED_OPTION_WITH_LEGAL_VALUES =
const AnalysisOptionsWarningCode('UNSUPPORTED_OPTION_WITH_LEGAL_VALUES',
"The option '{1}' isn't supported by '{0}'.",
correction: "Try using one of the supported options: {2}.");
/**
* An error code indicating that a plugin is being configured with an
* unsupported option and legal options are provided.
*
* Parameters:
* 0: the plugin name
* 1: the unsupported option key
*/
static const AnalysisOptionsWarningCode UNSUPPORTED_OPTION_WITHOUT_VALUES =
const AnalysisOptionsWarningCode(
'UNSUPPORTED_OPTION_WITHOUT_VALUES',
"The option '{1}' isn't supported by '{0}'.",
);
/**
* An error code indicating that an option entry is being configured with an
* unsupported value.
*
* Parameters:
* 0: the option name
* 1: the unsupported value
* 2: legal values
*/
static const AnalysisOptionsWarningCode UNSUPPORTED_VALUE =
const AnalysisOptionsWarningCode(
'UNSUPPORTED_VALUE', "The value '{1}' isn't supported by '{0}'.",
correction: "Try using one of the supported options: {2}.");
/**
* Initialize a newly created warning code to have the given [name].
*/
const AnalysisOptionsWarningCode(String name, String message,
{String correction})
: super.temporary(name, message, correction: correction);
@override
ErrorSeverity get errorSeverity => ErrorSeverity.WARNING;
@override
ErrorType get type => ErrorType.STATIC_WARNING;
}