It’s possible that John McCain has hated Donald Trump since the day in 2015 when Trump insulted the former POW by saying, “he’s not a war hero…I like people who weren’t captured.” It’s possible that McCain, who has long wanted to be president, is annoyed at a reality TV star who seems to have stumbled into the job. It’s possible that McCain has real, principled objections to Trump’s belligerent, impulsive, dangerous style. All three of these explanations—and many more—would be sufficient cause for animosity all by themselves. Taken together…well, they seem to have inspired a vendetta.

In short, John McCain is on the warpath. You saw him singlehandedly scuttle the GOP’s attempt to pass healthcare reform this summer, denying Trump a signature legislative achievement. You saw him put himself forward as the Republican opposition to Trump as early as February. You saw him throw some subtle shade at Trump in his 60 Minutes interview last month, noting that Trump had never apologized to him for the POW crack, and saying things like, “I don’t know what he’s going to do tomorrow or say tomorrow…he changes his statements almost on a daily basis. So for me to spend my time trying to analyze what he says, I don’t know.”

And last night, in a speech at the National Constitution Center, he took direct aim at Trump without ever mentioning his name. Per Jonathan Chait at New York:

John McCain denounced the Trump administration’s ideology in terms that sounded harsh, and that upon reflection were even harsher. Without naming Trump, but without needing to, the Arizona senator dismissed “some half-baked, spurious nationalism cooked up by people who would rather find scapegoats than solve problems,” likening it to “any other tired dogma of the past that Americans consigned to the ash heap of history.” Here McCain was comparing the worldview of a president of his own party to communism and fascism — a rebuke even deeper, in a way, than Senator Corker comparing him to a doddering half-wit. Corker attacked Trump’s competence. McCain attacked his intentions.

There are a few things we know about McCain. First, yes, he was a war hero. Second, no, he’s not a maverick just as partisan as the rest of the Republicans in Congress, with all the awfulness that entails. (See also: Sarah Palin.)

But we can also reliably say that this guy hates Donald Trump, and is making it his business—as something of a last act in his political career—to ruin the man. He’s not the perfect symbol of resistance, by any means, but the phrase “any port in a storm” applies here. In other words, yeah, we’ll take it.