mirror of
https://github.com/zaaarf/lillero-processor.git
synced 2024-12-22 21:54:53 +01:00
fix: added missing case in main loop
This commit is contained in:
parent
d967afe2e3
commit
b793bddaa0
1 changed files with 9 additions and 7 deletions
|
@ -223,13 +223,6 @@ public class LilleroProcessor extends AbstractProcessor {
|
|||
appendMemberFinderDefinition(targetClass, proxyVar, null, constructorBuilder, this.processingEnv, this.mapper);
|
||||
}
|
||||
|
||||
//declare it once for efficiency
|
||||
List<String> injectorNames =
|
||||
injectors.stream()
|
||||
.map(ExecutableElement::getSimpleName)
|
||||
.map(Object::toString)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//targets that have matched at least once are put in here
|
||||
Set<ExecutableElement> matchedTargets = new HashSet<>();
|
||||
|
||||
|
@ -276,6 +269,10 @@ public class LilleroProcessor extends AbstractProcessor {
|
|||
throw new AmbiguousDefinitionException(
|
||||
String.format("Target specified user %s, but name was used by both a finder and injector.", targetAnn.of())
|
||||
);
|
||||
else if(finderCandidates.size() == 0 && injectorCandidates.size() == 0)
|
||||
throw new AmbiguousDefinitionException(
|
||||
String.format("Could not find any candidate mathcing target %s", tg.getSimpleName().toString())
|
||||
);
|
||||
else if(finderCandidates.size() == 0 && injectorCandidates.size() != 1)
|
||||
throw new AmbiguousDefinitionException(
|
||||
String.format("Found multiple candidate injectors for target %s::%s!", cl.getSimpleName(), tg.getSimpleName())
|
||||
|
@ -285,6 +282,7 @@ public class LilleroProcessor extends AbstractProcessor {
|
|||
String.format("Found multiple candidate finders for target %s::%s!", cl.getSimpleName(), tg.getSimpleName())
|
||||
);
|
||||
else {
|
||||
matchedTargets.add(tg);
|
||||
if(injectorCandidates.size() == 1) {
|
||||
//matched an injector!
|
||||
toGenerate.put(
|
||||
|
@ -307,6 +305,10 @@ public class LilleroProcessor extends AbstractProcessor {
|
|||
}
|
||||
}
|
||||
|
||||
//find orphan targets and warn
|
||||
Set<ExecutableElement> orphanTargets = targets.stream().filter(t -> !matchedTargets.contains(t)).collect(Collectors.toSet());
|
||||
//TODO!
|
||||
|
||||
//iterate over the map and generate the classes
|
||||
for(String injName : toGenerate.keySet()) {
|
||||
String targetMethodDescriptor = descriptorFromExecutableElement(toGenerate.get(injName).target);
|
||||
|
|
Loading…
Reference in a new issue