blob: 5b3f4a0ae1193ca053be88d74ef631ea5dcac3bb [file] [log] [blame]
// Copyright (C) 2020-2023 Free Software Foundation, Inc.
// This file is part of GCC.
// GCC is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 3, or (at your option) any later
// version.
// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
// You should have received a copy of the GNU General Public License
// along with GCC; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
#include "rust-ast-resolve-base.h"
#include "rust-ast-resolve-expr.h"
#include "rust-ast-resolve-path.h"
#include "rust-item.h"
namespace Rust {
namespace Resolver {
bool
ResolverBase::resolve_visibility (const AST::Visibility &vis)
{
if (vis.has_path ())
{
auto path = vis.get_path ();
ResolvePath::go (&path);
// Do we need to lookup something here?
// Is it just about resolving the names correctly so we can look them up
// later?
}
return true;
}
// Default visitors implementations
void
ResolverBase::visit (AST::Token &)
{}
void
ResolverBase::visit (AST::DelimTokenTree &)
{}
void
ResolverBase::visit (AST::AttrInputMetaItemContainer &)
{}
void
ResolverBase::visit (AST::IdentifierExpr &)
{}
void
ResolverBase::visit (AST::Lifetime &)
{}
void
ResolverBase::visit (AST::LifetimeParam &)
{}
void
ResolverBase::visit (AST::ConstGenericParam &)
{}
void
ResolverBase::visit (AST::PathInExpression &)
{}
void
ResolverBase::visit (AST::TypePathSegment &)
{}
void
ResolverBase::visit (AST::TypePathSegmentGeneric &)
{}
void
ResolverBase::visit (AST::TypePathSegmentFunction &)
{}
void
ResolverBase::visit (AST::TypePath &)
{}
void
ResolverBase::visit (AST::QualifiedPathInExpression &)
{}
void
ResolverBase::visit (AST::QualifiedPathInType &)
{}
void
ResolverBase::visit (AST::LiteralExpr &)
{}
void
ResolverBase::visit (AST::AttrInputLiteral &)
{}
void
ResolverBase::visit (AST::MetaItemLitExpr &)
{}
void
ResolverBase::visit (AST::MetaItemPathLit &)
{}
void
ResolverBase::visit (AST::BorrowExpr &)
{}
void
ResolverBase::visit (AST::DereferenceExpr &)
{}
void
ResolverBase::visit (AST::ErrorPropagationExpr &)
{}
void
ResolverBase::visit (AST::NegationExpr &)
{}
void
ResolverBase::visit (AST::ArithmeticOrLogicalExpr &)
{}
void
ResolverBase::visit (AST::ComparisonExpr &)
{}
void
ResolverBase::visit (AST::LazyBooleanExpr &)
{}
void
ResolverBase::visit (AST::TypeCastExpr &)
{}
void
ResolverBase::visit (AST::AssignmentExpr &)
{}
void
ResolverBase::visit (AST::CompoundAssignmentExpr &)
{}
void
ResolverBase::visit (AST::GroupedExpr &)
{}
void
ResolverBase::visit (AST::ArrayElemsValues &)
{}
void
ResolverBase::visit (AST::ArrayElemsCopied &)
{}
void
ResolverBase::visit (AST::ArrayExpr &)
{}
void
ResolverBase::visit (AST::ArrayIndexExpr &)
{}
void
ResolverBase::visit (AST::TupleExpr &)
{}
void
ResolverBase::visit (AST::TupleIndexExpr &)
{}
void
ResolverBase::visit (AST::StructExprStruct &)
{}
void
ResolverBase::visit (AST::StructExprFieldIdentifier &)
{}
void
ResolverBase::visit (AST::StructExprFieldIdentifierValue &)
{}
void
ResolverBase::visit (AST::StructExprFieldIndexValue &)
{}
void
ResolverBase::visit (AST::StructExprStructFields &)
{}
void
ResolverBase::visit (AST::StructExprStructBase &)
{}
void
ResolverBase::visit (AST::CallExpr &)
{}
void
ResolverBase::visit (AST::MethodCallExpr &)
{}
void
ResolverBase::visit (AST::FieldAccessExpr &)
{}
void
ResolverBase::visit (AST::ClosureExprInner &)
{}
void
ResolverBase::visit (AST::BlockExpr &)
{}
void
ResolverBase::visit (AST::ClosureExprInnerTyped &)
{}
void
ResolverBase::visit (AST::ContinueExpr &)
{}
void
ResolverBase::visit (AST::BreakExpr &)
{}
void
ResolverBase::visit (AST::RangeFromToExpr &)
{}
void
ResolverBase::visit (AST::RangeFromExpr &)
{}
void
ResolverBase::visit (AST::RangeToExpr &)
{}
void
ResolverBase::visit (AST::RangeFullExpr &)
{}
void
ResolverBase::visit (AST::RangeFromToInclExpr &)
{}
void
ResolverBase::visit (AST::RangeToInclExpr &)
{}
void
ResolverBase::visit (AST::ReturnExpr &)
{}
void
ResolverBase::visit (AST::UnsafeBlockExpr &)
{}
void
ResolverBase::visit (AST::LoopExpr &)
{}
void
ResolverBase::visit (AST::WhileLoopExpr &)
{}
void
ResolverBase::visit (AST::WhileLetLoopExpr &)
{}
void
ResolverBase::visit (AST::ForLoopExpr &)
{}
void
ResolverBase::visit (AST::IfExpr &)
{}
void
ResolverBase::visit (AST::IfExprConseqElse &)
{}
void
ResolverBase::visit (AST::IfExprConseqIf &)
{}
void
ResolverBase::visit (AST::IfExprConseqIfLet &)
{}
void
ResolverBase::visit (AST::IfLetExpr &)
{}
void
ResolverBase::visit (AST::IfLetExprConseqElse &)
{}
void
ResolverBase::visit (AST::IfLetExprConseqIf &)
{}
void
ResolverBase::visit (AST::IfLetExprConseqIfLet &)
{}
void
ResolverBase::visit (AST::MatchExpr &)
{}
void
ResolverBase::visit (AST::AwaitExpr &)
{}
void
ResolverBase::visit (AST::AsyncBlockExpr &)
{}
void
ResolverBase::visit (AST::TypeParam &)
{}
void
ResolverBase::visit (AST::LifetimeWhereClauseItem &)
{}
void
ResolverBase::visit (AST::TypeBoundWhereClauseItem &)
{}
void
ResolverBase::visit (AST::Method &)
{}
void
ResolverBase::visit (AST::Module &)
{}
void
ResolverBase::visit (AST::ExternCrate &)
{}
void
ResolverBase::visit (AST::UseTreeGlob &)
{}
void
ResolverBase::visit (AST::UseTreeList &)
{}
void
ResolverBase::visit (AST::UseTreeRebind &)
{}
void
ResolverBase::visit (AST::UseDeclaration &)
{}
void
ResolverBase::visit (AST::Function &)
{}
void
ResolverBase::visit (AST::TypeAlias &)
{}
void
ResolverBase::visit (AST::StructStruct &)
{}
void
ResolverBase::visit (AST::TupleStruct &)
{}
void
ResolverBase::visit (AST::EnumItem &)
{}
void
ResolverBase::visit (AST::EnumItemTuple &)
{}
void
ResolverBase::visit (AST::EnumItemStruct &)
{}
void
ResolverBase::visit (AST::EnumItemDiscriminant &)
{}
void
ResolverBase::visit (AST::Enum &)
{}
void
ResolverBase::visit (AST::Union &)
{}
void
ResolverBase::visit (AST::ConstantItem &)
{}
void
ResolverBase::visit (AST::StaticItem &)
{}
void
ResolverBase::visit (AST::TraitItemFunc &)
{}
void
ResolverBase::visit (AST::TraitItemMethod &)
{}
void
ResolverBase::visit (AST::TraitItemConst &)
{}
void
ResolverBase::visit (AST::TraitItemType &)
{}
void
ResolverBase::visit (AST::Trait &)
{}
void
ResolverBase::visit (AST::InherentImpl &)
{}
void
ResolverBase::visit (AST::TraitImpl &)
{}
void
ResolverBase::visit (AST::ExternalStaticItem &)
{}
void
ResolverBase::visit (AST::ExternalFunctionItem &)
{}
void
ResolverBase::visit (AST::ExternBlock &)
{}
void
ResolverBase::visit (AST::MacroMatchFragment &)
{}
void
ResolverBase::visit (AST::MacroMatchRepetition &)
{}
void
ResolverBase::visit (AST::MacroMatcher &)
{}
void
ResolverBase::visit (AST::MacroRulesDefinition &)
{}
void
ResolverBase::visit (AST::MacroInvocation &)
{}
void
ResolverBase::visit (AST::MetaItemPath &)
{}
void
ResolverBase::visit (AST::MetaItemSeq &)
{}
void
ResolverBase::visit (AST::MetaWord &)
{}
void
ResolverBase::visit (AST::MetaNameValueStr &)
{}
void
ResolverBase::visit (AST::MetaListPaths &)
{}
void
ResolverBase::visit (AST::MetaListNameValueStr &)
{}
void
ResolverBase::visit (AST::LiteralPattern &)
{}
void
ResolverBase::visit (AST::IdentifierPattern &)
{}
void
ResolverBase::visit (AST::WildcardPattern &)
{}
void
ResolverBase::visit (AST::RangePatternBoundLiteral &)
{}
void
ResolverBase::visit (AST::RangePatternBoundPath &)
{}
void
ResolverBase::visit (AST::RangePatternBoundQualPath &)
{}
void
ResolverBase::visit (AST::RangePattern &)
{}
void
ResolverBase::visit (AST::ReferencePattern &)
{}
void
ResolverBase::visit (AST::StructPatternFieldTuplePat &)
{}
void
ResolverBase::visit (AST::StructPatternFieldIdentPat &)
{}
void
ResolverBase::visit (AST::StructPatternFieldIdent &)
{}
void
ResolverBase::visit (AST::StructPattern &)
{}
void
ResolverBase::visit (AST::TupleStructItemsNoRange &)
{}
void
ResolverBase::visit (AST::TupleStructItemsRange &)
{}
void
ResolverBase::visit (AST::TupleStructPattern &)
{}
void
ResolverBase::visit (AST::TuplePatternItemsMultiple &)
{}
void
ResolverBase::visit (AST::TuplePatternItemsRanged &)
{}
void
ResolverBase::visit (AST::TuplePattern &)
{}
void
ResolverBase::visit (AST::GroupedPattern &)
{}
void
ResolverBase::visit (AST::SlicePattern &)
{}
void
ResolverBase::visit (AST::AltPattern &)
{}
void
ResolverBase::visit (AST::EmptyStmt &)
{}
void
ResolverBase::visit (AST::LetStmt &)
{}
void
ResolverBase::visit (AST::ExprStmtWithoutBlock &)
{}
void
ResolverBase::visit (AST::ExprStmtWithBlock &)
{}
void
ResolverBase::visit (AST::TraitBound &)
{}
void
ResolverBase::visit (AST::ImplTraitType &)
{}
void
ResolverBase::visit (AST::TraitObjectType &)
{}
void
ResolverBase::visit (AST::ParenthesisedType &)
{}
void
ResolverBase::visit (AST::ImplTraitTypeOneBound &)
{}
void
ResolverBase::visit (AST::TraitObjectTypeOneBound &)
{}
void
ResolverBase::visit (AST::TupleType &)
{}
void
ResolverBase::visit (AST::NeverType &)
{}
void
ResolverBase::visit (AST::RawPointerType &)
{}
void
ResolverBase::visit (AST::ReferenceType &)
{}
void
ResolverBase::visit (AST::ArrayType &)
{}
void
ResolverBase::visit (AST::SliceType &)
{}
void
ResolverBase::visit (AST::InferredType &)
{}
void
ResolverBase::visit (AST::BareFunctionType &)
{}
} // namespace Resolver
} // namespace Rust