llvm/clang/lib/AST/ByteCode/Function.cpp

//===--- Function.h - Bytecode function for the VM --------------*- C++ -*-===//
//
// 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
//
//===----------------------------------------------------------------------===//

#include "Function.h"
#include "Opcode.h"
#include "Program.h"
#include "clang/AST/Decl.h"
#include "clang/AST/DeclCXX.h"
#include "clang/Basic/Builtins.h"

usingnamespaceclang;
usingnamespaceclang::interp;

Function::Function(Program &P, FunctionDeclTy Source, unsigned ArgSize,
                   llvm::SmallVectorImpl<PrimType> &&ParamTypes,
                   llvm::DenseMap<unsigned, ParamDescriptor> &&Params,
                   llvm::SmallVectorImpl<unsigned> &&ParamOffsets,
                   bool HasThisPointer, bool HasRVO, unsigned BuiltinID)
    :{}

Function::ParamDescriptor Function::getParamDescriptor(unsigned Offset) const {}

SourceInfo Function::getSource(CodePtr PC) const {}

bool Function::isVirtual() const {}

/// Unevaluated builtins don't get their arguments put on the stack
/// automatically. They instead operate on the AST of their Call
/// Expression.
/// Similar information is available via ASTContext::BuiltinInfo,
/// but that is not correct for our use cases.
static bool isUnevaluatedBuiltin(unsigned BuiltinID) {}

bool Function::isUnevaluatedBuiltin() const {}