}
private DependencyLinker chooseDependencyLinker(SizeBreakdown breakdown) {
if (globalInformation.dependencies == null) {
// no dependencies are available
return new NullDependencyLinker();
}
if (breakdown == globalInformation.getTotalCodeBreakdown()) {
if (globalInformation.getNumSplitPoints() > 0) {
return makeTopLevelHtmlForPerm.new DependencyLinkerForTotalBreakdown();
} else {
return makeTopLevelHtmlForPerm.new DependencyLinkerForInitialCode();
}
} else if (breakdown == globalInformation.getInitialCodeBreakdown()) {
return makeTopLevelHtmlForPerm.new DependencyLinkerForInitialCode();
} else if (breakdown == globalInformation.getLeftoversBreakdown()) {
assert globalInformation.getNumSplitPoints() > 0;
return makeTopLevelHtmlForPerm.new DependencyLinkerForLeftoversFragment();
} else {
return new NullDependencyLinker();
}
}