diff options
author | 2016-02-01 18:39:42 +0000 | |
---|---|---|
committer | 2016-02-02 14:57:35 +0000 | |
commit | d5ef2b4956619c44c9d17ac097857508e4d53b40 (patch) | |
tree | e51de7e9541fa1eb346fe5a9876ca5b61ccd7cdf /src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java | |
parent | dccd81fe23111818d63a61d882f65a8b412de4e2 (diff) |
Rollback of commit f941d56acfad5f8c819c81b494f806ea74ea7fd8.
*** Reason for rollback ***
Breaks many targets, see []
*** Original change description ***
Reinstate mutable SkylarkDict
Add <String, Object> annotation to optionMap invocation in SkylarkAttr,
to make JDK 1.7 happy.
Give the visible name "aspect" to class SkylarkAspect.
--
MOS_MIGRATED_REVID=113543873
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java | 35 |
1 files changed, 14 insertions, 21 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java index 8fa921918b..b2aa1f6b24 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java @@ -54,7 +54,6 @@ import com.google.devtools.build.lib.syntax.Identifier; import com.google.devtools.build.lib.syntax.Mutability; import com.google.devtools.build.lib.syntax.ParserInputSource; import com.google.devtools.build.lib.syntax.Runtime; -import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.syntax.SkylarkList.MutableList; import com.google.devtools.build.lib.syntax.SkylarkSignatureProcessor; @@ -848,23 +847,21 @@ public final class PackageFactory { }; @Nullable - static SkylarkDict<String, Object> callGetRuleFunction( + static Map<String, Object> callGetRuleFunction( String name, FuncallExpression ast, Environment env) throws EvalException, ConversionException { PackageContext context = getContext(env, ast); Target target = context.pkgBuilder.getTarget(name); - return targetDict(target, ast.getLocation(), env); + return targetDict(target); } @Nullable - private static SkylarkDict<String, Object> targetDict( - Target target, Location loc, Environment env) - throws NotRepresentableException, EvalException { + private static Map<String, Object> targetDict(Target target) throws NotRepresentableException { if (target == null && !(target instanceof Rule)) { return null; } - SkylarkDict<String, Object> values = SkylarkDict.<String, Object>of(env); + Map<String, Object> values = new TreeMap<>(); Rule rule = (Rule) target; AttributeContainer cont = rule.getAttributeContainer(); @@ -884,7 +881,7 @@ public final class PackageFactory { if (val == null) { continue; } - values.put(attr.getName(), val, loc, env); + values.put(attr.getName(), val); } catch (NotRepresentableException e) { throw new NotRepresentableException( String.format( @@ -892,8 +889,8 @@ public final class PackageFactory { } } - values.put("name", rule.getName(), loc, env); - values.put("kind", rule.getRuleClass(), loc, env); + values.put("name", rule.getName()); + values.put("kind", rule.getRuleClass()); return values; } @@ -1014,21 +1011,18 @@ public final class PackageFactory { } - static SkylarkDict<String, SkylarkDict<String, Object>> callGetRulesFunction( - FuncallExpression ast, Environment env) - throws EvalException { + static Map callGetRulesFunction(FuncallExpression ast, Environment env) throws EvalException { PackageContext context = getContext(env, ast); Collection<Target> targets = context.pkgBuilder.getTargets(); - Location loc = ast.getLocation(); // Sort by name. - SkylarkDict<String, SkylarkDict<String, Object>> rules = - SkylarkDict.<String, SkylarkDict<String, Object>>of(env); + Map<String, Map<String, Object>> rules = new TreeMap<>(); for (Target t : targets) { if (t instanceof Rule) { - SkylarkDict<String, Object> m = targetDict(t, loc, env); + Map<String, Object> m = targetDict(t); Preconditions.checkNotNull(m); - rules.put(t.getName(), m, loc, env); + + rules.put(t.getName(), m); } } @@ -1341,8 +1335,8 @@ public final class PackageFactory { public Preprocessor.Result preprocess( PackageIdentifier packageId, Path buildFile, CachingPackageLocator locator) throws InterruptedException, IOException { - byte[] buildFileBytes = - FileSystemUtils.readWithKnownFileSize(buildFile, buildFile.getFileSize()); + byte[] buildFileBytes = FileSystemUtils.readWithKnownFileSize( + buildFile, buildFile.getFileSize()); Globber globber = createLegacyGlobber(buildFile.getParentDirectory(), packageId, locator); try { return preprocess(buildFile, packageId, buildFileBytes, globber); @@ -1676,7 +1670,6 @@ public final class PackageFactory { SkylarkSignatureProcessor.configureSkylarkFunctions(PackageFactory.class); } - /** Empty EnvironmentExtension */ public static class EmptyEnvironmentExtension implements EnvironmentExtension { @Override public void update(Environment environment) {} |