Skip to content

Update dependency analyzer to v8 #28

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 27, 2025

This PR contains the following updates:

Package Type Update Change
analyzer (source) dependencies major ^0.39.5 -> ^8.0.0

Release Notes

dart-lang/sdk (analyzer)

v8.0.0

  • Remove deprecated element model V1.
  • Remove deprecated DartType.isStructurallyEqualTo.
  • Remove deprecated RecordType.positionalTypes.
  • Remove deprecated RecordType.sortedNamedTypes.
  • Remove ElementLocation class; its values are not returned anymore.
  • Remove deprecated AnalysisContext.analysisOptions.
  • Remove deprecated PromotableElement and PromotableFragment.
  • Remove deprecated LocalVariableElement.hasInitializer.
  • Remove deprecated LocalVariableFragment.hasInitializer.
  • Remove deprecated LocalVariableFragment.nameOffset.
  • Remove deprecated JoinPatternVariableFragment.isConsistent.
  • Remove deprecated JoinPatternVariableFragment.variables2.
  • Remove deprecated VariableElement.constantInitializer2.
  • Remove deprecated VariableFragment.initializer.
  • Remove deprecated ConstantInitializer.
  • Remove deprecated HasSinceSdkVersion.
  • LibraryFragment is not Annotatable anymore.
  • Stop implementing ConstantEvaluationTarget by ElementAnnotation.
    This is an internal interface that should not have been exposed.
  • Deprecate element2.dart library; import element.dart.
  • Deprecate XyzElement2 classes; use XyzElement instead.
  • Deprecate AnalysisError.correction field; use
    AnalysisError.correctionMessage instead.
  • Deprecate AnalysisError; use Diagnostic instead.
  • Deprecate ErrorCode; use DiagnosticCode instead.
  • Deprecate ErrorReporter.atOffset's errorCode parameter; use
    diagnosticCode instead.
  • Deprecate ErrorSeverity; use DiagnosticSeverity instead.
  • Deprecate DiagnosticCode.errorSeverity; use
    DiagnosticCode.diagnosticSeverity instead.
  • Deprecate AnalysisErrorListener, BooleanErrorListener, and
    RecordingErrorListener; use DiagnosticListener,
    BooleanDiagnosticListener, and RecordingDiagnosticListener respectively,
    instead. Instead of calling or overriding AnalysisErrorListener.onError,
    call or override DiagnosticListener.onDiagnostic. Instead of using
    AnalysisErrorListener.NULL_LISTENER, use DiagnosticListener.nullListener.
  • Deprecate RecordingErrorListener.errors; use
    RecordingDiagnosticListener.diagnostics instead.
  • Deprecate RecordingErrorListener.getErrorsForSource; no longer supported.
  • Deprecate AnalysisResultWithErrors; use AnalysisResultWithDiagnostics
    instead.
  • Deprecate AnalysisResultWithErrors.errors; use
    AnalysisResultWithErrors.diagnostics instead.
  • Deprecate ErrorType; use DiagnosticType instead.
  • Change ElementDirective from sealed to abstract.
    This allows the analyzer to have an internal implementation
    class corresponding to ElementDirective.
  • Deprecate NamedType.name2, use name instead.
  • Deprecate ClassElement.isXyzIn2, use isXyzIn instead.
  • Deprecate Element.enclosingElement2, use enclosingElement instead.
  • Deprecate InstanceElement.fields2, use fields instead.
  • Deprecate InstanceElement.getters2, use getters instead.
  • Deprecate InstanceElement.setters2, use setters instead.
  • Deprecate InstanceElement.methods2, use methods instead.
  • Deprecate InstanceElement.getField2, use getField instead.
  • Deprecate InstanceElement.getGetter2, use getGetter instead.
  • Deprecate InstanceElement.getSetter2, use getSetter instead.
  • Deprecate InstanceElement.getMethod2, use getMethod instead.
  • Deprecate InstanceFragment.fields2, use fields instead.
  • Deprecate InstanceFragment.methods2, use methods instead.
  • Deprecate InterfaceElement.constructors2, use constructors instead.
  • Deprecate InterfaceFragment.constructors2, use constructors instead.
  • Deprecate JoinPatternVariableElement.variables2, use variables instead.
  • Deprecate Annotatable.metadata2, use metadata instead.
  • Deprecate Element.nonSynthetic2, use nonSynthetic instead.
  • Deprecate Element.library2, use library instead.
  • Deprecate ExtensionTypeElement.primaryConstructor2, use primaryConstructor instead.
  • Deprecate ExtensionTypeElement.representation2, use representation instead.
  • Deprecate ExtensionTypeFragment.primaryConstructor2, use primaryConstructor instead.
  • Deprecate ExtensionTypeFragment.representation2, use representation instead.
  • Deprecate InterfaceType.getGetter2, use getGetter instead.
  • Deprecate InterfaceType.getMethod2, use getMethod instead.
  • Deprecate InterfaceType.getSetter2, use getSetter instead.
  • Deprecate InterfaceType.lookUpConstructor2, use lookUpConstructor instead.
  • Deprecate InterfaceType.lookUpGetter3, use lookUpGetter instead.
  • Deprecate InterfaceType.lookUpMethod3, use lookUpMethod instead.
  • Deprecate InterfaceType.lookUpSetter3, use lookUpSetter instead.
  • Remove PropertyAccessorFragmentImplImplicitGetter, PropertyAccessorFragmentImplImplicitSetter,
    and FormalParameterFragmentImplOfImplicitSetter, replace with GetterFragmentImpl, and SetterFragmentImpl.
  • Deprecate ExtensionTypeFragment.representation2, use representation instead.
  • Deprecate DartType.element3, use element instead.
  • Deprecate LibraryElement.loadLibraryFunction2, use loadLibraryFunction instead.
  • Deprecate InterfaceType.constructors2, use constructors instead.
  • Deprecate Element.accept2, use accept instead.
  • Deprecate InstantiatedTypeAliasElement.element2, use element instead.
  • Deprecate TypeProvider.boolElement2, use boolElement instead.
  • Deprecate TypeProvider.doubleElement2, use doubleElement instead.
  • Deprecate TypeProvider.enumElement2, use enumElement instead.
  • Deprecate TypeProvider.futureElement2, use futureElement instead.
  • Deprecate TypeProvider.futureOrElement2, use futureOrElement instead.
  • Deprecate TypeProvider.intElement2, use intElement instead.
  • Deprecate TypeProvider.iterableElement2, use iterableElement instead.
  • Deprecate TypeProvider.listElement2, use listElement instead.
  • Deprecate TypeProvider.mapElement2, use mapElement instead.
  • Deprecate TypeProvider.nullElement2, use nullElement instead.
  • Deprecate TypeProvider.numElement2, use numElement instead.
  • Deprecate TypeProvider.objectElement2, use objectElement instead.
  • Deprecate TypeProvider.recordElement2, use recordElement instead.
  • Deprecate TypeProvider.setElement2, use setElement instead.
  • Deprecate TypeProvider.streamElement2, use streamElement instead.
  • Deprecate TypeProvider.stringElement2, use stringElement instead.
  • Deprecate TypeProvider.symbolElement2, use symbolElement instead.
  • Deprecated Annotation.element2, use element instead.
  • Deprecated LibraryDirective.name2, use name instead.
  • Deprecated CatchClauseParameter.declaredElement2, use declaredElement instead.
  • Deprecated CompoundAssignmentExpression.readElement2, use readElement instead.
  • Deprecated CompoundAssignmentExpression.writeElement2, use writeElement instead.
  • Deprecated DeclaredIdentifier.declaredElement2, use declaredElement instead.
  • Deprecated DeclaredVariablePattern.declaredElement2, use declaredElement instead.
  • Deprecated EnumConstantDeclaration.constructorElement2, use constructorElement instead.
  • Deprecated ExtensionOverride.element2, use element instead.
  • Deprecated FunctionBody.isPotentiallyMutatedInScope2, use isPotentiallyMutatedInScope instead.
  • Deprecated ImportPrefixReference.element2, use element instead.
  • Deprecated LibraryDirective.element2, use element` instead.
  • Deprecated LibraryDirective.name2, use name` instead.
  • Deprecated NamedExpression.element2, use element` instead.
  • Deprecated NamedType.element2, use element` instead.
  • Deprecated PatternField.element2, use element` instead.
  • Deprecated RelationalPattern.element2, use element` instead.
  • Deprecated VariableDeclaration.declaredElement2, use declaredElement` instead.
  • Deprecate InterfaceType.methods2, use methods instead.
  • Deprecate Fragment.name2, use name instead.
  • Deprecate Element.name3, use name instead.
  • Deprecate ConstructorElement.redirectedConstructor2, use redirectedConstructor instead.
  • Deprecate ConstructorElement.superConstructor2, use superConstructor˙ instead.
  • Deprecate Element.children2, use children instead.
  • Deprecate Element.displayString2, use displayString instead.
  • Deprecate Element.getExtendedDisplayName2, use getExtendedDisplayName instead.
  • Deprecate Element.isAccessibleIn2, use isAccessibleIn instead.
  • Deprecate Element.thisOrAncestorMatching2, use thisOrAncestorMatching instead.
  • Deprecate Element.thisOrAncestorOfType2, use thisOrAncestorOfType instead.
  • Deprecate EnumElement.constants2, use constants instead.
  • Deprecate FieldFormalParameterElement.field2, use field instead.
  • Deprecate FormalParameterElement.typeParameters2, use typeParameters instead.
  • Deprecate Fragment.children3, use children instead.
  • Deprecate DartType.asInstanceOf2, use asInstanceOf instead.
  • Deprecate TypeSystem.instantiateInterfaceToBounds2, use instantiateInterfaceToBounds instead.
  • Deprecate TypeSystem.instantiateTypeAliasToBounds2, use instantiateTypeAliasToBounds instead.
  • Deprecate FormalParameterElement.appendToWithoutDelimiters, use appendToWithoutDelimiters instead.
  • Deprecate GetterElement.correspondingSetter2, use correspondingSetter instead.
  • Deprecate InterfaceElement.unnamedConstructor2, use unnamedConstructor instead.
  • Deprecate InterfaceElement.getNamedConstructor2, use getNamedConstructor instead.
  • Deprecate TypeParameterizedElement.typeParameters2, use typeParameters instead.
  • Deprecate FormalParameterElement.appendToWithoutDelimiters2, use appendToWithoutDelimiters instead.
  • Deprecate GetterElement.correspondingSetter2, use correspondingSetter instead.
  • Deprecate InterfaceElement.unnamedConstructor2, use unnamedConstructor instead.
  • Deprecate InterfaceElement.getNamedConstructor2, use getNamedConstructor instead.
  • Deprecate LibraryElement.entryPoint2, use entryPoint instead.
  • Deprecate LibraryElement.exportedLibraries2, use exportedLibraries instead.
  • Deprecate LibraryElement.getClass2, use getClass instead.
  • Deprecate LibraryElement.getEnum2, use getEnum instead.
  • Deprecate LibraryElement.getMixin2, use getMixin instead.
  • Deprecate LibraryExport.exportedLibrary2, use exportedLibrary instead.
  • Deprecate LibraryFragment.accessibleExtensions2, use accessibleExtensions instead.
  • Deprecate LibraryFragment.importedLibraries2, use importedLibraries instead.
  • Deprecate LibraryImport.importedLibrary2, use importedLibrary instead.
  • Deprecate MixinElement.isImplementableIn2, use isImplementableIn instead.
  • Deprecate PatternVariableElement.join2, use join instead.
  • Deprecate PropertyAccessorElement.variable3, use variable instead.
  • Deprecate PropertyInducingElement.getter2, use getter instead.
  • Deprecate PropertyInducingElement.setter2, use setter instead.
  • Deprecate SetterElement.correspondingGetter2, use correspondingGetter instead.
  • Deprecate SuperFormalParameterElement.superConstructorParameter2, use superConstructorParameter instead.
  • Deprecate TypeAliasElement.aliasedElement2, use aliasedElement instead.
  • Deprecate TypeParameterizedElement.typeParameters2, use typeParameters instead.
  • Deprecate VariableElement.constantInitializer2, use constantInitializer instead.
  • Deprecate TypeProvider.isNonSubtypableClass2, use isNonSubtypableClass instead.
  • Deprecate EnumFragment.constants2, use constants instead.
  • Deprecate InterfaceElement.lookUpInheritedMethod2, use lookUpInheritedMethod instead.
  • Deprecate LibraryFragment.classes2, use classes instead.
  • Deprecate LibraryFragment.enums2, use enums instead.
  • Deprecate LibraryFragment.extensionTypes2, use extensionTypes instead.
  • Deprecate LibraryFragment.extensions2, use extensions instead.
  • Deprecate LibraryFragment.functions2, use functions instead.
  • Deprecate LibraryFragment.libraryExports2, use libraryExports instead.
  • Deprecate LibraryFragment.libraryImports2, use libraryImports instead.
  • Deprecate LibraryFragment.mixins2, use mixins instead.
  • Deprecate LibraryFragment.topLevelVariables2, use topLevelVariables instead.
  • Deprecate LibraryFragment.typeAliases2, use typeAliases instead.
  • Deprecate PatternVariableFragment.join2, use join instead.
  • Deprecate LibraryFragment.isNonSubtypableClass2, use isNonSubtypableClass instead.
  • Deprecate TypeParameterizedFragment.typeParameters2, use typeParameters instead.
  • Deprecate Fragment.nameOffset2, use nameOffset instead.
  • Deprecate DirectiveUriWithLibrary.library2, use library instead.
  • Deprecate ElementAnnotation.element2, use element instead.
  • Deprecate LibraryImport.prefix2, use prefix instead.
  • Deprecate MultiplyDefinedElement.conflictingElements2, use conflictingElements instead.
  • Deprecate ScopeLookupResult.getter2, use getter instead.
  • Deprecate ScopeLookupResult.setter2, use setter instead.

v7.7.0

  • Deprecated HasSinceSdkVersion, use Element2.sinceSdkVersion.

v7.6.0

  • Deprecated VariableElement.constantInitializer2, use constantInitializer instead.
  • Deprecated VariableFragment.initializer, use VariableElement.constantInitializer instead.
  • Deprecated ConstantInitializer.

v7.5.9

  • Deprecated JoinPatternVariableFragment.isConsistent and variables2.
    Use corresponding properties of JoinPatternVariableElement2 instead.

v7.5.8

v7.5.7

  • Deprecate LocalVariableFragment.nameOffset, use nameOffset2 instead.

v7.5.6

  • Deprecate EnumFragment.constants2, use EnumElement2.constants2 instead.

v7.5.5

  • Deprecate LocalVariableElement.hasInitializer and LocalVariableFragment.hasInitializer.
    This property is not useful and was not de-facto used.

v7.5.4

  • Deprecate PromotableFragment and PromotableElement.
    These interfaces are implementation details.

v7.5.3

  • Deprecate AugmentedExpression and AugmentedInvocation.
    This feature was removed from the specification.

v7.5.2

  • Deprecate LibraryElement.identifier, use uri instead.
  • Deprecate LibraryElement2.identifier, use uri instead.

v7.5.1

  • Deprecate ConstantEvaluationTarget itself, and its methods.
  • Deprecate methods of already deprecated AnalysisTarget.
  • Generate api.txt manifest.

v7.5.0

  • Deprecate methods inherited by ElementAnnotation from ConstantEvaluationTarget.
  • In the next major version ElementAnnotation will stop implementing ConstantEvaluationTarget.
  • Add ElementAnnotation.libraryFragment, as the replacement for the
    deprecations above. It provides enough information about the location.

v7.4.6

  • Deprecate PropertyAccessorFragment.variable3.
    Use PropertyAccessorElement2.variable3 instead.
  • Deprecate PropertyInducingFragment.getter2.
    Use PropertyInducingElement2.getter2 instead.
  • Deprecate PropertyInducingFragment.setter2.
    Use PropertyInducingElement2.setter2 instead.

v7.4.5

v7.4.4

v7.4.3

v7.4.2

v7.4.1

  • Restore InstanceElement.augmented getter.
    This API was removed in 7.4.0 under the assumption that its removal would
    not be a breaking change, because it was marked as @experimental.
    But it turns out that some clients had been published to pub that relied
    on it. So, these APIs were restored, and implemented on top of Element2.

v7.4.0

  • Updated SDK constraint to ^3.5.0.
  • Deprecated element model V1.
    See migration guide.

v7.3.0

  • Add flags optional named parameter to FeatureSet.latestLanguageVersion().

v7.2.0

  • Add ElementDirective as superinterface for LibraryExport, LibraryImport,
    and PartInclude. It implements Annotatable.

v7.1.0

  • New APIs for element model with fragments.

v7.0.0

  • Remove deprecated DartType.element2.
  • Remove deprecated DartType.isDynamic.
  • Remove deprecated DartType.isVoid.
  • Remove deprecated DartType.resolveToBound.
  • Remove deprecated IfElement.condition.
  • Remove deprecated IfStatement.condition.
  • Remove deprecated AstNode.getProperty and AstNode.setProperty.
  • Remove File.createSource(), it violates levels of abstraction.
    You can get Source instances from AnalysisResults.
  • Remove deprecated LibraryElement.toLegacyTypeIfOptOut.
  • Remove deprecated LibraryElement.toLegacyElementIfOptOut.
  • Remove deprecated LibraryElement.isNonNullableByDefault.
  • Remove deprecated File.changes and Folder.changes.
  • Remove deprecated Resource.parent2.
  • Remove deprecated OnClause.
  • Remove deprecated ContextBuilder, use AnalysisContextCollection.
  • Remove deprecated ContextLocator, use AnalysisContextCollection.
  • Remove deprecated ClassOrAugmentationDeclaration..
  • Remove deprecated MixinOrAugmentationDeclaration..
  • Remove deprecated members of AnalysisError.
  • Remove deprecated TypeSystem.instantiateToBounds2.
  • Remove deprecated buildSdkSummary2().
  • Remove deprecated FileSource.fileReadMode.
  • Remove deprecated members of ErrorReporter.
  • Remove deprecated Comment.isBlock, isDocumentation, isEndOfLine.
  • Remove deprecated Element.enclosingElement.
  • Remove deprecated PropertyAccessor.variable.
  • Remove experimental LibraryOrAugmentationElement.
  • Remove deprecated LibraryElement properties.
  • Remove deprecated enabledPluginNames and hint from AnalysisOptions.
  • Remove deprecated source_io.dart.
  • Remove deprecated lint/Spelunker.
  • Remove deprecated source_resource.dart.
  • Remove MultiplyInheritedExecutableElement.
  • Remove AnalyzeFunctionBodiesPredicate.
  • Remove normalParameterNames and optionalParameterNames from FunctionType.

v6.11.0

  • Un-deprecated LibraryElement.exportedLibraries.
  • Un-deprecated LibraryElement.importedLibraries.

v6.10.0

  • Deprecated LibraryElement.accessibleExtensions, use
    CompilationUnitElement.accessibleExtensions instead.
  • Deprecated LibraryElement.exportedLibraries.
  • Deprecated LibraryElement.importedLibraries.
  • Deprecated LibraryElement.isBrowserApplication.
  • Deprecated LibraryElement.libraryExports,
    use CompilationUnitElement.libraryExports instead.
  • Deprecated LibraryElement.libraryImports,
    use CompilationUnitElement.libraryImports instead.
  • Deprecated LibraryElement.prefixes,
    use CompilationUnitElement.libraryImportPrefixes instead.
  • Deprecated LibraryElement.parts,
    use CompilationUnitElement.parts instead.
  • Deprecated LibraryElement.scope,
    use CompilationUnitElement.scope instead.

v6.9.0

  • NormalFormalParameter now implements AnnotatedNode.
  • Deprecated Element.enclosingElement, use enclosingElement3.

v6.8.0

  • Add AnalysisContextCollection.dispose(). It must be invoked at the end.
  • Deprecated ContextLocator and ContextBuilder.
    Use AnalysisContextCollection instead.

v6.7.0

  • Deprecated File.createSource(), it violates levels of abstraction.
    You can get Source instances from AnalysisResults.
  • Deprecated unused static members of AnalysisError.

v6.6.0

  • Stop exporting src/file_system/file_system.dart
    from file_system/file_system.dart.
  • Deprecated package:analyzer/src/source/source_resource.dart,
    import package:analyzer/source/file_source.dart instead.
  • Deprecated exports from package:analyzer/src/source/source.dart,
    import package:analyzer/source/source.dart instead.

v6.5.2

  • Updated constraints macros: '>=0.1.2-0 <0.1.3'.

v6.5.1

  • Updated constraints macros: '>=0.1.1-0 <0.1.2'.

v6.5.0

  • Deprecated LibraryElement.toLegacyTypeIfOptOut.
  • Deprecated LibraryElement.toLegacyElementIfOptOut.
  • Deprecated LibraryElement.isNonNullableByDefault.
  • Deprecated InterfaceElement.lookUpGetter, InterfaceElement.lookUpMethod,
    and InterfaceElement.lookUpSetter.
  • Fixed GeneralizingAstVisitor.visitNamedType to invoke visitTypeAnnotation.
  • Deprecated PropertyInducingElement get variable in PropertyAccessorElement,
    use PropertyInducingElement? get variable2 instead.
    The reason for this is that when the property accessor is an augmentation
    without the corresponding declaration, there is no corresponding variable.
  • Deprecated ExtensionDeclaration.onKeyword and extendedType.
    Use ExtensionOnClause? get onClause instead.
    Extension augmentations are not allowed to have onClause.
  • Deprecated OnClause, use MixinOnClause instead.
  • Support new meta annotation: @doNotSubmit.
  • Support new meta annotation: @mustBeConst.
  • Support new meta TargetKinds: constructor, directive, enumValue, and
    typeParameter.
  • Fix for accessing constants from extension type, when import prefixed.
  • Deprecated AstNode.getProperty and AstNode.setProperty. Clients who need
    the ability to add arbitrary decorations to AST nodes can achieve the same
    effect using Dart's built-in
    Expando class.

v6.4.1

  • Patch for crash in ffi_verifier.

v6.3.0

  • Updated the current language version to 3.3.
  • Removed generated ConstantEvaluator.

v6.2.0

  • Improvements for extension types.
  • Heap usage improvements.

v6.1.0

  • Added InstanceElement, a super-interface for InterfaceElement
    and ExtensionElement.
  • Added TypeSystem.greatestLowerBound.

v6.0.0

  • Remove deprecated declaredElement2 from AST.
  • Remove deprecated element2 from AST.
  • Remove deprecated name2 from AST.
  • Remove deprecated FunctionBody.isPotentiallyMutatedInClosure.
  • Remove deprecated extensionName, staticElement from ExtensionOverride.
  • Remove deprecated name from NamedType.

v5.13.0

v5.12.0

  • Deprecated DartType.isDynamic, use is DynamicType instead.
  • Updated NamedType to use importPrefix and name2 token.
    The deprecated name node is still visited in this version, but will stop
    in the next major version.
  • Updated ExtensionOverride to use importPrefix and name token.
    The deprecated extensionName node is still visited in this version, but
    will stop in the next major version.
  • Deprecated the default AnalysisError constructor, use tmp constructor,
    with names formal parameters. Theoretically no clients should use either,
    but practically there are two uses currently.
  • Added InvalidType, used when a named type cannot be resolved, or a
    property cannot be resolved, etc. Previously DynamicType was used.
    In the future DynamicType will be used only when specified explicitly,
    or a property is resolved against a dynamic target. The clients should
    prepare by checking also for InvalidType in addition to DynamicType.

v5.11.1

  • Restore previously published finalKeyword, interfaceKeyword and
    sealedKeyword of MixinElement. We added them preliminary while
    working on the class modifiers feature, but eventually decided to remove.
    https://github.com/dart-lang/sdk/issues/521592159 for details.

v5.11.0

  • Removed @experimental from AST nodes and elements for records and patterns.
  • Deprecated IfStatement.condition, use expression instead.
  • Added NamedType.importPrefix, NamedType.name2, and NamedType.element.
    Deprecated NamedType.name. Currently Identifier is an expression, and
    an expression as a name of a type does not make sense. So, instead we model
    it as a name token, the Element that it references, and an optional import
    library prefix reference.

v5.10.0

  • Added DartType.isDartCoreType.

v5.9.0

  • Deprecated FunctionBody.isPotentiallyMutatedInClosure, not used by clients.
  • Fix for FunctionBody.isPotentiallyMutatedInScope and pattern assignment.

v5.8.0

  • Deprecated DartType.isVoid, use is VoidType instead.
  • records, patterns, and class-modifiers features enabled by default.

v5.7.1

  • Require SDK >=2.19.0 <3.0.0 to use PathNotFoundException from dart:io.

v5.6.0

  • Fixes for patterns parsing.
  • Implemented DartPattern.precedence.

v5.5.0

  • Rename RecordPatternField to PatternField.
  • Rename RecordPatternFieldName to PatternFieldName.

v5.4.0

  • Bug fixes: 50660

v5.3.1

  • Require collection: ^1.17.0 because we use elementAtOrNull.

v5.2.0

  • Deprecated Element.enclosingElement3, use enclosingElement instead.
  • Deprecated Directive.element2, use element instead.
  • Deprecated CatchClause.exceptionParameter2, use exceptionParameter instead.
  • Deprecated CatchClause.stackTraceParameter2, use stackTraceParameter instead.
  • Deprecated DartType.element2, use element instead.
  • Deprecated Element.isAccessibleIn2(), use isAccessibleIn() instead.
  • Deprecated CompilationUnitElement.enums2, use enums instead.
  • Deprecated CompilationUnitElement.getEnum2(), use getEnum() instead.
  • Deprecated CompilationUnitElement.mixins2, use mixins instead.
  • Deprecated LibraryElement.parts2, use parts instead.
  • Deprecated ImportElement.imports2, use imports instead.
  • Add AnalysisDriverForPackageBuild.sdkLibraryUris.
  • Deprecated buildSdkSummary2(), use buildSdkSummary() instead.

v5.1.0

  • Deprecated AstNode.name2, use name instead.
  • Deprecated AstNode.declaredElement2, use declaredElement instead.

v5.0.0

  • Removed deprecated methods from AST.
  • Removed deprecated DiagnosticMessage.message.
  • Removed deprecated LibraryElement.getImportsWithPrefix().
  • Removed deprecated ParameterElement.isNotOptional.
  • Removed deprecated DartType.displayName.
  • Removed deprecated methods from AnalysisDriver.
  • Removed deprecated ClassOrMixinDeclaration.
  • Removed deprecated Declaration.declaredElement.
  • Removed deprecated Element.enclosingElement and enclosingElement2.
  • Removed deprecated ExportElement, ImportElement.
  • Removed deprecated NamedCompilationUnitMember.name.
  • Removed deprecated Declaration.declaredElement.
  • Removed deprecated DartType.element.

v4.7.0

  • Add missing addXyz to NodeLintRegistry.
  • Add lookUpInheritedConcreteX() to InterfaceElement.

v4.6.0

  • Added DartType.element2, so that InterfaceType.element2 overrides it.

v4.5.0

  • Update deprecation message for FormalParameter.identifier.
  • Deprecated ClassOrMixinDeclaration, use ClassDeclaration and MixinDeclaration directly.
  • Deprecated Declaration.declaredElement, use declaredElement2 instead.
    This is necessary to separate ClassElement, EnumElement, and MixinElement.
    And, in the future, augmentations like ClassAugmentationElement, etc.
  • Deprecated TypeSystem.instantiateToBounds2(), use instantiateInterfaceToBounds() or
    instantiateTypeAliasToBounds() instead.

v4.4.0

  • Deprecated ClassDeclaration.isAbstract, use abstractKeyword instead.
  • Deprecated ClassTypeAlias.isAbstract, use abstractKeyword instead.
  • Deprecated ClassOrMixinDeclaration.getField, filter members instead.
  • Deprecated ClassOrMixinDeclaration.getMethod, filter members instead.
  • Deprecated ClassDeclaration.getConstructor, filter members instead.
  • Deprecated Directive.element, use element2 instead.
  • Deprecated ClassElement.hasStaticMember, it is not useful for clients.
  • Deprecated NamespaceDirective.uriElement, use element2.uri with DirectiveUriWithLibrary instead.
  • Deprecated UriBasedDirective.uriContent, UriBasedDirective.uriElement, UriBasedDirective.uriSource.
    Use Directive.element2.uri instead.
  • Deprecated NamespaceDirective.selectedSource, use element2.uri with DirectiveUriWithSource instead.
  • Deprecated Configuration.uriSource, use resolvedUri instead.
  • Deprecated CatchClause.exceptionParameter and CatchClause.stackTraceParameter.
    Use exceptionParameter2 and stackTraceParameter2 instead.
  • Added FileResult.isAugmentation and isLibrary to complement isPart.
  • Deprecated 'XyzDeclaration.name' in AST, use name2 and declaredElement instead.
  • Deprecated Element.enclosingElement2, use enclosingElement3 instead. The meaningful change is that
    ConstructorElement.enclosingElement3 returns now InterfaceElement, not ClassElement.
  • Deprecated get enums/mixin, use get enums2/mixins2 instead.
  • Deprecated DartType.element, check for InterfaceType, TypeParameterType, and then ask the element.
  • Deprecated ClassElement.isEnum and isMixin. Check for is EnumElement and is MixinElement instead.
  • Deprecated LibraryElement.getType() use getClass() instead.

v4.3.1

  • Fix identifier for LibraryExportElement and LibraryImportElement.

v4.3.0

  • Deprecated Directive.keyword, use corresponding xyzToken in specific directives.
  • Deprecated LibraryElement.parts, use parts2 instead.
  • Deprecated LibraryElement.exports, use libraryExports instead.
  • Deprecated LibraryElement.imports, use libraryImports instead.
  • Deprecated Element.enclosingElement, use enclosingElement2 instead.
  • Member is not equal to ElementImpl, use Element.declaration.

v4.2.0

  • Update SDK constraints to >=2.17.0 <3.0.0.
  • Deprecated ImportDirective.COMPARATOR, use appropriate custom logic, if necessary.
  • Deprecated Element.isAccessibleIn(), use isAccessibleIn2() instead.
  • Bug fixes: 49225.

v4.1.0

  • Deprecated ParameterElement.isNotOptional, use isRequired instead.
  • Deprecated ResourceProviderMixin.newFile2, use newFile instead.
  • Deprecated ResourceProviderMixin.newAnalysisOptionsYamlFile2, use newAnalysisOptionsYamlFile instead.
  • Deprecated DartType.resolveToBound, use TypeSystem.resolveToBound instead.
  • Deprecated LibraryElement.getImportsWithPrefix, use PrefixElement.imports instead.
  • Fix for AnalysisSession.getFile() to return updated content after applyPendingFileChanges.

v4.0.0

  • Removed deprecated UriKind and Source.uriKind.
  • Removed deprecated LibraryElement.hasExtUri.
  • Removed deprecated LibraryElement.hasLoadLibraryFunction.
  • Removed deprecated ImportElement.prefixOffset.
  • Removed deprecated CompilationUnitElement.types.
  • Removed deprecated Source.encoding.
  • Removed deprecated Source.isInSystemLibrary.
  • Removed deprecated Source.modificationStamp.
  • Removed deprecated stamp in MemoryResourceProvider.
  • Removed deprecated SourceFactory.restoreUri, use pathToUri instead.
  • Removed deprecated AnalysisContext.workspace.
  • The isNonNullableByDefault parameter in ErrorReporter is now required.
  • Removed Element.SORT_BY_OFFSET, it is not used.
  • Changed synchronous AnalysisSession.getFile and getParsedUnit to fail
    if there are pending file changes, instead of reading. As for any other
    AnalysisSession method, await AnalysisContext.applyPendingFileChanges().
  • Removed Token.copy() and copyComments().
  • Removed CommentToken.remove().
  • Removed deprecated astFactory and AstFactory.
  • Removed AnalysisOptions.signature and signaturesEqual.
  • Removed deprecated buildSdkSummary().

v3.4.1

Compare Source

  • Remove checks for consistency after operations in AnalysisSession.

v3.4.0

Compare Source

  • Deprecated Resource.parent2, use parent instead.
  • Deprecated astFactory, clients should not create AST nodes manually.
  • Changed CompilationUnit.lineInfo to be non-nullable.
  • Changed CompilationUnitElement.lineInfo to be non-nullable.
  • Deprecated ResourceProviderMixin.newFile, use newFile2 instead.
  • Deprecated ResourceProviderMixin.newAnalysisOptionsYamlFile.
  • Added AnalysisContext.changeFile and AnalysisContext.applyPendingFileChanges.
  • Deprecated buildSdkSummary, use asynchronous buildSdkSummary2 instead.

v3.3.1

Compare Source

  • Report HintCode.OVERRIDE_ON_NON_OVERRIDING_xyz on enum.

v3.3.0

Compare Source

  • Added getField to ExtensionElement.
  • Added isGenerative to ConstructorElement.
  • Added isDartCoreEnum to ClassElement and DartType.
  • Deprecated superclass2, mixinTypes2, etc. Use superclass, mixinTypes, etc.
  • APIs for enhanced-enums language feature.

v3.2.0

Compare Source

  • Deprecated changes getter in File and Folder, use watch() instead.

v3.1.0

Compare Source

  • New internal API for package:dart_style.
  • Removed deprecated non-API MockSdk class.
  • Removed deprecated AnalysisDriver constructor.
  • Updated the current language version to 2.17.

v3.0.0

  • Removed deprecated DartType.aliasElement/aliasArguments.
  • Removed deprecated constructors from FeatureSet.
  • Removed UnitElementResult.signature - unused by clients.
  • Removed deprecated AnalysisError.withNamedArguments.
  • Removed deprecated ErrorReporter.reportErrorMessage.
  • Removed deprecated ResourceProvider.getModificationTimes().
  • Removed deprecated MemoryResourceProvider.newDummyLink().
  • Removed deprecated MemoryResourceProvider.updateFile().
  • Removed deprecated Resource.parent.
  • Removed deprecated ResultState and AnalysisResult.state.
  • Removed deprecated summary_file_builder library.
  • Removed deprecated message and correction from ErrorCode.
  • Removed deprecated lookUp methods from InterfaceType.
  • Removed deprecated InterfaceType.getSmartLeastUpperBound.
  • Removed deprecated path and uri from AnalysisResult.
  • Removed deprecated methods from AnalysisSession.
  • Removed TypeName and corresponding methods.
  • Removed deprecated methods from TypeProvider.

v2.8.0

  • Deprecations and renames for getXyz methods in AnalysisDriver.
  • Removed uppercase named constants from double in mock SDK.
  • Deprecated path and uri from AnalysisResult.
  • Deprecated UriResolver.restoreAbsolute, use pathToUri instead.
  • Deprecated SourceFactory.restoreAbsolute, use pathToUri instead.
  • Deprecated UriKind and Source.uriKind.
  • Deprecated Source.modificationStamp.
  • Deprecated Source.isInSystemLibrary, use uri.isScheme('dart') instead.
  • Fixed #​47715.

v2.7.0

Compare Source

  • Updated ConstructorElement.displayName to either Class or Class.constructor.
  • Deprecated InterfaceType.getSmartLeastUpperBound, use TypeSystem.leastUpperBound instead.
  • Deprecated MockSdk, use createMockSdk and FolderBasedDartSdk instead.

v2.6.0

Compare Source

  • Deprecated AnalysisResult.state, check for specific valid or invalid subtypes.
  • Deprecated ResultState.
  • Deprecated LibraryElement.hasExtUri, FFI should be used instead.

v2.5.0

Compare Source

  • Updated MockSdk to include more declarations.

v2.4.0

Compare Source

  • Deprecated ResourceProvider.getModificationTimes().
  • Deprecated MemoryResourceProvider.newDummyLink().
  • Deprecated MemoryResourceProvider.updateFile().
  • Deprecated TypeName, use NamedType instead.
  • Override AstVisitor.visitNamedType() instead of visitTypeName().
  • Deprecated ClassTypeAlias.superclass, use superclass2 instead.
  • Deprecated ConstructorName.type, use type2 instead.
  • Deprecated ExtendsClause.superclass, use superclass2 instead.
  • Deprecated ImplementsClause.interfaces, use interfaces2 instead.
  • Deprecated OnClause.superclassConstraints, use superclassConstraints2 instead.
  • Deprecated TypeLiteral.typeName, use type instead.
  • Deprecated WithClause.mixinTypes, use mixinTypes2 instead.
  • Deprecated AstFactory.typeName(), use namedType() instead.

v2.3.0

Compare Source

  • Enable constructor-tearoffs feature by default in 2.15.
  • Improvements in constructors tear-off implementation.

v2.2.0

Compare Source

  • Improvements in constructors tear-off implementation.

v2.1.0

Compare Source

  • Changed AnalysisResult.path to be non-nullable.
  • Changed ParsedLibraryResult.units to be non-nullable.
  • Changed ResolvedLibraryResult.element to be non-nullable.
  • Changed ResolvedLibraryResult.units to be non-nullable.
  • Changed ResolvedUnitResult.content to be non-nullable.
  • Changed ResolvedUnitResult.unit to be non-nullable.
  • Deprecated and renamed AnalysisSession.getXyz2() into getXyz().
  • Changed AnalysisDriver.results to Stream<Object>.
    It used to always produce ResolvedUnitResults, but sometimes its
    content and unit were null, when the result actually had only errors.
    Now it produces either ResolvedUnitResult, or ErrorsResult, or
    some other results that might be added in the future.
  • Added DartType.alias with information about instantiated type alias.
    The type alias element and arguments are present or absent together.
  • Deprecated DartType.aliasElement and DartType.aliasArguments.
  • Updated the current language version to 2.15.

v2.0.0

Compare Source

  • Removed deprecated Scope.lookup2().
  • Removed deprecated setters in API of AST.
  • Removed deprecated FunctionTypeAliasElement.
  • Updated LineInfo.getLocation() to return CharacterLocation.
  • Removed deprecated LineInfo_Location.
  • Removed deprecated methods from AnalysisSession.
  • Changed DartObject.type from ParameterizedType? to DartType?.
  • Changed FunctionType to implement DartType, not ParameterizedType.
  • Removed FunctionType.element and FunctionType.typeArguments.
  • Changed DartObject.type from ParameterizedType? to DartType?.
  • Changed FunctionType to implement DartType, not ParameterizedType.
  • Removed FunctionType.element and FunctionType.typeArguments.
  • Added StringInterpolation.firstString and lastString, to express
    explicitly that there are always (possibly empty) strings as the first
    and the last elements of an interpolation.
  • Deprecated ImportElement.prefixOffset, use prefix.nameOffset instead.
  • Deprecated CompilationUnitElement.types, use classes instead.
  • Added Element.nonSynthetic, use it to get the element that caused creation
    of this element, e.g. the field for a synthetic getter.
  • FieldElement.isFinal is true only when the field is not synthetic.
  • Synthetic getters and setters now use -1 as nameOffset.
  • Fixed bug that defaultValueCode is null for field formal parameters.
  • Updated LibraryElement.name so that it is non-nullable.

v1.7.2

Compare Source

v1.7.1

Compare Source

v1.7.0

Compare Source

  • Require meta: ^1.4.0.

v1.6.0

Compare Source

  • Deprecated AnalysisDriver default constructor. Added tmp1. The goal
    is to allow deprecating and removing unused parameters.
  • Added AST structures and visit methods to support the upcoming "constructor
    tearoffs" feature: ConstructorReference, FunctionReference, and
    TypeLiteral.

v1.5.0

Compare Source

  • Support for the language version 2.14.
  • Deprecated AnalysisSession.getUnitElement().
    Use AnalysisSession.getUnitElement2() instead.
  • Deprecated AnalysisSession.getResolvedUnit().
    Use AnalysisSession.getResolvedUnit2() instead.
  • Deprecated AnalysisSession.getResolvedLibrary().
    Use AnalysisSession.getResolvedLibrary2() instead.
  • Deprecated AnalysisSession.getResolvedLibraryByElement().
    Use AnalysisSession.getResolvedLibraryByElement2() instead.
  • Deprecated AnalysisSession.getLibraryByUri().
    Use AnalysisSession.getLibraryByUri2() instead.
  • Deprecated AnalysisSession.getErrors().
    Use AnalysisSession.getErrors2() instead.
  • Deprecated AnalysisSession.getParsedLibrary().
    Use AnalysisSession.getParsedLibrary2() instead.
  • Deprecated AnalysisSession.getParsedLibraryByElement().
    Use AnalysisSession.getParsedLibraryByElement2() instead.
  • Deprecated AnalysisSession.getParsedUnit().
    Use AnalysisSession.getParsedUnit2() instead.
  • Deprecated AnalysisSession.getFile() and getSourceKind().
    Use AnalysisSession.getFile2() instead.
  • Deprecated AnalysisSession.getUnitElementSignature().
    This method is not used by any known client, and will be removed.

v1.4.0

Compare Source

  • Deprecated TypeProvider.nonSubtypableClasses.
    Use TypeProvider.isNonSubtypableClass instead.
  • Added sdkPath to AnalysisContextCollection constructor.
  • Improved support for generalized type aliases.
  • The feature nonfunction-type-aliases is enabled by default in the
    language version 2.13.

v1.3.0

Compare Source

  • Added Expression.inConstantContext to API.
  • Updated documentation comments for some getters that don't return null.
  • Fixed an issue with accessing CompilationUnitElement.mixins before types.
  • Implemented metadata resolution with type arguments and inference.
  • Fixed issue with metadata on enum constants.

v1.2.0

Compare Source

  • Deprecated all setters in API of AST. Use parseString() instead.
  • AnalysisSession.getErrors() does not return null, check its state.
  • Support for aliasElement and aliasArguments for aliases of
    InterfaceTypes and TypeParameterTypes.

v1.1.0

  • Deprecated TypeProvider.futureType2(), iterableType2(), etc.
    Use corresponding TypeProvider.futureType(), iterableType(), etc.
  • Remove experimental markers from Null Safety APIs.
  • Added Resource.parent2 and deprecated Resource.parent.
  • Added Folder.isRoot.
  • Added FolderExtension with withAncestors.
  • Added ContextRoot.workspace, deprecated AnalysisContext.workspace.
  • Deprecated ElementVisitor.visitFunctionTypeAliasElement().
    Override ElementVisitor.visitTypeAliasElement() instead.
  • Deprecated FunctionTypeAliasElement. Use TypeAliasElement instead.

v1.0.0

  • Stable null safety release.
  • Updated dependencies to null safe releases.

v0.41.1

  • Updated PackageBuildWorkspace that supports package:build to stop
    at the first directory with pubspec.yaml, and don't try to go up
    and find another one with both pubspec.yaml and .dart_tool/build.
  • Added a new constructor for non-API ErrorCode class. It will be used to
    migrate existing ErrorCode subclasses, and then deprecated and removed.

v0.41.0

  • Replaced Scope.lookup({id, setter}) with lookup(id).
  • Deprecated Scope.lookup2(id), use lookup() instead.
  • Removed deprecated Member.baseElement.
  • Removed deprecated package:analyzer/analyzer.dart library.
  • Removed deprecated ElementAnnotation.constantValue.
  • Removed deprecated VariableElement.constantValue.
  • Removed deprecated VariableElement.initializer.
  • Removed deprecated auxiliaryElements.
  • The value ofFunctionType.element for types created from a typedef
    is now FunctionTypeAliasElement, not its function element.
  • Removed deprecated GenericTypeAliasElement.
  • Removed PhysicalResourceProvider.NORMALIZE_EOL_ALWAYS.
  • Changed the default PhysicalResourceProvider constructor to no longer take a
    required positional parameter (removed the existing fileReadMode positional
    parameter).

v0.40.6

  • The non_nullable feature is released in 2.12 language version.
  • Updated the current language version to 2.12.
  • Changed the default language version when the package does not specify one.
    Instead of the latest known language version, the language version of the
    SDK (against which analysis is done, not necessary the same as used to run
    the analyzer) is used.

v0.40.5

  • Deprecated GenericTypeAliasElement. Use FunctionTypeAliasElement.
  • Read imports, exports, and parts on demand in AnalysisDriver.
    Specifically, parseFileSync will not read any referenced files.
  • Types are not set anymore for classes/constructors/getters of
    identifiers in metadata (still set in arguments).

v0.40.4

  • Deprecated IndexExpression.auxiliaryElements and
    SimpleIdentifier.auxiliaryElements. Use CompoundAssignmentExpression.
  • Removed internal getReadType, use CompoundAssignmentExpression.
  • Bug fixes: 34699, 43524, 42990.

v0.40.3

  • Updated the current language version to 2.11.
  • Bug fixes: 43541, 27896, 28066, 28066, 43497, 43478, 28066, 43465,
    43462, 43439, 43162, 43397, 43200.

v0.40.2

  • Require meta: ^1.2.3.

v0.40.1

  • Added LocalVariableElement.hasInitializer,
    PropertyInducingElement.hasInitializer, ParameterElement.hasDefaultValue.
  • ElementImpl.toString() uses getDisplayString(withNullability: true).
  • Deprecated ElementAnnotation.constantValue, it does not guarantee that
    the value has been computed. Use computeConstantValue() instead.
  • Added CompoundAssignmentExpression with read/write element/type getters.
    This interface is implemented by AssignmentExpression, PostfixExpression
    and PrefixExpression. Use it instead of staticElement and staticType
    of the left-hand side expressions (target expressions in case of postfix
    or prefix expressions with increment operator).
  • Changes to the way experiments are handled, and SDK version.
  • Bug fixes: 43268, 43214, 39642, 42379, 42629, 43168, 43144, 43100,
    43032, 43073.

v0.40.0

  • Added LibraryElement.featureSet.
  • Removed deprecated EmbedderSdk and related classes.
  • FunctionType returned from ExecutableElement.type return null
    as its element. Use ExecutableElements directly if necessary.
  • FunctionTypeAliasElement does not implement FunctionTypedElement
    anymore, implements TypeParameterizedElement instead.
  • Rem

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants