001 package org.jetbrains.jet.lang.resolve.calls;
002
003 import org.jetbrains.annotations.NotNull;
004 import org.jetbrains.jet.lang.descriptors.CallableDescriptor;
005 import org.jetbrains.jet.lang.resolve.calls.context.BasicCallResolutionContext;
006 import org.jetbrains.jet.lang.resolve.calls.results.OverloadResolutionResultsImpl;
007
008 import java.util.List;
009
010 public class CompositeExtension implements CallResolverExtension {
011
012 private final List<CallResolverExtension> extensions;
013
014 public CompositeExtension(@NotNull List<CallResolverExtension> extensions) {
015 this.extensions = extensions;
016 }
017
018 @Override
019 public <F extends CallableDescriptor> void run(
020 @NotNull OverloadResolutionResultsImpl<F> results,
021 @NotNull BasicCallResolutionContext context
022 ) {
023 for (CallResolverExtension resolverExtension : extensions) {
024 resolverExtension.run(results, context);
025 }
026 }
027 }