aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java b/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
index 15917f6b8b..8c5bfffaa6 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AttributeContainer.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.packages;
+import com.google.common.base.Function;
import com.google.devtools.build.lib.events.Location;
import java.util.BitSet;
@@ -46,7 +47,7 @@ public class AttributeContainer {
/**
* Create a container for a rule of the given rule class.
*/
- AttributeContainer(RuleClass ruleClass) {
+ public AttributeContainer(RuleClass ruleClass) {
this(ruleClass, new Location[ruleClass.getAttributeCount()]);
}
@@ -117,4 +118,12 @@ public class AttributeContainer {
Integer index = ruleClass.getAttributeIndex(attribute.getName());
attributeLocations[index] = location;
}
+
+ public static final Function<RuleClass, AttributeContainer> ATTRIBUTE_CONTAINER_FACTORY =
+ new Function<RuleClass, AttributeContainer>() {
+ @Override
+ public AttributeContainer apply(RuleClass ruleClass) {
+ return new AttributeContainer(ruleClass);
+ }
+ };
}