1 //===-- lib/Semantics/resolve-names.h ---------------------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
10 #define FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
11 
12 #include <iosfwd>
13 #include <string>
14 #include <vector>
15 
16 namespace llvm {
17 class raw_ostream;
18 }
19 
20 namespace Fortran::parser {
21 struct Program;
22 }
23 
24 namespace Fortran::semantics {
25 
26 class SemanticsContext;
27 class Symbol;
28 
29 bool ResolveNames(SemanticsContext &, const parser::Program &);
30 void ResolveSpecificationParts(SemanticsContext &, const Symbol &);
31 void DumpSymbols(llvm::raw_ostream &);
32 
33 } // namespace Fortran::semantics
34 
35 #endif // FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
36