Lines Matching defs:context
23 virtual const Type* type(const Context& context) const = 0;
24 virtual std::unique_ptr<Expression> value(const Context& context) const = 0;
33 const Type* type(const Context& context) const override {
34 return context.fTypes.fBool.get();
36 std::unique_ptr<Expression> value(const Context& context) const override {
37 return Literal::MakeBool(context, /*line=*/-1, (context.fCaps.*fGetCap)());
50 const Type* type(const Context& context) const override {
51 return context.fTypes.fInt.get();
53 std::unique_ptr<Expression> value(const Context& context) const override {
54 return Literal::MakeInt(context, /*line=*/-1, (context.fCaps.*fGetCap)());
107 static const Type* get_type(const Context& context, int line, skstd::string_view name) {
109 return caps->type(context);
112 context.fErrors->error(line, "unknown capability flag '" + name + "'");
116 static std::unique_ptr<Expression> get_value(const Context& context, int line,
119 return caps->value(context);
122 context.fErrors->error(line, "unknown capability flag '" + name + "'");
126 std::unique_ptr<Expression> Setting::Convert(const Context& context, int line,
128 SkASSERT(context.fConfig);
130 if (context.fConfig->fSettings.fReplaceSettings) {
132 return get_value(context, line, name);
136 const Type* type = get_type(context, line, name);