Extend AnalysisAdapter instead of DepthFirstAdapter.

We're going to need the control it gives us over when stuff is
visited (e.g. for control flow statements).