public static boolean isExplicitTypeAlias(@NotNull PyAssignmentStatement assignment, @NotNull TypeEvalContext context) {
    PyExpression annotationValue = getAnnotationValue(assignment, context);
    if (annotationValue instanceof PyReferenceExpression) {
      Collection<String> qualifiedNames = resolveToQualifiedNames(annotationValue, context);
      return qualifiedNames.contains(TYPE_ALIAS) || qualifiedNames.contains(TYPE_ALIAS_EXT);
    }
    PyTargetExpression target = as(ArrayUtil.getFirstElement(assignment.getTargets()), PyTargetExpression.class);
    if (target != null) {
      String typeCommentAnnotation = target.getTypeCommentAnnotation();
      if (typeCommentAnnotation != null) {
        PyExpression commentValue = toExpression(typeCommentAnnotation, assignment);
        if (commentValue instanceof PyReferenceExpression) {
          Collection<String> qualifiedNames = resolveToQualifiedNames(commentValue, context);
          return qualifiedNames.contains(TYPE_ALIAS) || qualifiedNames.contains(TYPE_ALIAS_EXT);
        }
      }
    }
    return false;
  }
public static boolean isExplicitTypeAlias(@NotNull PyAssignmentStatement assignment, @NotNull TypeEvalContext context)