2020-02-25 23:11:52 +08:00
|
|
|
//===-- lib/Semantics/resolve-names.h ---------------------------*- C++ -*-===//
|
2018-05-02 03:50:34 +08:00
|
|
|
//
|
2019-12-21 04:52:07 +08:00
|
|
|
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
|
|
// See https://llvm.org/LICENSE.txt for license information.
|
|
|
|
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
2018-05-02 03:50:34 +08:00
|
|
|
//
|
2020-01-11 04:12:03 +08:00
|
|
|
//===----------------------------------------------------------------------===//
|
2018-05-02 03:50:34 +08:00
|
|
|
|
2018-05-02 05:07:52 +08:00
|
|
|
#ifndef FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
|
|
|
|
#define FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
|
|
|
|
|
2018-04-13 05:20:26 +08:00
|
|
|
#include <iosfwd>
|
2018-09-15 06:04:50 +08:00
|
|
|
#include <string>
|
2018-07-25 21:55:11 +08:00
|
|
|
#include <vector>
|
2018-04-13 05:20:26 +08:00
|
|
|
|
2020-02-28 23:11:03 +08:00
|
|
|
namespace llvm {
|
|
|
|
class raw_ostream;
|
|
|
|
}
|
|
|
|
|
2018-04-13 05:20:26 +08:00
|
|
|
namespace Fortran::parser {
|
2018-04-27 06:44:29 +08:00
|
|
|
struct Program;
|
2018-10-25 20:55:23 +08:00
|
|
|
}
|
2018-04-13 05:20:26 +08:00
|
|
|
|
|
|
|
namespace Fortran::semantics {
|
2018-04-19 06:06:35 +08:00
|
|
|
|
2018-10-22 22:37:38 +08:00
|
|
|
class SemanticsContext;
|
2020-03-14 03:19:44 +08:00
|
|
|
class Symbol;
|
2018-08-03 07:21:27 +08:00
|
|
|
|
2019-03-07 09:07:25 +08:00
|
|
|
bool ResolveNames(SemanticsContext &, const parser::Program &);
|
2020-03-14 03:19:44 +08:00
|
|
|
void ResolveSpecificationParts(SemanticsContext &, const Symbol &);
|
2020-02-28 23:11:03 +08:00
|
|
|
void DumpSymbols(llvm::raw_ostream &);
|
2019-03-07 09:07:25 +08:00
|
|
|
|
2020-03-29 12:00:16 +08:00
|
|
|
} // namespace Fortran::semantics
|
2018-05-02 05:07:52 +08:00
|
|
|
|
2020-03-29 12:00:16 +08:00
|
|
|
#endif // FORTRAN_SEMANTICS_RESOLVE_NAMES_H_
|