void FunctionType::accept0 (TypeVisitor *v) const { TYPE_D(FunctionType); if (v->visit (this)) { acceptType (d->m_returnType.abstractType(), v); for (unsigned int i = 0; i < d->m_argumentsSize (); ++i) acceptType (d->m_arguments()[i].abstractType(), v); } v->endVisit (this); }
bool FilterItem::acceptCardAttr(const CardInfo *info, CardFilter::Attr attr) const { bool status; switch (attr) { case CardFilter::AttrName: status = acceptName(info); break; case CardFilter::AttrType: status = acceptType(info); break; case CardFilter::AttrColor: status = acceptColor(info); break; case CardFilter::AttrText: status = acceptText(info); break; case CardFilter::AttrSet: status = acceptSet(info); break; case CardFilter::AttrManaCost: status = acceptManaCost(info); break; default: status = true; /* ignore this attribute */ } return status; }
void PointerType::accept0 (TypeVisitor *v) const { if (v->visit (this)) acceptType (d_func()->m_baseType.abstractType(), v); v->endVisit (this); }
// fully_specified_type // : type_specifier // | type_qualifier type_specifier // bool HlslGrammar::acceptFullySpecifiedType(TType& type) { // type_qualifier TQualifier qualifier; qualifier.clear(); acceptQualifier(qualifier); // type_specifier if (! acceptType(type)) return false; type.getQualifier() = qualifier; return true; }
// constructor // : type argument_list // bool HlslGrammar::acceptConstructor(TIntermTyped*& node) { // type TType type; if (acceptType(type)) { TFunction* constructorFunction = parseContext.handleConstructorCall(token.loc, type); if (constructorFunction == nullptr) return false; // arguments TIntermAggregate* arguments = nullptr; if (! acceptArguments(constructorFunction, arguments)) { expected("constructor arguments"); return false; } // hook it up node = parseContext.handleFunctionCall(arguments->getLoc(), constructorFunction, arguments); return true; } return false; }