blob: 89c258ad03fd3edaeaf15666d1b62b5de245b2fd [file]
library;
//
// Problems in library:
//
// org-dartlang-test:///a/b/c/main.dart:9:2: Error: The macro 'Macro1' can't be applied in the same library cycle where it is defined.
// Try moving it to a different library that does not import the one where it is applied.
// @Macro1() // Error
// ^
//
import self as self;
import "main_lib1.dart" as mai;
import "main_lib2.dart" as mai2;
import "dart:async";
import "org-dartlang-test:///a/b/c/main_lib1.dart";
import "org-dartlang-test:///a/b/c/main_lib2.dart";
@#C1
@#C2
static method method() dynamic {}
library;
import self as mai;
import "dart:core" as core;
import "package:_macros/src/api.dart" as api;
import "dart:async";
import "package:macros/macros.dart";
import "org-dartlang-test:///a/b/c/main.dart";
macro class Macro1 extends core::Object implements api::FunctionDeclarationsMacro /*hasConstConstructor*/ {
const constructor •() mai::Macro1
: super core::Object::•()
;
method buildDeclarationsForFunction(api::FunctionDeclaration function, api::DeclarationBuilder builder) FutureOr<void> {}
}
library;
import self as mai2;
import "dart:core" as core;
import "package:_macros/src/api.dart" as api;
import "dart:async";
import "package:macros/macros.dart";
macro class Macro2 extends core::Object implements api::FunctionDeclarationsMacro /*hasConstConstructor*/ {
const constructor •() mai2::Macro2
: super core::Object::•()
;
method buildDeclarationsForFunction(api::FunctionDeclaration function, api::DeclarationBuilder builder) FutureOr<void> {}
}
constants {
#C1 = mai::Macro1 {}
#C2 = mai2::Macro2 {}
}