mirror of
https://github.com/zaaarf/lillero-processor.git
synced 2024-11-22 09:24:49 +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);
|
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
|
//targets that have matched at least once are put in here
|
||||||
Set<ExecutableElement> matchedTargets = new HashSet<>();
|
Set<ExecutableElement> matchedTargets = new HashSet<>();
|
||||||
|
|
||||||
|
@ -276,6 +269,10 @@ public class LilleroProcessor extends AbstractProcessor {
|
||||||
throw new AmbiguousDefinitionException(
|
throw new AmbiguousDefinitionException(
|
||||||
String.format("Target specified user %s, but name was used by both a finder and injector.", targetAnn.of())
|
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)
|
else if(finderCandidates.size() == 0 && injectorCandidates.size() != 1)
|
||||||
throw new AmbiguousDefinitionException(
|
throw new AmbiguousDefinitionException(
|
||||||
String.format("Found multiple candidate injectors for target %s::%s!", cl.getSimpleName(), tg.getSimpleName())
|
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())
|
String.format("Found multiple candidate finders for target %s::%s!", cl.getSimpleName(), tg.getSimpleName())
|
||||||
);
|
);
|
||||||
else {
|
else {
|
||||||
|
matchedTargets.add(tg);
|
||||||
if(injectorCandidates.size() == 1) {
|
if(injectorCandidates.size() == 1) {
|
||||||
//matched an injector!
|
//matched an injector!
|
||||||
toGenerate.put(
|
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
|
//iterate over the map and generate the classes
|
||||||
for(String injName : toGenerate.keySet()) {
|
for(String injName : toGenerate.keySet()) {
|
||||||
String targetMethodDescriptor = descriptorFromExecutableElement(toGenerate.get(injName).target);
|
String targetMethodDescriptor = descriptorFromExecutableElement(toGenerate.get(injName).target);
|
||||||
|
|
Loading…
Reference in a new issue