in java/com/google/cloud/deploymentmanager/autogen/SoyFunctions.java [118:142]
public SoyValue computeForJava(List<SoyValue> args) {
VmTierSpec tier = (VmTierSpec) ((SoyProtoValue) args.get(0)).getProto();
List<VmTierSpec> tierList;
try {
tierList = extractTierList(args.get(1));
} catch (IllegalArgumentException e) {
throw new IllegalArgumentException("Unexpected 2nd arg type for dependentTiers", e);
}
Set<Integer> dependentIndices = new HashSet<>();
for (GceMetadataItem item : tier.getGceMetadataItemsList()) {
if (item.hasTierVmNames()) {
dependentIndices.add(findTier(item.getTierVmNames().getTier(), tierList));
}
}
// List dependents in the order they appear in the tier list.
List<VmTierSpec> dependents = new ArrayList<>(dependentIndices.size());
for (int i = 0; i < tierList.size(); i++) {
if (dependentIndices.contains(i)) {
dependents.add(tierList.get(i));
}
}
return SoyValueConverter.INSTANCE.convert(dependents).resolve();
}