restructure code to build the framework for creating types from declarators.

llvm-svn: 39166
GitOrigin-RevId: f84a79c4e98686c7fa72befda2dcd647fc572a61
11 files changed