Provider

报告问题 查看源代码 每夜版 · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

简单值对象(称为提供程序实例)的构造函数。
此值具有双重用途:

  • 它是一个可用于构造类似“struct”的值的函数:
    DataInfo = provider()
    d = DataInfo(x = 2, y = 3)
    print(d.x + d.y) # prints 5
    注意:某些内部定义的提供商不允许创建实例
  • 它是用于访问 Target 上提供程序实例的
    DataInfo = provider()
    def _rule_impl(ctx)
      ... ctx.attr.dep[DataInfo]
使用 provider 函数创建新的 Provider