1283625Sdim//===- PDBSymbolTypeFunctionSig.h - function signature type info *- C++ -*-===// 2283625Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6283625Sdim// 7283625Sdim//===----------------------------------------------------------------------===// 8283625Sdim 9283625Sdim#ifndef LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEFUNCTIONSIG_H 10283625Sdim#define LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEFUNCTIONSIG_H 11283625Sdim 12283625Sdim#include "PDBSymbol.h" 13283625Sdim#include "PDBTypes.h" 14283625Sdim 15283625Sdimnamespace llvm { 16283625Sdim 17283625Sdimclass raw_ostream; 18309124Sdimnamespace pdb { 19283625Sdim 20283625Sdimclass PDBSymbolTypeFunctionSig : public PDBSymbol { 21344779Sdim DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::FunctionSig) 22283625Sdimpublic: 23283625Sdim std::unique_ptr<IPDBEnumSymbols> getArguments() const; 24283625Sdim 25283625Sdim void dump(PDBSymDumper &Dumper) const override; 26321369Sdim void dumpRight(PDBSymDumper &Dumper) const override; 27283625Sdim void dumpArgList(raw_ostream &OS) const; 28283625Sdim 29341825Sdim bool isCVarArgs() const; 30341825Sdim 31283625Sdim FORWARD_SYMBOL_METHOD(getCallingConvention) 32321369Sdim FORWARD_SYMBOL_ID_METHOD(getClassParent) 33321369Sdim FORWARD_SYMBOL_ID_METHOD(getUnmodifiedType) 34283625Sdim FORWARD_SYMBOL_METHOD(isConstType) 35283625Sdim FORWARD_SYMBOL_METHOD(getCount) 36321369Sdim FORWARD_SYMBOL_ID_METHOD(getLexicalParent) 37283625Sdim // FORWARD_SYMBOL_METHOD(getObjectPointerType) 38283625Sdim FORWARD_SYMBOL_METHOD(getThisAdjust) 39321369Sdim FORWARD_SYMBOL_ID_METHOD_WITH_NAME(getType, getReturnType) 40283625Sdim FORWARD_SYMBOL_METHOD(isUnalignedType) 41283625Sdim FORWARD_SYMBOL_METHOD(isVolatileType) 42283625Sdim}; 43283625Sdim 44283625Sdim} // namespace llvm 45309124Sdim} 46283625Sdim 47283625Sdim#endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLTYPEFUNCTIONSIG_H 48