Lines Matching refs:Matcher

41 class Matcher {  class
44 using MatchFn = bool(Matcher*);
51 static bool Mark(Matcher* matcher);
53 template <bool (Matcher::*Fn)()>
54 static bool Required(Matcher* matcher);
56 template <bool (Matcher::*Fn)()>
57 static bool Repeated(Matcher* matcher); // On match, returns to the mark.
66 explicit Matcher(const CodeItemDataAccessor* code_item) in Matcher() function in art::__anonab18f0a00111::Matcher
79 bool Matcher::Match(const CodeItemDataAccessor* code_item, MatchFn* const (&pattern)[size]) { in Match()
83 bool Matcher::Mark(Matcher* matcher) { in Mark()
89 template <bool (Matcher::*Fn)()>
90 bool Matcher::Required(Matcher* matcher) { in Required()
99 template <bool (Matcher::*Fn)()>
100 bool Matcher::Repeated(Matcher* matcher) { in Repeated()
112 bool Matcher::Opcode() { in Opcode()
117 bool Matcher::Const0() { in Const0()
123 bool Matcher::IPutOnThis() { in IPutOnThis()
129 bool Matcher::DoMatch(const CodeItemDataAccessor* code_item, MatchFn* const* pattern, size_t size) { in DoMatch()
130 Matcher matcher(code_item); in DoMatch()
282 static Matcher::MatchFn* const kConstructorPattern[] = { in DoAnalyseConstructor()
283 &Matcher::Mark, in DoAnalyseConstructor()
284 &Matcher::Repeated<&Matcher::Const0>, in DoAnalyseConstructor()
285 &Matcher::Required<&Matcher::Opcode<Instruction::INVOKE_DIRECT>>, in DoAnalyseConstructor()
286 &Matcher::Mark, in DoAnalyseConstructor()
287 &Matcher::Repeated<&Matcher::Const0>, in DoAnalyseConstructor()
288 &Matcher::Repeated<&Matcher::IPutOnThis>, in DoAnalyseConstructor()
289 &Matcher::Required<&Matcher::Opcode<Instruction::RETURN_VOID>>, in DoAnalyseConstructor()
299 !Matcher::Match(code_item, kConstructorPattern)) { in DoAnalyseConstructor()