문제

스칼라에 매크로를 쓰고 있지만 전화 할 때 "Double Doess가 매개 변수를 가져 가지 마라"라는 오류 메시지가 나타납니다.분명히 매크로가 AST를 구축하는 방법에 문제가 있습니다.확장 된 매크로를 어떻게 볼 수 있습니까?런타임에 매크로 구현을 호출하는 방법이 있습니까?

도움이 되었습니까?

해결책

-Ymacro-debug-lite 또는 -Ymacro-debug-verbose 옵션을 컴파일러에 제공합니다.

내 머리 꼭대기에서 인쇄 된 ASTS의 비탈 화는 -Yshow-trees-compact, -Yshow-trees-stringified, -Xprint-types-uniqid-Yshow-symkinds에 의해 관리됩니다.scala -Xscala -Y를 실행하여 다른 보석을 찾을 수 있습니다 (또는 https://github.com/scala/scala/blob/2.10.x/src/compiler/scala/tools/nsc/settings/scalasettings.scala ).

또한, 본질적으로 매크로 임에도 불구하고, 재화는 -Yreify-copypaste-Yreify-debug에 의해 구성 될 수있는 자체 추적 메커니즘이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top