25 switch (this->
kind()) {
26 case Symbol::Kind::kFunctionDeclaration:
27 return std::make_unique<FunctionReference>(
28 context,
pos, &this->as<FunctionDeclaration>());
30 case Symbol::Kind::kVariable: {
31 const Variable* var = &this->as<Variable>();
36 const FieldSymbol* field = &this->as<FieldSymbol>();
43 FieldAccess::OwnerKind::kAnonymousInterfaceBlock);
#define SkDEBUGFAILF(fmt,...)
static std::unique_ptr< Expression > Make(const Context &context, Position pos, std::unique_ptr< Expression > base, int fieldIndex, OwnerKind ownerKind=OwnerKind::kDefault)
const Variable & owner() const
std::unique_ptr< Expression > instantiate(const Context &context, Position pos) const
static std::unique_ptr< TypeReference > Convert(const Context &context, Position pos, const Type *type)
static std::unique_ptr< Expression > Make(Position pos, const Variable *variable, RefKind refKind=RefKind::kRead)