#ifndef __tree_sitter_spec_helper_h__ #define __tree_sitter_spec_helper_h__ #include "bandit/bandit.h" #include "stream_methods.h" #include #include "grammar.h" using namespace tree_sitter; using namespace std; using namespace bandit; #define START_TEST go_bandit([]() { #define END_TEST }); namespace snowhouse { template struct EqualsPointerConstraint : Expression> { EqualsPointerConstraint(const ExpectedType& expected) : expected(expected) {} template bool operator()(const ActualType& actual) const { return *expected == *actual; } ExpectedType expected; }; template struct Stringizer> { static string ToString(const EqualsPointerConstraint& constraint) { ostringstream builder; builder << "pointer to " << snowhouse::Stringize(constraint.expected); return builder.str(); } }; template inline EqualsPointerConstraint EqualsPointer(const ExpectedType& expected) { return EqualsPointerConstraint(expected); } } string src_dir(); #endif