MCPcopy Create free account
hub / github.com/google/guice / rewrite

Method rewrite

core/src/com/google/inject/util/Modules.java:290–314  ·  view source on GitHub ↗
(Binder binder, PrivateElements privateElements, Set<Key<?>> keysToSkip)

Source from the content-addressed store, hash-verified

288 }
289
290 void rewrite(Binder binder, PrivateElements privateElements, Set<Key<?>> keysToSkip) {
291 PrivateBinder privateBinder =
292 binder.withSource(privateElements.getSource()).newPrivateBinder();
293
294 Set<Key<?>> skippedExposes = Sets.newHashSet();
295
296 for (Key<?> key : privateElements.getExposedKeys()) {
297 if (keysToSkip.remove(key)) {
298 skippedExposes.add(key);
299 } else {
300 privateBinder.withSource(privateElements.getExposedSource(key)).expose(key);
301 }
302 }
303
304 for (Element element : privateElements.getElements()) {
305 if (element instanceof Binding && skippedExposes.remove(((Binding) element).getKey())) {
306 continue;
307 }
308 if (element instanceof PrivateElements) {
309 rewrite(privateBinder, (PrivateElements) element, skippedExposes);
310 continue;
311 }
312 element.applyTo(privateBinder);
313 }
314 }
315
316 @Override
317 public Void visit(PrivateElements privateElements) {

Callers 1

visitMethod · 0.95

Calls 12

withSourceMethod · 0.95
newPrivateBinderMethod · 0.65
withSourceMethod · 0.65
getSourceMethod · 0.65
getExposedKeysMethod · 0.65
exposeMethod · 0.65
getExposedSourceMethod · 0.65
getElementsMethod · 0.65
getKeyMethod · 0.65
applyToMethod · 0.65
removeMethod · 0.45
addMethod · 0.45

Tested by

no test coverage detected