private static Set extractImplicitToStringCalls()

in javac-ast-extension/src/org/jetbrains/jps/javac/ast/JavacTreeRefScanner.java [343:366]


  private static Set<TypeElement> extractImplicitToStringCalls(Tree lOp,
                                                               Tree rOp,
                                                               JavacReferenceCollectorListener.ReferenceCollector collector) {
    TypeMirror lTypeMirror = collector.getType(lOp);
    if (lTypeMirror == null) return null;
    TypeElement lType = asTypeElement(lTypeMirror, collector.getTypeUtility());
    if (lType == null) return null;
    TypeMirror rTypeMirror = collector.getType(rOp);
    if (rTypeMirror == null) return null;
    TypeElement rType = asTypeElement(rTypeMirror, collector.getTypeUtility());
    if (rType == null) return null;

    if (isToStringImplicitCall(lType, rType, collector)) {
      Set<TypeElement> result = new HashSet<TypeElement>();
      visitTypeHierarchy(rType, result, collector.getTypeUtility());
      return result;
    }
    if (isToStringImplicitCall(rType, lType, collector)) {
      Set<TypeElement> result = new HashSet<TypeElement>();
      visitTypeHierarchy(lType, result, collector.getTypeUtility());
      return result;
    }
    return null;
  }