aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Michajlo Matijkiw <michajlo@google.com>2015-10-28 19:59:00 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-10-29 07:47:05 +0000
commit0446c95d4e2f5e4a084744a10c87d631a92b3be0 (patch)
treececf046a5a59ae29438579048fe7fda3b9e070eb /src/main/java/com/google/devtools/build
parent26f494a837c55e4c9b9c21d331a23e8e4eaaeded (diff)
Add preconditions check for attr existence in RuleClass#getAttributeByName
Makes the the inevitable null pointer from unboxing null easier to diagnose. -- MOS_MIGRATED_REVID=106525458
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/RuleClass.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
index b43af740e5..642920315a 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/RuleClass.java
@@ -14,8 +14,8 @@
package com.google.devtools.build.lib.packages;
-import static com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition.HOST;
import static com.google.devtools.build.lib.packages.Attribute.attr;
+import static com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition.HOST;
import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
import static com.google.devtools.build.lib.syntax.Type.BOOLEAN;
@@ -1150,10 +1150,12 @@ public final class RuleClass {
}
/**
- * Returns the attribute whose name is 'attrName'; fails if not found.
+ * Returns the attribute whose name is 'attrName'; fails with NullPointerException if not found.
*/
public Attribute getAttributeByName(String attrName) {
- return attributes.get(getAttributeIndex(attrName));
+ Integer attrIndex = Preconditions.checkNotNull(getAttributeIndex(attrName),
+ "Attribute %s does not exist", attrName);
+ return attributes.get(attrIndex);
}
/**