in sdk/optimizationDetector/src/main/java/org/apache/teaclave/javasdk/tool/optimize/ECallInLoopDetector.java [125:139]
private static boolean isEnclaveService(ResolvedJavaType type) {
Deque<ResolvedJavaType> workList = new ArrayDeque<>();
workList.push(type);
while (!workList.isEmpty()) {
ResolvedJavaType top = workList.pop();
if (top.getAnnotation(EnclaveService.class) != null) {
return true;
} else {
for (ResolvedJavaType anInterface : top.getInterfaces()) {
workList.push(anInterface);
}
}
}
return false;
}