Shopify / liquid-c

Liquid performance extension in C.
MIT License
120 stars 25 forks source link

Respect disable_liquid_c_nodes when parsing expressions #154

Closed dylanahsmith closed 3 years ago

dylanahsmith commented 3 years ago

@samdoiron pointed out that I hadn't gotten around to having expression parsing respect the disable_liquid_c_nodes: true parse option. This can be problematic when parsing liquid for some type of static analysis in the same program that also uses liquid-c, since it prevents liquid-c from being dynamically disabled just for that static analysis.

I had already made the necessary change to liquid in https://github.com/shopify/liquid/pull/1333 so that expressions could be parsed through the parse context. This PR makes the corresponding liquid-c change that overrides Liquid::ParseContext#parse_expression to make using Liquid::C::Expression conditional on the presence of the disable_liquid_c_nodes parse option.