| Index: pkg/analyzer/lib/src/dart/element/element.dart
|
| diff --git a/pkg/analyzer/lib/src/dart/element/element.dart b/pkg/analyzer/lib/src/dart/element/element.dart
|
| index 4c8b9c74ad6bb34f7ba2b0e23ca2c3231ef9a941..e410265d8f9bc5fbb14d913f4459d549485ebce7 100644
|
| --- a/pkg/analyzer/lib/src/dart/element/element.dart
|
| +++ b/pkg/analyzer/lib/src/dart/element/element.dart
|
| @@ -1540,6 +1540,12 @@ class CompilationUnitElementImpl extends UriReferencedElementImpl
|
|
|
| @override
|
| List<FunctionElement> get functions {
|
| + if (_kernelContext != null) {
|
| + _functions ??= _kernelContext.library.procedures
|
| + .where((k) => k.kind == kernel.ProcedureKind.Method)
|
| + .map((k) => new FunctionElementImpl.forKernel(this, k))
|
| + .toList(growable: false);
|
| + }
|
| if (_unlinkedUnit != null) {
|
| _functions ??= _unlinkedUnit.executables
|
| .where((e) => e.kind == UnlinkedExecutableKind.functionOrMethod)
|
| @@ -4457,6 +4463,13 @@ class FunctionElementImpl extends ExecutableElementImpl
|
| : super.forSerialized(serializedExecutable, enclosingElement);
|
|
|
| /**
|
| + * Initialize using the given kernel.
|
| + */
|
| + FunctionElementImpl.forKernel(
|
| + ElementImpl enclosingElement, kernel.Procedure kernel)
|
| + : super.forKernel(enclosingElement, kernel);
|
| +
|
| + /**
|
| * Synthesize an unnamed function element that takes [parameters] and returns
|
| * [returnType].
|
| */
|
|
|