-
Notifications
You must be signed in to change notification settings - Fork 1.1k
refactor: add isActive
to ErrorMessageID
#14965
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,188 +1,191 @@ | ||
package dotty.tools.dotc.reporting | ||
|
||
/** Unique IDs identifying the messages */ | ||
enum ErrorMessageID extends java.lang.Enum[ErrorMessageID]: | ||
/** Unique IDs identifying the messages | ||
* @param isActive Whether or not the compile still emits this ErrorMessageID | ||
**/ | ||
enum ErrorMessageID(val isActive: Boolean = true) extends java.lang.Enum[ErrorMessageID]: | ||
|
||
// IMPORTANT: Add new IDs only at the end and never remove IDs | ||
case | ||
LazyErrorId, // // errorNumber: -2 | ||
NoExplanationID, // errorNumber: -1 | ||
case LazyErrorId // // errorNumber: -2 | ||
case NoExplanationID // errorNumber: -1 | ||
|
||
EmptyCatchOrFinallyBlockID, // errorNumber: 0 | ||
EmptyCatchBlockID, // errorNumber: 1 | ||
EmptyCatchAndFinallyBlockID, // errorNumber: 2 | ||
DeprecatedWithOperatorID, | ||
CaseClassMissingParamListID, | ||
DuplicateBindID, | ||
MissingIdentID, | ||
TypeMismatchID, | ||
NotAMemberID, | ||
EarlyDefinitionsNotSupportedID, | ||
TopLevelImplicitClassID, | ||
ImplicitCaseClassID, | ||
ImplicitClassPrimaryConstructorArityID, | ||
ObjectMayNotHaveSelfTypeID, | ||
TupleTooLongID, | ||
RepeatedModifierID, | ||
InterpolatedStringErrorID, | ||
UnboundPlaceholderParameterID, | ||
IllegalStartSimpleExprID, | ||
MissingReturnTypeID, | ||
YieldOrDoExpectedInForComprehensionID, | ||
ProperDefinitionNotFoundID, | ||
ByNameParameterNotSupportedID, | ||
WrongNumberOfTypeArgsID, | ||
IllegalVariableInPatternAlternativeID, | ||
IdentifierExpectedID, | ||
AuxConstructorNeedsNonImplicitParameterID, | ||
VarArgsParamMustComeLastID, | ||
IllegalLiteralID, | ||
PatternMatchExhaustivityID, | ||
MatchCaseUnreachableID, | ||
SeqWildcardPatternPosID, | ||
IllegalStartOfSimplePatternID, | ||
PkgDuplicateSymbolID, | ||
ExistentialTypesNoLongerSupportedID, | ||
UnboundWildcardTypeID, | ||
DanglingThisInPathID, | ||
OverridesNothingID, | ||
OverridesNothingButNameExistsID, | ||
ForwardReferenceExtendsOverDefinitionID, | ||
ExpectedTokenButFoundID, | ||
MixedLeftAndRightAssociativeOpsID, | ||
CantInstantiateAbstractClassOrTraitID, | ||
UnreducibleApplicationID, | ||
OverloadedOrRecursiveMethodNeedsResultTypeID, | ||
RecursiveValueNeedsResultTypeID, | ||
CyclicReferenceInvolvingID, | ||
CyclicReferenceInvolvingImplicitID, | ||
SuperQualMustBeParentID, | ||
AmbiguousReferenceID, | ||
MethodDoesNotTakeParametersId, | ||
AmbiguousOverloadID, | ||
ReassignmentToValID, | ||
TypeDoesNotTakeParametersID, | ||
ParameterizedTypeLacksArgumentsID, | ||
VarValParametersMayNotBeCallByNameID, | ||
MissingTypeParameterForID, | ||
DoesNotConformToBoundID, | ||
DoesNotConformToSelfTypeID, | ||
DoesNotConformToSelfTypeCantBeInstantiatedID, | ||
AbstractMemberMayNotHaveModifierID, | ||
TopLevelCantBeImplicitID, | ||
TypesAndTraitsCantBeImplicitID, | ||
OnlyClassesCanBeAbstractID, | ||
AbstractOverrideOnlyInTraitsID, | ||
TraitsMayNotBeFinalID, | ||
NativeMembersMayNotHaveImplementationID, | ||
OnlyClassesCanHaveDeclaredButUndefinedMembersID, | ||
CannotExtendAnyValID, | ||
CannotHaveSameNameAsID, | ||
ValueClassesMayNotDefineInnerID, | ||
ValueClassesMayNotDefineNonParameterFieldID, | ||
ValueClassesMayNotDefineASecondaryConstructorID, | ||
ValueClassesMayNotContainInitalizationID, | ||
ValueClassesMayNotBeAbstractID, | ||
ValueClassesMayNotBeContaintedID, | ||
ValueClassesMayNotWrapAnotherValueClassID, | ||
ValueClassParameterMayNotBeAVarID, | ||
ValueClassNeedsExactlyOneValParamID, | ||
UNUSED1, | ||
UNUSED2, | ||
AnonymousFunctionMissingParamTypeID, | ||
SuperCallsNotAllowedInlineableID, | ||
NotAPathID, | ||
WildcardOnTypeArgumentNotAllowedOnNewID, | ||
FunctionTypeNeedsNonEmptyParameterListID, | ||
WrongNumberOfParametersID, | ||
DuplicatePrivateProtectedQualifierID, | ||
ExpectedStartOfTopLevelDefinitionID, | ||
MissingReturnTypeWithReturnStatementID, | ||
NoReturnFromInlineableID, | ||
ReturnOutsideMethodDefinitionID, | ||
UncheckedTypePatternID, | ||
ExtendFinalClassID, | ||
EnumCaseDefinitionInNonEnumOwnerID, | ||
ExpectedTypeBoundOrEqualsID, | ||
ClassAndCompanionNameClashID, | ||
TailrecNotApplicableID, | ||
FailureToEliminateExistentialID, | ||
OnlyFunctionsCanBeFollowedByUnderscoreID, | ||
MissingEmptyArgumentListID, | ||
DuplicateNamedTypeParameterID, | ||
UndefinedNamedTypeParameterID, | ||
IllegalStartOfStatementID, | ||
TraitIsExpectedID, | ||
TraitRedefinedFinalMethodFromAnyRefID, | ||
PackageNameAlreadyDefinedID, | ||
UnapplyInvalidNumberOfArgumentsID, | ||
UnapplyInvalidReturnTypeID, | ||
StaticFieldsOnlyAllowedInObjectsID, | ||
CyclicInheritanceID, | ||
BadSymbolicReferenceID, | ||
UnableToExtendSealedClassID, | ||
SymbolHasUnparsableVersionNumberID, | ||
SymbolChangedSemanticsInVersionID, | ||
UnableToEmitSwitchID, | ||
MissingCompanionForStaticID, | ||
PolymorphicMethodMissingTypeInParentID, | ||
ParamsNoInlineID, | ||
JavaSymbolIsNotAValueID, | ||
DoubleDefinitionID, | ||
MatchCaseOnlyNullWarningID, | ||
ImportRenamedTwiceID, | ||
TypeTestAlwaysDivergesID, | ||
TermMemberNeedsNeedsResultTypeForImplicitSearchID, | ||
ClassCannotExtendEnumID, | ||
ValueClassParameterMayNotBeCallByNameID, | ||
NotAnExtractorID, | ||
MemberWithSameNameAsStaticID, | ||
PureExpressionInStatementPositionID, | ||
TraitCompanionWithMutableStaticID, | ||
LazyStaticFieldID, | ||
StaticOverridingNonStaticMembersID, | ||
OverloadInRefinementID, | ||
NoMatchingOverloadID, | ||
StableIdentPatternID, | ||
StaticFieldsShouldPrecedeNonStaticID, | ||
IllegalSuperAccessorID, | ||
TraitParameterUsedAsParentPrefixID, | ||
UnknownNamedEnclosingClassOrObjectID, | ||
IllegalCyclicTypeReferenceID, | ||
MissingTypeParameterInTypeAppID, | ||
SkolemInInferredID, | ||
ErasedTypesCanOnlyBeFunctionTypesID, | ||
CaseClassMissingNonImplicitParamListID, | ||
EnumerationsShouldNotBeEmptyID, | ||
IllegalParameterInitID, | ||
RedundantModifierID, | ||
TypedCaseDoesNotExplicitlyExtendTypedEnumID, | ||
IllegalRedefinitionOfStandardKindID, | ||
NoExtensionMethodAllowedID, | ||
ExtensionMethodCannotHaveTypeParamsID, | ||
ExtensionCanOnlyHaveDefsID, | ||
UnexpectedPatternForSummonFromID, | ||
AnonymousInstanceCannotBeEmptyID, | ||
TypeSpliceInValPatternID, | ||
ModifierNotAllowedForDefinitionID, | ||
CannotExtendJavaEnumID, | ||
InvalidReferenceInImplicitNotFoundAnnotationID, | ||
TraitMayNotDefineNativeMethodID, | ||
JavaEnumParentArgsID, | ||
AlreadyDefinedID, | ||
CaseClassInInlinedCodeID, | ||
OverrideTypeMismatchErrorID, | ||
OverrideErrorID, | ||
MatchableWarningID, | ||
CannotExtendFunctionID, | ||
LossyWideningConstantConversionID, | ||
ImplicitSearchTooLargeID, | ||
TargetNameOnTopLevelClassID | ||
case EmptyCatchOrFinallyBlockID extends ErrorMessageID(isActive = false) // errorNumber: 0 | ||
case EmptyCatchBlockID // errorNumber: 1 | ||
case EmptyCatchAndFinallyBlockID // errorNumber: 2 | ||
case DeprecatedWithOperatorID // errorNumber: 3 | ||
case CaseClassMissingParamListID // errorNumber: 4 | ||
case DuplicateBindID // errorNumber: 5 | ||
case MissingIdentID // errorNumber: 6 | ||
case TypeMismatchID // errorNumber: 7 | ||
case NotAMemberID // errorNumber: 8 | ||
case EarlyDefinitionsNotSupportedID // errorNumber: 9 | ||
case TopLevelImplicitClassID extends ErrorMessageID(isActive = false) // errorNumber: 10 | ||
case ImplicitCaseClassID // errorNumber: 11 | ||
case ImplicitClassPrimaryConstructorArityID // errorNumber: 12 | ||
case ObjectMayNotHaveSelfTypeID // errorNumber: 13 | ||
case TupleTooLongID extends ErrorMessageID(isActive = false) // errorNumber: 14 | ||
case RepeatedModifierID // errorNumber: 15 | ||
case InterpolatedStringErrorID // errorNumber: 16 | ||
case UnboundPlaceholderParameterID // errorNumber: 17 | ||
case IllegalStartSimpleExprID // errorNumber: 18 | ||
case MissingReturnTypeID // errorNumber: 19 | ||
case YieldOrDoExpectedInForComprehensionID // errorNumber: 20 | ||
case ProperDefinitionNotFoundID // errorNumber: 21 | ||
case ByNameParameterNotSupportedID // errorNumber: 22 | ||
case WrongNumberOfTypeArgsID // errorNumber: 23 | ||
case IllegalVariableInPatternAlternativeID // errorNumber: 24 | ||
case IdentifierExpectedID // errorNumber: 25 | ||
case AuxConstructorNeedsNonImplicitParameterID // errorNumber: 26 | ||
case VarArgsParamMustComeLastID // errorNumber: 27 | ||
case IllegalLiteralID // errorNumber: 28 | ||
case PatternMatchExhaustivityID // errorNumber: 29 | ||
case MatchCaseUnreachableID // errorNumber: 30 | ||
case SeqWildcardPatternPosID // errorNumber: 31 | ||
case IllegalStartOfSimplePatternID // errorNumber: 32 | ||
case PkgDuplicateSymbolID // errorNumber: 33 | ||
case ExistentialTypesNoLongerSupportedID // errorNumber: 34 | ||
case UnboundWildcardTypeID // errorNumber: 35 | ||
case DanglingThisInPathID extends ErrorMessageID(isActive = false) // errorNumber: 36 | ||
case OverridesNothingID // errorNumber: 37 | ||
case OverridesNothingButNameExistsID // errorNumber: 38 | ||
case ForwardReferenceExtendsOverDefinitionID // errorNumber: 39 | ||
case ExpectedTokenButFoundID // errorNumber: 40 | ||
case MixedLeftAndRightAssociativeOpsID // errorNumber: 41 | ||
case CantInstantiateAbstractClassOrTraitID // errorNumber: 42 | ||
case UnreducibleApplicationID // errorNumber: 43 | ||
case OverloadedOrRecursiveMethodNeedsResultTypeID // errorNumber: 44 | ||
case RecursiveValueNeedsResultTypeID // errorNumber: 45 | ||
case CyclicReferenceInvolvingID // errorNumber: 46 | ||
case CyclicReferenceInvolvingImplicitID // errorNumber: 47 | ||
case SuperQualMustBeParentID // errorNumber: 48 | ||
case AmbiguousReferenceID // errorNumber: 49 | ||
case MethodDoesNotTakeParametersId // errorNumber: 50 | ||
case AmbiguousOverloadID // errorNumber: 51 | ||
case ReassignmentToValID // errorNumber: 52 | ||
case TypeDoesNotTakeParametersID // errorNumber: 53 | ||
case ParameterizedTypeLacksArgumentsID // errorNumber: 54 | ||
case VarValParametersMayNotBeCallByNameID // errorNumber: 55 | ||
case MissingTypeParameterForID // errorNumber: 56 | ||
case DoesNotConformToBoundID // errorNumber: 57 | ||
case DoesNotConformToSelfTypeID // errorNumber: 58 | ||
case DoesNotConformToSelfTypeCantBeInstantiatedID // errorNumber: 59 | ||
case AbstractMemberMayNotHaveModifierID // errorNumber: 60 | ||
case TopLevelCantBeImplicitID extends ErrorMessageID(isActive = false) // errorNumber: 61 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Related to the other top level implicit comment this is also still referenced in one place, but I think it's dead code as I'm unable to reproduce it or get anything to touch that branch in There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. FYI there's no longer reference to this Error #14935 |
||
case TypesAndTraitsCantBeImplicitID // errorNumber: 62 | ||
case OnlyClassesCanBeAbstractID // errorNumber: 63 | ||
case AbstractOverrideOnlyInTraitsID // errorNumber: 64 | ||
case TraitsMayNotBeFinalID // errorNumber: 65 | ||
case NativeMembersMayNotHaveImplementationID // errorNumber: 66 | ||
case OnlyClassesCanHaveDeclaredButUndefinedMembersID // errorNumber: 67 | ||
case CannotExtendAnyValID // errorNumber: 68 | ||
case CannotHaveSameNameAsID // errorNumber: 69 | ||
case ValueClassesMayNotDefineInnerID // errorNumber: 70 | ||
case ValueClassesMayNotDefineNonParameterFieldID // errorNumber: 71 | ||
case ValueClassesMayNotDefineASecondaryConstructorID // errorNumber: 72 | ||
case ValueClassesMayNotContainInitalizationID // errorNumber: 73 | ||
case ValueClassesMayNotBeAbstractID // errorNumber: 74 | ||
case ValueClassesMayNotBeContaintedID // errorNumber: 75 | ||
case ValueClassesMayNotWrapAnotherValueClassID // errorNumber: 76 | ||
case ValueClassParameterMayNotBeAVarID // errorNumber: 77 | ||
case ValueClassNeedsExactlyOneValParamID // errorNumber: 78 | ||
case OnlyCaseClassOrCaseObjectAllowedID extends ErrorMessageID(isActive = false) // errorNumber: 79 | ||
case ExpectedTopLevelDefID extends ErrorMessageID(isActive = false) // errorNumber: 80 | ||
Comment on lines
+91
to
+92
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I ended up added this in only for the sake of records. I don't think we should rename these, but rather mark them as |
||
case AnonymousFunctionMissingParamTypeID // errorNumber: 81 | ||
case SuperCallsNotAllowedInlineableID // errorNumber: 82 | ||
case NotAPathID // errorNumber: 83 | ||
case WildcardOnTypeArgumentNotAllowedOnNewID // errorNumber: 84 | ||
case FunctionTypeNeedsNonEmptyParameterListID // errorNumber: 85 | ||
case WrongNumberOfParametersID // errorNumber: 86 | ||
case DuplicatePrivateProtectedQualifierID // errorNumber: 87 | ||
case ExpectedStartOfTopLevelDefinitionID // errorNumber: 88 | ||
case MissingReturnTypeWithReturnStatementID // errorNumber: 89 | ||
case NoReturnFromInlineableID // errorNumber: 90 | ||
case ReturnOutsideMethodDefinitionID // errorNumber: 91 | ||
case UncheckedTypePatternID // errorNumber: 92 | ||
case ExtendFinalClassID // errorNumber: 93 | ||
case EnumCaseDefinitionInNonEnumOwnerID // errorNumber: 94 | ||
case ExpectedTypeBoundOrEqualsID // errorNumber: 95 | ||
case ClassAndCompanionNameClashID // errorNumber: 96 | ||
case TailrecNotApplicableID // errorNumber: 97 | ||
case FailureToEliminateExistentialID // errorNumber: 98 | ||
case OnlyFunctionsCanBeFollowedByUnderscoreID // errorNumber: 99 | ||
case MissingEmptyArgumentListID // errorNumber: 100 | ||
case DuplicateNamedTypeParameterID // errorNumber: 101 | ||
case UndefinedNamedTypeParameterID // errorNumber: 102 | ||
case IllegalStartOfStatementID // errorNumber: 1033 | ||
case TraitIsExpectedID // errorNumber: 104 | ||
case TraitRedefinedFinalMethodFromAnyRefID // errorNumber: 105 | ||
case PackageNameAlreadyDefinedID // errorNumber: 106 | ||
case UnapplyInvalidNumberOfArgumentsID // errorNumber: 107 | ||
case UnapplyInvalidReturnTypeID // errorNumber: 108 | ||
case StaticFieldsOnlyAllowedInObjectsID // errorNumber: 109 | ||
case CyclicInheritanceID // errorNumber: 110 | ||
case BadSymbolicReferenceID // errorNumber: 111 | ||
case UnableToExtendSealedClassID // errorNumber: 112 | ||
case SymbolHasUnparsableVersionNumberID // errorNumber: 113 | ||
case SymbolChangedSemanticsInVersionID // errorNumber: 114 | ||
case UnableToEmitSwitchID // errorNumber: 115 | ||
case MissingCompanionForStaticID // errorNumber: 116 | ||
case PolymorphicMethodMissingTypeInParentID // errorNumber: 117 | ||
case ParamsNoInlineID // errorNumber: 118 | ||
case JavaSymbolIsNotAValueID // errorNumber: 119 | ||
case DoubleDefinitionID // errorNumber: 120 | ||
case MatchCaseOnlyNullWarningID // errorNumber: 121 | ||
case ImportRenamedTwiceID // errorNumber: 122 | ||
case TypeTestAlwaysDivergesID // errorNumber: 123 | ||
case TermMemberNeedsNeedsResultTypeForImplicitSearchID // errorNumber: 124 | ||
case ClassCannotExtendEnumID // errorNumber: 125 | ||
case ValueClassParameterMayNotBeCallByNameID // errorNumber: 126 | ||
case NotAnExtractorID // errorNumber: 127 | ||
case MemberWithSameNameAsStaticID // errorNumber: 128 | ||
case PureExpressionInStatementPositionID // errorNumber: 129 | ||
case TraitCompanionWithMutableStaticID // errorNumber: 130 | ||
case LazyStaticFieldID // errorNumber: 131 | ||
case StaticOverridingNonStaticMembersID // errorNumber: 132 | ||
case OverloadInRefinementID // errorNumber: 133 | ||
case NoMatchingOverloadID // errorNumber: 134 | ||
case StableIdentPatternID // errorNumber: 135 | ||
case StaticFieldsShouldPrecedeNonStaticID // errorNumber: 136 | ||
case IllegalSuperAccessorID // errorNumber: 137 | ||
case TraitParameterUsedAsParentPrefixID // errorNumber: 138 | ||
case UnknownNamedEnclosingClassOrObjectID // errorNumber: 139 | ||
case IllegalCyclicTypeReferenceID // errorNumber: 140 | ||
case MissingTypeParameterInTypeAppID // errorNumber: 141 | ||
case SkolemInInferredID // errorNumber: 142 | ||
case ErasedTypesCanOnlyBeFunctionTypesID // errorNumber: 143 | ||
case CaseClassMissingNonImplicitParamListID // errorNumber: 144 | ||
case EnumerationsShouldNotBeEmptyID // errorNumber: 145 | ||
case IllegalParameterInitID // errorNumber: 146 | ||
case RedundantModifierID // errorNumber: 147 | ||
case TypedCaseDoesNotExplicitlyExtendTypedEnumID // errorNumber: 148 | ||
case IllegalRedefinitionOfStandardKindID // errorNumber: 149 | ||
case NoExtensionMethodAllowedID // errorNumber: 150 | ||
case ExtensionMethodCannotHaveTypeParamsID // errorNumber: 151 | ||
case ExtensionCanOnlyHaveDefsID // errorNumber: 152 | ||
case UnexpectedPatternForSummonFromID // errorNumber: 153 | ||
case AnonymousInstanceCannotBeEmptyID // errorNumber: 154 | ||
case TypeSpliceInValPatternID // errorNumber: 155 | ||
case ModifierNotAllowedForDefinitionID // errorNumber: 156 | ||
case CannotExtendJavaEnumID // errorNumber: 157 | ||
case InvalidReferenceInImplicitNotFoundAnnotationID // errorNumber: 158 | ||
case TraitMayNotDefineNativeMethodID // errorNumber: 159 | ||
case JavaEnumParentArgsID // errorNumber: 160 | ||
case AlreadyDefinedID // errorNumber: 161 | ||
case CaseClassInInlinedCodeID // errorNumber: 162 | ||
case OverrideTypeMismatchErrorID // errorNumber: 163 | ||
case OverrideErrorID // errorNumber: 164 | ||
case MatchableWarningID // errorNumber: 165 | ||
case CannotExtendFunctionID // errorNumber: 166 | ||
case LossyWideningConstantConversionID // errorNumber: 167 | ||
case ImplicitSearchTooLargeID // errorNumber: 168 | ||
case TargetNameOnTopLevelClassID // errorNumber: 169 | ||
|
||
def errorNumber = ordinal - 2 | ||
|
||
object ErrorMessageID: | ||
def fromErrorNumber(n: Int): Option[ErrorMessageID] = | ||
val enumId = n + 2 | ||
if enumId >= 2 && enumId < ErrorMessageID.values.length then Some(fromOrdinal(enumId)) | ||
else None | ||
if enumId >= 2 && enumId < ErrorMessageID.values.length then | ||
Some(fromOrdinal(enumId)) | ||
else | ||
None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know this is no longer an error, however there is a message that uses this and it's actually referenced in
Desugar.scala
https://github.com/lampepfl/dotty/blob/53f5531e7e31eca02b3db158c8c384e713b4542a/compiler/src/dotty/tools/dotc/ast/Desugar.scala#L755
But I'm unable to ever get it to fall into that branch.