[flang] resolve-names.cc reorganization and cleanup.
authorTim Keith <tkeith@nvidia.com>
Thu, 26 Apr 2018 02:58:42 +0000 (19:58 -0700)
committerTim Keith <tkeith@nvidia.com>
Wed, 2 May 2018 22:32:32 +0000 (15:32 -0700)
commitbe1a9990a877556b1c1ad29f68c04a5eee103ca5
tree0a235631a18f1965e33b567d7193882a6f024658
parentf0573b2a3a0ea7e975600bd0db2313234fc995c7
[flang] resolve-names.cc reorganization and cleanup.

Add ScopeHandle class to manage the stack of scopes and MakeSymbol(), which
makes a symbol in the current scope. Move the call to ApplyImplicitScopes()
into PopScope() as it must be done for each scope.

Add ModuleVisitor class to manage module-related resolution. Currently that
consists of beginning and ending modules and access statements. This is
preparation for further module work.

Replace references to parser::CharBlock with SourceName.

Original-commit: flang-compiler/f18@913df85e48f1e06d0c75bb517f5edd898e8efd69
Reviewed-on: https://github.com/flang-compiler/f18/pull/79
Tree-same-pre-rewrite: false
flang/lib/semantics/resolve-names.cc