Separate build-specific types and types inherent to Skylark.

--
MOS_MIGRATED_REVID=103374106
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 34ff1af..2f44210 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
@@ -16,8 +16,8 @@
 
 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.Type.BOOLEAN;
-import static com.google.devtools.build.lib.packages.Type.LABEL_LIST;
+import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
+import static com.google.devtools.build.lib.syntax.Type.BOOLEAN;
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Function;
@@ -33,6 +33,7 @@
 import com.google.devtools.build.lib.events.EventHandler;
 import com.google.devtools.build.lib.events.Location;
 import com.google.devtools.build.lib.packages.Attribute.ConfigurationTransition;
+import com.google.devtools.build.lib.packages.BuildType.SelectorList;
 import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
 import com.google.devtools.build.lib.syntax.Argument;
 import com.google.devtools.build.lib.syntax.BaseFunction;
@@ -42,6 +43,7 @@
 import com.google.devtools.build.lib.syntax.GlobList;
 import com.google.devtools.build.lib.syntax.Label;
 import com.google.devtools.build.lib.syntax.Runtime;
+import com.google.devtools.build.lib.syntax.Type;
 import com.google.devtools.build.lib.util.StringUtil;
 import com.google.devtools.build.lib.vfs.PathFragment;
 
@@ -1488,7 +1490,7 @@
 
     Set<Label> configLabels = new LinkedHashSet<>();
     for (Attribute attr : rule.getAttributes()) {
-      Type.SelectorList<?> selectors = attributes.getSelectorList(attr.getName(), attr.getType());
+      SelectorList<?> selectors = attributes.getSelectorList(attr.getName(), attr.getType());
       if (selectors != null) {
         configLabels.addAll(selectors.getKeyLabels());
       }
@@ -1519,7 +1521,7 @@
    */
   private static void checkForDuplicateLabels(Rule rule, EventHandler eventHandler) {
     for (Attribute attribute : rule.getAttributes()) {
-      if (attribute.getType() == Type.LABEL_LIST) {
+      if (attribute.getType() == BuildType.LABEL_LIST) {
         checkForDuplicateLabels(rule, attribute, eventHandler);
       }
     }
@@ -1640,9 +1642,9 @@
     Object converted;
     try {
       String what = "attribute '" + attrName + "' in '" + name + "' rule";
-      converted = attr.getType().selectableConvert(attrVal, what, rule.getLabel());
+      converted = BuildType.selectableConvert(attr.getType(), attrVal, what, rule.getLabel());
 
-      if ((converted instanceof Type.SelectorList<?>) && !attr.isConfigurable()) {
+      if ((converted instanceof SelectorList<?>) && !attr.isConfigurable()) {
         rule.reportError(rule.getLabel() + ": attribute \"" + attr.getName()
             + "\" is not configurable", eventHandler);
         return null;