docs: public boolean failedWithUnexpectedEOF() {
          // Implementation note - there are several ways for the Groovy compiler
          // to report an unexpected EOF. Perhaps this implementation misses some.
          // If you find another way, please add it.
          if (getErrorCollector().hasErrors()) {
              Message last = (Message) getErrorCollector().getLastError();
              Throwable cause = null;
              if (last instanceof SyntaxErrorMessage) {
                  cause = ((SyntaxErrorMessage) last).getCause().getCause();
              }
              if (cause != null) {
                  if (cause instanceof NoViableAltException) {
                      return isEofToken(((NoViableAltException) cause).token);
                  } else if (cause instanceof NoViableAltForCharException) {
                      char badChar = ((NoViableAltForCharException) cause).foundChar;
                      return badChar == CharScanner.EOF_CHAR;
                  } else if (cause instanceof MismatchedCharException) {
                      char badChar = (char) ((MismatchedCharException) cause).foundChar;
                      return badChar == CharScanner.EOF_CHAR;
                  } else if (cause instanceof MismatchedTokenException) {
                      return isEofToken(((MismatchedTokenException) cause).token);
                  }
              }
          }
          return false;
      }