ओह, गहरा स्पष्टीकरण काफी जटिल है।
असल में, हस्ताक्षर है:
/* Implementations of <<= macro variations for tasks and settings. These just get the source position of the call site.*/
def itaskAssignPosition[T: c.WeakTypeTag](c: Context)(app: c.Expr[Initialize[Task[T]]]): c.Expr[Setting[Task[T]]] =
settingAssignPosition(c)(app)
मैं पहले से ही ऑपरेटर इस तरह का प्रयोग किया जाता है जब AspectJ संकलन के साथ काम:
def <<= (app: Initialize[Task[S]]): Setting[Task[S]] = macro std.TaskMacro.itaskAssignPosition[S]
तो यह इस मैक्रो शामिल
products in Compile <<= products in Aspectj
असल में, इसका मतलब है: AspectJ स्रोत फ़ाइलों पर कोड स्रोत का आधार (के साथ उत्पन्न 10), शास्त्रीय नहीं।
मैं "replaceAll/मिटा" का एक प्रकार के रूप में यह व्याख्या:
AspectJ एनोटेशन शामिल फ़ाइलों द्वारा संकलित करने के लिए फ़ाइलों का गुच्छा बदलें।
बहुत जटिल। इसका मतलब है 'निर्भर करता है << = (सबकुछ, सूचीबद्ध, यहां) ' – pfn