Home | History | Annotate | Download | only in yarr

Lines Matching refs:alternative

527             PatternAlternative* alternative = parenthesesDisjunction->addNewAlternative();
531 PatternDisjunction* newDisjunction = new PatternDisjunction(alternative);
533 alternative->m_terms.append(PatternTerm(PatternTerm::TypeParenthesesSubpattern, subpatternId, newDisjunction, false, false));
537 PatternTerm& disjunctionTerm = alternative->lastTerm();
540 alternative->m_containsBOL = m_alternative->m_containsBOL;
541 alternative->m_startsWithBOL = m_alternative->m_startsWithBOL;
579 PatternAlternative* alternative = disjunction->m_alternatives[alt];
580 if (!filterStartsWithBOL || !alternative->m_startsWithBOL) {
586 for (unsigned i = 0; i < alternative->m_terms.size(); ++i)
587 newAlternative->m_terms.append(copyTerm(alternative->m_terms[i], filterStartsWithBOL));
650 unsigned setupAlternativeOffsets(PatternAlternative* alternative, unsigned currentCallFrameSize, unsigned initialInputPosition)
652 alternative->m_hasFixedSize = true;
655 for (unsigned i = 0; i < alternative->m_terms.size(); ++i) {
656 PatternTerm& term = alternative->m_terms[i];
669 alternative->m_hasFixedSize = false;
680 alternative->m_hasFixedSize = false;
690 alternative->m_hasFixedSize = false;
716 alternative->m_hasFixedSize = false;
727 alternative->m_minimumSize = currentInputPosition - initialInputPosition;
741 PatternAlternative* alternative = disjunction->m_alternatives[alt];
742 unsigned currentAlternativeCallFrameSize = setupAlternativeOffsets(alternative, initialCallFrameSize, initialInputPosition);
743 minimumInputSize = min(minimumInputSize, alternative->m_minimumSize);
745 hasFixedSize &= alternative->m_hasFixedSize;
823 PatternAlternative* alternative = disjunction->m_alternatives[alt];
825 if (!setupAlternativeBeginTerms(alternative, beginTerms, 0, depth))
832 bool setupAlternativeBeginTerms(PatternAlternative* alternative, Vector<TermChain>* beginTerms, unsigned termIndex, unsigned depth)
835 unsigned numTerms = alternative->m_terms.size();
838 PatternTerm term = alternative->m_terms[termIndex];
859 if (!setupAlternativeBeginTerms(alternative, &beginTerms->last().hotTerms, termIndex + 1, depth + 1))