| // Copyright (c) 2022, 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 'dart:async'; |
| import 'package:_fe_analyzer_shared/src/macros/api.dart'; |
| import 'api_test_expectations.dart'; |
| |
| |
| |
| macro class ClassMacro |
| implements ClassTypesMacro, ClassDeclarationsMacro, ClassDefinitionMacro { |
| const ClassMacro(); |
| |
| FutureOr<void> buildTypesForClass( |
| ClassDeclaration clazz, TypeBuilder builder) async { |
| await checkClassDeclaration(clazz); |
| } |
| |
| FutureOr<void> buildDeclarationsForClass( |
| ClassDeclaration clazz, ClassMemberDeclarationBuilder builder) async { |
| await checkClassDeclaration(clazz, classIntrospector: builder); |
| } |
| |
| FutureOr<void> buildDefinitionForClass( |
| ClassDeclaration clazz, ClassDefinitionBuilder builder) async { |
| await checkClassDeclaration(clazz, classIntrospector: builder); |
| } |
| } |
| |
| macro class FunctionMacro |
| implements |
| FunctionTypesMacro, |
| FunctionDeclarationsMacro, |
| FunctionDefinitionMacro { |
| const FunctionMacro(); |
| |
| FutureOr<void> buildTypesForFunction( |
| FunctionDeclaration function, TypeBuilder builder) async { |
| checkFunctionDeclaration(function); |
| await checkIdentifierResolver(builder); |
| } |
| |
| FutureOr<void> buildDeclarationsForFunction( |
| FunctionDeclaration function, DeclarationBuilder builder) async { |
| checkFunctionDeclaration(function); |
| await checkIdentifierResolver(builder); |
| } |
| |
| FutureOr<void> buildDefinitionForFunction( |
| FunctionDeclaration function, FunctionDefinitionBuilder builder) async { |
| checkFunctionDeclaration(function); |
| await checkIdentifierResolver(builder); |
| } |
| } |