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 namespace llvm { 13 class raw_ostream; 14 } 15 16 namespace Fortran::parser { 17 struct Program; 18 } 19 20 namespace Fortran::semantics { 21 22 class Scope; 23 class SemanticsContext; 24 class Symbol; 25 26 bool ResolveNames(SemanticsContext &, const parser::Program &, Scope &top); 27 void ResolveSpecificationParts(SemanticsContext &, const Symbol &); 28 void DumpSymbols(llvm::raw_ostream &); 29 30 } // namespace Fortran::semantics 31 32 #endif // FORTRAN_SEMANTICS_RESOLVE_NAMES_H_ 33