/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ #pragma once #include "atn/DecisionEventInfo.h" namespace antlr4 { namespace atn { /// /// This class represents profiling event information for a context sensitivity. /// Context sensitivities are decisions where a particular input resulted in an /// SLL conflict, but LL prediction produced a single unique alternative. /// /// /// In some cases, the unique alternative identified by LL prediction is not /// equal to the minimum represented alternative in the conflicting SLL /// configuration set. Grammars and inputs which result in this scenario are /// unable to use , which in turn means they cannot use /// the two-stage parsing strategy to improve parsing performance for that /// input. /// /// /// class ANTLR4CPP_PUBLIC ContextSensitivityInfo : public DecisionEventInfo { public: /// /// Constructs a new instance of the class /// with the specified detailed context sensitivity information. /// /// The decision number /// The final configuration set containing the unique /// alternative identified by full-context prediction /// The input token stream /// The start index for the current prediction /// The index at which the context sensitivity was /// identified during full-context prediction ContextSensitivityInfo(size_t decision, ATNConfigSet *configs, TokenStream *input, size_t startIndex, size_t stopIndex); }; } // namespace atn } // namespace antlr4