public Tree visitTypeCast()

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


  public Tree visitTypeCast(TypeCastTree node, JavacReferenceCollectorListener.ReferenceCollector collector) {
    super.visitTypeCast(node, collector);

    Element castType = collector.getReferencedElement(node.getType());
    if (castType == null) return null;
    JavacRef.JavacElementRefBase castTypeElement = collector.asJavacRef(null, castType);
    if (!(castTypeElement instanceof JavacRef.JavacClass)) return null;

    TypeMirror operandType = collector.getType(node.getExpression());
    if (operandType == null) return null;
    JavacRef.JavacElementRefBase operandTypeElement = collector.asJavacRef(getCurrentEnclosingTypeElement(), operandType);
    if (!(operandTypeElement instanceof JavacRef.JavacClass)) return null;

    collector.sinkTypeCast(new JavacTypeCast((JavacRef.JavacClass) operandTypeElement, (JavacRef.JavacClass) castTypeElement));
    return null;
  }