bazel packages: move lib.syntax.Type here
Type is a concept of the build language, not of core Starlark.
(Witness all the references to Label. That said, there appear to be
three concepts---BuildType, Type, StarlarkType---where only two
are necessary: the types of rule attributes, and a library of
Starlark-to-Java conversion combinators.)
This change is mostly mechanical, except:
- MethodLibrary: two uses of Type.XYZ.convert replaced by ad-hoc code.
- SkylarkDict: getDictFromArgs substantially rewritten to avoid Type.
Its error messages were improved.
I added comments re: harmful type parameterization.
This CL depends on unknown commit, which first breaks
Copybara's dependency on syntax.Type.
PiperOrigin-RevId: 267694761
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index a6fad4e..79a5ec5 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -37,15 +37,14 @@
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassNamePredicate;
+import com.google.devtools.build.lib.packages.Type.ConversionException;
+import com.google.devtools.build.lib.packages.Type.LabelClass;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization;
import com.google.devtools.build.lib.syntax.ClassObject;
import com.google.devtools.build.lib.syntax.EvalException;
import com.google.devtools.build.lib.syntax.EvalUtils;
import com.google.devtools.build.lib.syntax.Runtime;
-import com.google.devtools.build.lib.syntax.Type;
-import com.google.devtools.build.lib.syntax.Type.ConversionException;
-import com.google.devtools.build.lib.syntax.Type.LabelClass;
import com.google.devtools.build.lib.util.FileType;
import com.google.devtools.build.lib.util.FileTypeSet;
import com.google.devtools.build.lib.util.StringUtil;