scala: пример аннотаций в макро-раю
У меня есть эта структура в моем проекте:
ScalaProject: TestMacrosAnnotations
package: core
Test.scala
package: macros
Macros.scala
Затем я использовал пример из: здесь
Я добавил библиотеку paradise_2.11.6-2.1.0-M5.jar
Я включил его в компиляторе Scala, написав команду для P
: -P:paradise:enable
(в Scala IDE)
и когда я пытаюсь использовать Test.scala, он генерирует мне во время компиляции ошибку в строке 5 (из ссылки на github): println((new Test).hello)
!!!!
ошибка: value hello is not a member of core.Test
Я не знаю, в чем проблема?
редактировать
Решение в моем случае для кого-то, кто может столкнуться с той же проблемой: даже после того, как он был функционален после множества трюков только один раз, мне нужно было разделить файлы на два отдельных проекта и настроить их, следуя этим "правилам":
"How to create a macro project to link to an existing project:
Create a scala project named for example ProjectMacros, put a file named for example Macros.scala containing macros in it. This project should compile without problems, because there are only macros.
Right-click on the existing scala project, then "preferences". The preferences window opens.
In the Java Build Path section:
Under the tab Projects, add ProjectMacros.
Under the tab Libraries, click Add Class Folder, and select the ProjectMacros/bin directory.
In the Project References section, check ProjectMacros
Now, after adding in the existing project an import like import Macros._ you can use the macros functions and annotations."
(Это не мое, я не знаю, где я нашел это описание:D)