/* 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