Change LibraryElementImpl.session to AnalysisSessionImpl, export LinkedElementFactory.
Change-Id: I920659db7cbfd1e337e8fbb4c35b334aed8b404f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/247600 Reviewed-by: Samuel Rawlins <srawlins@google.com> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This commit is contained in:
committed by
Commit Bot
parent
78d613b37c
commit
6e27d2458f
@@ -16,6 +16,7 @@ import 'package:analyzer/src/dart/element/inheritance_manager3.dart';
|
||||
import 'package:analyzer/src/dart/element/type_provider.dart';
|
||||
import 'package:analyzer/src/dart/element/type_system.dart';
|
||||
import 'package:analyzer/src/generated/engine.dart' show AnalysisOptionsImpl;
|
||||
import 'package:analyzer/src/summary2/linked_element_factory.dart';
|
||||
|
||||
/// A concrete implementation of an analysis session.
|
||||
class AnalysisSessionImpl implements AnalysisSession {
|
||||
@@ -37,6 +38,10 @@ class AnalysisSessionImpl implements AnalysisSession {
|
||||
@override
|
||||
DeclaredVariables get declaredVariables => _driver.declaredVariables;
|
||||
|
||||
LinkedElementFactory get elementFactory {
|
||||
return _driver.libraryContext.elementFactory;
|
||||
}
|
||||
|
||||
@override
|
||||
ResourceProvider get resourceProvider => _driver.resourceProvider;
|
||||
|
||||
|
||||
@@ -97,8 +97,7 @@ abstract class AbstractClassElementImpl extends _ExistingElementImpl
|
||||
|
||||
@override
|
||||
List<InterfaceType> get allSupertypes {
|
||||
var sessionImpl = library.session as AnalysisSessionImpl;
|
||||
return sessionImpl.classHierarchy.implementedInterfaces(this);
|
||||
return library.session.classHierarchy.implementedInterfaces(this);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -3701,7 +3700,7 @@ class LibraryElementImpl extends LibraryOrAugmentationElementImpl
|
||||
final AnalysisContext context;
|
||||
|
||||
@override
|
||||
AnalysisSession session;
|
||||
AnalysisSessionImpl session;
|
||||
|
||||
/// The language version for the library.
|
||||
LibraryLanguageVersion? _languageVersion;
|
||||
|
||||
@@ -17,7 +17,6 @@ import 'package:analyzer/dart/element/type_provider.dart';
|
||||
import 'package:analyzer/diagnostic/diagnostic.dart';
|
||||
import 'package:analyzer/error/error.dart';
|
||||
import 'package:analyzer/error/listener.dart';
|
||||
import 'package:analyzer/src/dart/analysis/session.dart';
|
||||
import 'package:analyzer/src/dart/ast/ast.dart';
|
||||
import 'package:analyzer/src/dart/ast/extensions.dart';
|
||||
import 'package:analyzer/src/dart/element/class_hierarchy.dart';
|
||||
@@ -1921,7 +1920,7 @@ class ErrorVerifier extends RecursiveAstVisitor<void>
|
||||
void _checkForConflictingGenerics(NamedCompilationUnitMember node) {
|
||||
var element = node.declaredElement as ClassElement;
|
||||
|
||||
var analysisSession = _currentLibrary.session as AnalysisSessionImpl;
|
||||
var analysisSession = _currentLibrary.session;
|
||||
var errors = analysisSession.classHierarchy.errors(element);
|
||||
|
||||
for (var error in errors) {
|
||||
|
||||
@@ -7,7 +7,6 @@ import 'package:analyzer/dart/ast/ast.dart';
|
||||
import 'package:analyzer/dart/element/element.dart';
|
||||
import 'package:analyzer/dart/element/nullability_suffix.dart';
|
||||
import 'package:analyzer/dart/element/type.dart';
|
||||
import 'package:analyzer/src/dart/analysis/session.dart';
|
||||
import 'package:analyzer/src/dart/ast/ast.dart';
|
||||
import 'package:analyzer/src/dart/ast/extensions.dart';
|
||||
import 'package:analyzer/src/dart/element/class_hierarchy.dart';
|
||||
@@ -573,8 +572,7 @@ class _MixinsInference {
|
||||
for (var declaration in declarations) {
|
||||
if (declaration is ClassOrMixinDeclaration) {
|
||||
var element = declaration.declaredElement as ClassElementImpl;
|
||||
var sessionImpl = element.library.session as AnalysisSessionImpl;
|
||||
sessionImpl.classHierarchy.remove(element);
|
||||
element.library.session.classHierarchy.remove(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
// BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
import 'package:analyzer/dart/analysis/features.dart';
|
||||
import 'package:analyzer/dart/analysis/session.dart';
|
||||
import 'package:analyzer/dart/ast/ast.dart';
|
||||
import 'package:analyzer/dart/constant/value.dart';
|
||||
import 'package:analyzer/dart/element/element.dart';
|
||||
import 'package:analyzer/dart/element/nullability_suffix.dart';
|
||||
import 'package:analyzer/dart/element/type.dart';
|
||||
import 'package:analyzer/src/dart/analysis/session.dart';
|
||||
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;
|
||||
@@ -1618,7 +1618,7 @@ class VoidTypeImplTest extends AbstractTypeSystemTest {
|
||||
}
|
||||
}
|
||||
|
||||
class _AnalysisSessionMock implements AnalysisSession {
|
||||
class _AnalysisSessionMock implements AnalysisSessionImpl {
|
||||
@override
|
||||
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user