use of com.google.devtools.build.lib.packages.SkylarkExportable in project bazel by bazelbuild.
the class SkylarkImportLookupFunction method possiblyExport.
private static void possiblyExport(Statement statement, Label extensionLabel, EventHandler eventHandler, com.google.devtools.build.lib.syntax.Environment extensionEnv) {
if (!(statement instanceof AssignmentStatement)) {
return;
}
AssignmentStatement assignmentStatement = (AssignmentStatement) statement;
ImmutableSet<String> boundNames = assignmentStatement.getLValue().boundNames();
for (String name : boundNames) {
Object lookup = extensionEnv.lookup(name);
if (lookup instanceof SkylarkExportable) {
try {
SkylarkExportable exportable = (SkylarkExportable) lookup;
if (!exportable.isExported()) {
exportable.export(extensionLabel, name);
}
} catch (EvalException e) {
eventHandler.handle(Event.error(e.getLocation(), e.getMessage()));
}
}
}
}
Aggregations