@@ -0,0 +1,2767 @@
+/*%0A * Copyright 2015 Michael Rozumyanskiy%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage com.michaelrocks.lightsaber.processor;%0A%0Aimport com.michaelrocks.lightsaber.processor.analysis.InjectionTargetDescriptor;%0Aimport com.michaelrocks.lightsaber.processor.analysis.ModuleDescriptor;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.Collections;%0Aimport java.util.LinkedHashMap;%0Aimport java.util.List;%0Aimport java.util.Map;%0A%0Apublic class ProcessorContext %7B%0A    private String classFilePath;%0A    private final Map%3CString, List%3CException%3E%3E errorsByPath = new LinkedHashMap%3C%3E();%0A    private final List%3CModuleDescriptor%3E modules = new ArrayList%3C%3E();%0A    private final List%3CInjectionTargetDescriptor%3E injectableTargets = new ArrayList%3C%3E();%0A    private final List%3CInjectionTargetDescriptor%3E providableTargets = new ArrayList%3C%3E();%0A%0A    public String getClassFilePath() %7B%0A        return classFilePath;%0A    %7D%0A%0A    public void setClassFilePath(final String path) %7B%0A        classFilePath = path;%0A    %7D%0A%0A    public boolean hasErrors() %7B%0A        return !errorsByPath.isEmpty();%0A    %7D%0A%0A    public Map%3CString, List%3CException%3E%3E getErrors() %7B%0A        return Collections.unmodifiableMap(errorsByPath);%0A    %7D%0A%0A    public void reportError(final Exception error) %7B%0A        List%3CException%3E errors = errorsByPath.get(classFilePath);%0A        if (errors == null) %7B%0A            errors = new ArrayList%3C%3E();%0A            errorsByPath.put(classFilePath, errors);%0A        %7D%0A        errors.add(error);%0A    %7D%0A%0A    public List%3CModuleDescriptor%3E getModules() %7B%0A        return Collections.unmodifiableList(modules);%0A    %7D%0A%0A    public void addModule(final ModuleDescriptor module) %7B%0A        modules.add(module);%0A    %7D%0A%0A    public List%3CInjectionTargetDescriptor%3E getInjectableTargets() %7B%0A        return Collections.unmodifiableList(injectableTargets);%0A    %7D%0A%0A    public void addInjectableTarget(final InjectionTargetDescriptor injectableTarget) %7B%0A        injectableTargets.add(injectableTarget);%0A    %7D%0A%0A    public List%3CInjectionTargetDescriptor%3E getProvidableTargets() %7B%0A        return Collections.unmodifiableList(providableTargets);%0A    %7D%0A%0A    public void addProvidableTarget(final InjectionTargetDescriptor providableTarget) %7B%0A        providableTargets.add(providableTarget);%0A    %7D%0A%7D%0A

Add ProcessorContext class