/*
 * This file was auto-generated by speedy-antlr-tool v1.4.3
 *  https://github.com/amykyta3/speedy-antlr-tool
 */

#include "sa_fandango_translator.h"


SA_FandangoTranslator::SA_FandangoTranslator(speedy_antlr::Translator *translator) {
    this->translator = translator;
}

SA_FandangoTranslator::~SA_FandangoTranslator() {
    Py_XDECREF(FandangoContext_cls);
    Py_XDECREF(ProgramContext_cls);
    Py_XDECREF(StatementContext_cls);
    Py_XDECREF(ProductionContext_cls);
    Py_XDECREF(AlternativeContext_cls);
    Py_XDECREF(ConcatenationContext_cls);
    Py_XDECREF(OperatorContext_cls);
    Py_XDECREF(KleeneContext_cls);
    Py_XDECREF(PlusContext_cls);
    Py_XDECREF(OptionContext_cls);
    Py_XDECREF(RepeatContext_cls);
    Py_XDECREF(SymbolContext_cls);
    Py_XDECREF(Nonterminal_rightContext_cls);
    Py_XDECREF(NonterminalContext_cls);
    Py_XDECREF(Generator_callContext_cls);
    Py_XDECREF(Char_setContext_cls);
    Py_XDECREF(ConstraintContext_cls);
    Py_XDECREF(ImpliesContext_cls);
    Py_XDECREF(QuantifierContext_cls);
    Py_XDECREF(Quantifier_in_lineContext_cls);
    Py_XDECREF(Formula_disjunctionContext_cls);
    Py_XDECREF(Formula_conjunctionContext_cls);
    Py_XDECREF(Formula_atomContext_cls);
    Py_XDECREF(Formula_comparisonContext_cls);
    Py_XDECREF(ExprContext_cls);
    Py_XDECREF(Selector_lengthContext_cls);
    Py_XDECREF(Star_selection_or_dot_selectionContext_cls);
    Py_XDECREF(Star_selectionContext_cls);
    Py_XDECREF(Dot_selectionContext_cls);
    Py_XDECREF(SelectionContext_cls);
    Py_XDECREF(Base_selectionContext_cls);
    Py_XDECREF(Rs_pairsContext_cls);
    Py_XDECREF(Rs_pairContext_cls);
    Py_XDECREF(Rs_slicesContext_cls);
    Py_XDECREF(Rs_sliceContext_cls);
    Py_XDECREF(PythonContext_cls);
    Py_XDECREF(Python_tagContext_cls);
    Py_XDECREF(Grammar_settingContext_cls);
    Py_XDECREF(Grammar_setting_contentContext_cls);
    Py_XDECREF(Grammar_selectorContext_cls);
    Py_XDECREF(Grammar_ruleContext_cls);
    Py_XDECREF(Grammar_setting_keyContext_cls);
    Py_XDECREF(Grammar_setting_valueContext_cls);
    Py_XDECREF(Python_fileContext_cls);
    Py_XDECREF(InteractiveContext_cls);
    Py_XDECREF(EvalContext_cls);
    Py_XDECREF(Func_typeContext_cls);
    Py_XDECREF(StatementsContext_cls);
    Py_XDECREF(StmtContext_cls);
    Py_XDECREF(Statement_newlineContext_cls);
    Py_XDECREF(Simple_stmtsContext_cls);
    Py_XDECREF(Simple_stmtContext_cls);
    Py_XDECREF(Compound_stmtContext_cls);
    Py_XDECREF(AssignmentContext_cls);
    Py_XDECREF(Annotated_rhsContext_cls);
    Py_XDECREF(AugassignContext_cls);
    Py_XDECREF(Return_stmtContext_cls);
    Py_XDECREF(Raise_stmtContext_cls);
    Py_XDECREF(Global_stmtContext_cls);
    Py_XDECREF(Nonlocal_stmtContext_cls);
    Py_XDECREF(Del_stmtContext_cls);
    Py_XDECREF(Yield_stmtContext_cls);
    Py_XDECREF(Assert_stmtContext_cls);
    Py_XDECREF(Import_stmtContext_cls);
    Py_XDECREF(Import_nameContext_cls);
    Py_XDECREF(Import_fromContext_cls);
    Py_XDECREF(Import_from_targetsContext_cls);
    Py_XDECREF(Import_from_as_namesContext_cls);
    Py_XDECREF(Import_from_as_nameContext_cls);
    Py_XDECREF(Dotted_as_namesContext_cls);
    Py_XDECREF(Dotted_as_nameContext_cls);
    Py_XDECREF(Dotted_nameContext_cls);
    Py_XDECREF(BlockContext_cls);
    Py_XDECREF(DecoratorsContext_cls);
    Py_XDECREF(Class_defContext_cls);
    Py_XDECREF(Class_def_rawContext_cls);
    Py_XDECREF(Function_defContext_cls);
    Py_XDECREF(Function_def_rawContext_cls);
    Py_XDECREF(ParamsContext_cls);
    Py_XDECREF(ParametersContext_cls);
    Py_XDECREF(Slash_no_defaultContext_cls);
    Py_XDECREF(Slash_with_defaultContext_cls);
    Py_XDECREF(Star_etcContext_cls);
    Py_XDECREF(KwdsContext_cls);
    Py_XDECREF(Param_no_defaultContext_cls);
    Py_XDECREF(Param_no_default_star_annotationContext_cls);
    Py_XDECREF(Param_with_defaultContext_cls);
    Py_XDECREF(Param_maybe_defaultContext_cls);
    Py_XDECREF(ParamContext_cls);
    Py_XDECREF(Param_star_annotationContext_cls);
    Py_XDECREF(AnnotationContext_cls);
    Py_XDECREF(Star_annotationContext_cls);
    Py_XDECREF(DefaultContext_cls);
    Py_XDECREF(If_stmtContext_cls);
    Py_XDECREF(Elif_stmtContext_cls);
    Py_XDECREF(Else_blockContext_cls);
    Py_XDECREF(While_stmtContext_cls);
    Py_XDECREF(For_stmtContext_cls);
    Py_XDECREF(With_stmtContext_cls);
    Py_XDECREF(With_itemContext_cls);
    Py_XDECREF(Try_stmtContext_cls);
    Py_XDECREF(Except_blockContext_cls);
    Py_XDECREF(Except_star_blockContext_cls);
    Py_XDECREF(Finally_blockContext_cls);
    Py_XDECREF(Match_stmtContext_cls);
    Py_XDECREF(Subject_exprContext_cls);
    Py_XDECREF(Case_blockContext_cls);
    Py_XDECREF(GuardContext_cls);
    Py_XDECREF(PatternsContext_cls);
    Py_XDECREF(PatternContext_cls);
    Py_XDECREF(As_patternContext_cls);
    Py_XDECREF(Or_patternContext_cls);
    Py_XDECREF(Closed_patternContext_cls);
    Py_XDECREF(Literal_patternContext_cls);
    Py_XDECREF(Literal_exprContext_cls);
    Py_XDECREF(Complex_numberContext_cls);
    Py_XDECREF(Signed_numberContext_cls);
    Py_XDECREF(Signed_real_numberContext_cls);
    Py_XDECREF(Real_numberContext_cls);
    Py_XDECREF(Imaginary_numberContext_cls);
    Py_XDECREF(Capture_patternContext_cls);
    Py_XDECREF(Pattern_capture_targetContext_cls);
    Py_XDECREF(Wildcard_patternContext_cls);
    Py_XDECREF(Value_patternContext_cls);
    Py_XDECREF(AttrContext_cls);
    Py_XDECREF(Name_or_attrContext_cls);
    Py_XDECREF(Group_patternContext_cls);
    Py_XDECREF(Sequence_patternContext_cls);
    Py_XDECREF(Open_sequence_patternContext_cls);
    Py_XDECREF(Maybe_sequence_patternContext_cls);
    Py_XDECREF(Maybe_star_patternContext_cls);
    Py_XDECREF(Star_patternContext_cls);
    Py_XDECREF(Mapping_patternContext_cls);
    Py_XDECREF(Items_patternContext_cls);
    Py_XDECREF(Key_value_patternContext_cls);
    Py_XDECREF(Double_star_patternContext_cls);
    Py_XDECREF(Class_patternContext_cls);
    Py_XDECREF(Positional_patternsContext_cls);
    Py_XDECREF(Keyword_patternsContext_cls);
    Py_XDECREF(Keyword_patternContext_cls);
    Py_XDECREF(Type_aliasContext_cls);
    Py_XDECREF(Type_paramsContext_cls);
    Py_XDECREF(Type_param_seqContext_cls);
    Py_XDECREF(Type_paramContext_cls);
    Py_XDECREF(Type_param_boundContext_cls);
    Py_XDECREF(ExpressionsContext_cls);
    Py_XDECREF(ExpressionContext_cls);
    Py_XDECREF(Yield_exprContext_cls);
    Py_XDECREF(Star_expressionsContext_cls);
    Py_XDECREF(Star_expressionContext_cls);
    Py_XDECREF(Star_named_expressionsContext_cls);
    Py_XDECREF(Star_named_expressionContext_cls);
    Py_XDECREF(Assignment_expressionContext_cls);
    Py_XDECREF(Named_expressionContext_cls);
    Py_XDECREF(DisjunctionContext_cls);
    Py_XDECREF(ConjunctionContext_cls);
    Py_XDECREF(InversionContext_cls);
    Py_XDECREF(ComparisonContext_cls);
    Py_XDECREF(Compare_op_bitwise_or_pairContext_cls);
    Py_XDECREF(Eq_bitwise_orContext_cls);
    Py_XDECREF(Noteq_bitwise_orContext_cls);
    Py_XDECREF(Lte_bitwise_orContext_cls);
    Py_XDECREF(Lt_bitwise_orContext_cls);
    Py_XDECREF(Gte_bitwise_orContext_cls);
    Py_XDECREF(Gt_bitwise_orContext_cls);
    Py_XDECREF(Notin_bitwise_orContext_cls);
    Py_XDECREF(In_bitwise_orContext_cls);
    Py_XDECREF(Isnot_bitwise_orContext_cls);
    Py_XDECREF(Is_bitwise_orContext_cls);
    Py_XDECREF(Bitwise_orContext_cls);
    Py_XDECREF(Bitwise_xorContext_cls);
    Py_XDECREF(Bitwise_andContext_cls);
    Py_XDECREF(Shift_exprContext_cls);
    Py_XDECREF(SumContext_cls);
    Py_XDECREF(TermContext_cls);
    Py_XDECREF(FactorContext_cls);
    Py_XDECREF(PowerContext_cls);
    Py_XDECREF(Await_primaryContext_cls);
    Py_XDECREF(PrimaryContext_cls);
    Py_XDECREF(SlicesContext_cls);
    Py_XDECREF(SliceContext_cls);
    Py_XDECREF(AtomContext_cls);
    Py_XDECREF(GroupContext_cls);
    Py_XDECREF(LambdefContext_cls);
    Py_XDECREF(Lambda_paramsContext_cls);
    Py_XDECREF(Lambda_parametersContext_cls);
    Py_XDECREF(Lambda_slash_no_defaultContext_cls);
    Py_XDECREF(Lambda_slash_with_defaultContext_cls);
    Py_XDECREF(Lambda_star_etcContext_cls);
    Py_XDECREF(Lambda_kwdsContext_cls);
    Py_XDECREF(Lambda_param_no_defaultContext_cls);
    Py_XDECREF(Lambda_param_with_defaultContext_cls);
    Py_XDECREF(Lambda_param_maybe_defaultContext_cls);
    Py_XDECREF(Lambda_paramContext_cls);
    Py_XDECREF(Fstring_middle_no_quoteContext_cls);
    Py_XDECREF(Fstring_middle_no_single_quoteContext_cls);
    Py_XDECREF(Fstring_middle_breaks_no_triple_quoteContext_cls);
    Py_XDECREF(Fstring_middle_breaks_no_triple_single_quoteContext_cls);
    Py_XDECREF(Fstring_any_no_quoteContext_cls);
    Py_XDECREF(Fstring_any_no_single_quoteContext_cls);
    Py_XDECREF(Fstring_middleContext_cls);
    Py_XDECREF(Fstring_any_breaks_no_triple_quoteContext_cls);
    Py_XDECREF(Fstring_any_breaks_no_triple_single_quoteContext_cls);
    Py_XDECREF(Fstring_anyContext_cls);
    Py_XDECREF(Fstring_replacement_fieldContext_cls);
    Py_XDECREF(Fstring_conversionContext_cls);
    Py_XDECREF(Fstring_full_format_specContext_cls);
    Py_XDECREF(Fstring_format_specContext_cls);
    Py_XDECREF(FstringContext_cls);
    Py_XDECREF(StringContext_cls);
    Py_XDECREF(StringsContext_cls);
    Py_XDECREF(ListContext_cls);
    Py_XDECREF(TupleContext_cls);
    Py_XDECREF(SetContext_cls);
    Py_XDECREF(DictContext_cls);
    Py_XDECREF(Double_starred_kvpairsContext_cls);
    Py_XDECREF(Double_starred_kvpairContext_cls);
    Py_XDECREF(KvpairContext_cls);
    Py_XDECREF(For_if_clausesContext_cls);
    Py_XDECREF(For_if_clauseContext_cls);
    Py_XDECREF(ListcompContext_cls);
    Py_XDECREF(SetcompContext_cls);
    Py_XDECREF(GenexpContext_cls);
    Py_XDECREF(DictcompContext_cls);
    Py_XDECREF(ArgumentsContext_cls);
    Py_XDECREF(ArgsContext_cls);
    Py_XDECREF(ArgContext_cls);
    Py_XDECREF(KwargsContext_cls);
    Py_XDECREF(Starred_expressionContext_cls);
    Py_XDECREF(Kwarg_or_starredContext_cls);
    Py_XDECREF(Kwarg_or_double_starredContext_cls);
    Py_XDECREF(Star_targetsContext_cls);
    Py_XDECREF(Star_targets_list_seqContext_cls);
    Py_XDECREF(Star_targets_tuple_seqContext_cls);
    Py_XDECREF(Star_targetContext_cls);
    Py_XDECREF(Target_with_star_atomContext_cls);
    Py_XDECREF(Star_atomContext_cls);
    Py_XDECREF(Single_targetContext_cls);
    Py_XDECREF(Single_subscript_attribute_targetContext_cls);
    Py_XDECREF(T_primaryContext_cls);
    Py_XDECREF(Del_targetsContext_cls);
    Py_XDECREF(Del_targetContext_cls);
    Py_XDECREF(Del_t_atomContext_cls);
    Py_XDECREF(Type_expressionsContext_cls);
    Py_XDECREF(Func_type_commentContext_cls);
    Py_XDECREF(IdentifierContext_cls);
}


antlrcpp::Any SA_FandangoTranslator::visitFandango(FandangoParser::FandangoContext *ctx){
    if(!FandangoContext_cls) FandangoContext_cls = PyObject_GetAttrString(translator->parser_cls, "FandangoContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, FandangoContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitProgram(FandangoParser::ProgramContext *ctx){
    if(!ProgramContext_cls) ProgramContext_cls = PyObject_GetAttrString(translator->parser_cls, "ProgramContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ProgramContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStatement(FandangoParser::StatementContext *ctx){
    if(!StatementContext_cls) StatementContext_cls = PyObject_GetAttrString(translator->parser_cls, "StatementContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, StatementContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitProduction(FandangoParser::ProductionContext *ctx){
    if(!ProductionContext_cls) ProductionContext_cls = PyObject_GetAttrString(translator->parser_cls, "ProductionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ProductionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAlternative(FandangoParser::AlternativeContext *ctx){
    if(!AlternativeContext_cls) AlternativeContext_cls = PyObject_GetAttrString(translator->parser_cls, "AlternativeContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AlternativeContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitConcatenation(FandangoParser::ConcatenationContext *ctx){
    if(!ConcatenationContext_cls) ConcatenationContext_cls = PyObject_GetAttrString(translator->parser_cls, "ConcatenationContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ConcatenationContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitOperator(FandangoParser::OperatorContext *ctx){
    if(!OperatorContext_cls) OperatorContext_cls = PyObject_GetAttrString(translator->parser_cls, "OperatorContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, OperatorContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKleene(FandangoParser::KleeneContext *ctx){
    if(!KleeneContext_cls) KleeneContext_cls = PyObject_GetAttrString(translator->parser_cls, "KleeneContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, KleeneContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPlus(FandangoParser::PlusContext *ctx){
    if(!PlusContext_cls) PlusContext_cls = PyObject_GetAttrString(translator->parser_cls, "PlusContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PlusContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitOption(FandangoParser::OptionContext *ctx){
    if(!OptionContext_cls) OptionContext_cls = PyObject_GetAttrString(translator->parser_cls, "OptionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, OptionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRepeat(FandangoParser::RepeatContext *ctx){
    if(!RepeatContext_cls) RepeatContext_cls = PyObject_GetAttrString(translator->parser_cls, "RepeatContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, RepeatContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSymbol(FandangoParser::SymbolContext *ctx){
    if(!SymbolContext_cls) SymbolContext_cls = PyObject_GetAttrString(translator->parser_cls, "SymbolContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SymbolContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNonterminal_right(FandangoParser::Nonterminal_rightContext *ctx){
    if(!Nonterminal_rightContext_cls) Nonterminal_rightContext_cls = PyObject_GetAttrString(translator->parser_cls, "Nonterminal_rightContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Nonterminal_rightContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNonterminal(FandangoParser::NonterminalContext *ctx){
    if(!NonterminalContext_cls) NonterminalContext_cls = PyObject_GetAttrString(translator->parser_cls, "NonterminalContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, NonterminalContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGenerator_call(FandangoParser::Generator_callContext *ctx){
    if(!Generator_callContext_cls) Generator_callContext_cls = PyObject_GetAttrString(translator->parser_cls, "Generator_callContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Generator_callContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitChar_set(FandangoParser::Char_setContext *ctx){
    if(!Char_setContext_cls) Char_setContext_cls = PyObject_GetAttrString(translator->parser_cls, "Char_setContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Char_setContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitConstraint(FandangoParser::ConstraintContext *ctx){
    if(!ConstraintContext_cls) ConstraintContext_cls = PyObject_GetAttrString(translator->parser_cls, "ConstraintContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ConstraintContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImplies(FandangoParser::ImpliesContext *ctx){
    if(!ImpliesContext_cls) ImpliesContext_cls = PyObject_GetAttrString(translator->parser_cls, "ImpliesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ImpliesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitQuantifier(FandangoParser::QuantifierContext *ctx){
    if(!QuantifierContext_cls) QuantifierContext_cls = PyObject_GetAttrString(translator->parser_cls, "QuantifierContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, QuantifierContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitQuantifier_in_line(FandangoParser::Quantifier_in_lineContext *ctx){
    if(!Quantifier_in_lineContext_cls) Quantifier_in_lineContext_cls = PyObject_GetAttrString(translator->parser_cls, "Quantifier_in_lineContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Quantifier_in_lineContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFormula_disjunction(FandangoParser::Formula_disjunctionContext *ctx){
    if(!Formula_disjunctionContext_cls) Formula_disjunctionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Formula_disjunctionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Formula_disjunctionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFormula_conjunction(FandangoParser::Formula_conjunctionContext *ctx){
    if(!Formula_conjunctionContext_cls) Formula_conjunctionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Formula_conjunctionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Formula_conjunctionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFormula_atom(FandangoParser::Formula_atomContext *ctx){
    if(!Formula_atomContext_cls) Formula_atomContext_cls = PyObject_GetAttrString(translator->parser_cls, "Formula_atomContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Formula_atomContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFormula_comparison(FandangoParser::Formula_comparisonContext *ctx){
    if(!Formula_comparisonContext_cls) Formula_comparisonContext_cls = PyObject_GetAttrString(translator->parser_cls, "Formula_comparisonContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Formula_comparisonContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitExpr(FandangoParser::ExprContext *ctx){
    if(!ExprContext_cls) ExprContext_cls = PyObject_GetAttrString(translator->parser_cls, "ExprContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ExprContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSelector_length(FandangoParser::Selector_lengthContext *ctx){
    if(!Selector_lengthContext_cls) Selector_lengthContext_cls = PyObject_GetAttrString(translator->parser_cls, "Selector_lengthContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Selector_lengthContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_selection_or_dot_selection(FandangoParser::Star_selection_or_dot_selectionContext *ctx){
    if(!Star_selection_or_dot_selectionContext_cls) Star_selection_or_dot_selectionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_selection_or_dot_selectionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_selection_or_dot_selectionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_selection(FandangoParser::Star_selectionContext *ctx){
    if(!Star_selectionContext_cls) Star_selectionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_selectionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_selectionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDot_selection(FandangoParser::Dot_selectionContext *ctx){
    if(!Dot_selectionContext_cls) Dot_selectionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Dot_selectionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Dot_selectionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSelection(FandangoParser::SelectionContext *ctx){
    if(!SelectionContext_cls) SelectionContext_cls = PyObject_GetAttrString(translator->parser_cls, "SelectionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SelectionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitBase_selection(FandangoParser::Base_selectionContext *ctx){
    if(!Base_selectionContext_cls) Base_selectionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Base_selectionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Base_selectionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRs_pairs(FandangoParser::Rs_pairsContext *ctx){
    if(!Rs_pairsContext_cls) Rs_pairsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Rs_pairsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Rs_pairsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRs_pair(FandangoParser::Rs_pairContext *ctx){
    if(!Rs_pairContext_cls) Rs_pairContext_cls = PyObject_GetAttrString(translator->parser_cls, "Rs_pairContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Rs_pairContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRs_slices(FandangoParser::Rs_slicesContext *ctx){
    if(!Rs_slicesContext_cls) Rs_slicesContext_cls = PyObject_GetAttrString(translator->parser_cls, "Rs_slicesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Rs_slicesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRs_slice(FandangoParser::Rs_sliceContext *ctx){
    if(!Rs_sliceContext_cls) Rs_sliceContext_cls = PyObject_GetAttrString(translator->parser_cls, "Rs_sliceContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Rs_sliceContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPython(FandangoParser::PythonContext *ctx){
    if(!PythonContext_cls) PythonContext_cls = PyObject_GetAttrString(translator->parser_cls, "PythonContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PythonContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPython_tag(FandangoParser::Python_tagContext *ctx){
    if(!Python_tagContext_cls) Python_tagContext_cls = PyObject_GetAttrString(translator->parser_cls, "Python_tagContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Python_tagContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_setting(FandangoParser::Grammar_settingContext *ctx){
    if(!Grammar_settingContext_cls) Grammar_settingContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_settingContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_settingContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_setting_content(FandangoParser::Grammar_setting_contentContext *ctx){
    if(!Grammar_setting_contentContext_cls) Grammar_setting_contentContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_setting_contentContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_setting_contentContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_selector(FandangoParser::Grammar_selectorContext *ctx){
    if(!Grammar_selectorContext_cls) Grammar_selectorContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_selectorContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_selectorContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_rule(FandangoParser::Grammar_ruleContext *ctx){
    if(!Grammar_ruleContext_cls) Grammar_ruleContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_ruleContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_ruleContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_setting_key(FandangoParser::Grammar_setting_keyContext *ctx){
    if(!Grammar_setting_keyContext_cls) Grammar_setting_keyContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_setting_keyContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_setting_keyContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGrammar_setting_value(FandangoParser::Grammar_setting_valueContext *ctx){
    if(!Grammar_setting_valueContext_cls) Grammar_setting_valueContext_cls = PyObject_GetAttrString(translator->parser_cls, "Grammar_setting_valueContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Grammar_setting_valueContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPython_file(FandangoParser::Python_fileContext *ctx){
    if(!Python_fileContext_cls) Python_fileContext_cls = PyObject_GetAttrString(translator->parser_cls, "Python_fileContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Python_fileContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitInteractive(FandangoParser::InteractiveContext *ctx){
    if(!InteractiveContext_cls) InteractiveContext_cls = PyObject_GetAttrString(translator->parser_cls, "InteractiveContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, InteractiveContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitEval(FandangoParser::EvalContext *ctx){
    if(!EvalContext_cls) EvalContext_cls = PyObject_GetAttrString(translator->parser_cls, "EvalContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, EvalContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFunc_type(FandangoParser::Func_typeContext *ctx){
    if(!Func_typeContext_cls) Func_typeContext_cls = PyObject_GetAttrString(translator->parser_cls, "Func_typeContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Func_typeContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStatements(FandangoParser::StatementsContext *ctx){
    if(!StatementsContext_cls) StatementsContext_cls = PyObject_GetAttrString(translator->parser_cls, "StatementsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, StatementsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStmt(FandangoParser::StmtContext *ctx){
    if(!StmtContext_cls) StmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "StmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, StmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStatement_newline(FandangoParser::Statement_newlineContext *ctx){
    if(!Statement_newlineContext_cls) Statement_newlineContext_cls = PyObject_GetAttrString(translator->parser_cls, "Statement_newlineContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Statement_newlineContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSimple_stmts(FandangoParser::Simple_stmtsContext *ctx){
    if(!Simple_stmtsContext_cls) Simple_stmtsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Simple_stmtsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Simple_stmtsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSimple_stmt(FandangoParser::Simple_stmtContext *ctx){
    if(!Simple_stmtContext_cls) Simple_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Simple_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Simple_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitCompound_stmt(FandangoParser::Compound_stmtContext *ctx){
    if(!Compound_stmtContext_cls) Compound_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Compound_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Compound_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAssignment(FandangoParser::AssignmentContext *ctx){
    if(!AssignmentContext_cls) AssignmentContext_cls = PyObject_GetAttrString(translator->parser_cls, "AssignmentContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AssignmentContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAnnotated_rhs(FandangoParser::Annotated_rhsContext *ctx){
    if(!Annotated_rhsContext_cls) Annotated_rhsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Annotated_rhsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Annotated_rhsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAugassign(FandangoParser::AugassignContext *ctx){
    if(!AugassignContext_cls) AugassignContext_cls = PyObject_GetAttrString(translator->parser_cls, "AugassignContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AugassignContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitReturn_stmt(FandangoParser::Return_stmtContext *ctx){
    if(!Return_stmtContext_cls) Return_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Return_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Return_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitRaise_stmt(FandangoParser::Raise_stmtContext *ctx){
    if(!Raise_stmtContext_cls) Raise_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Raise_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Raise_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGlobal_stmt(FandangoParser::Global_stmtContext *ctx){
    if(!Global_stmtContext_cls) Global_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Global_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Global_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNonlocal_stmt(FandangoParser::Nonlocal_stmtContext *ctx){
    if(!Nonlocal_stmtContext_cls) Nonlocal_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Nonlocal_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Nonlocal_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDel_stmt(FandangoParser::Del_stmtContext *ctx){
    if(!Del_stmtContext_cls) Del_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Del_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Del_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitYield_stmt(FandangoParser::Yield_stmtContext *ctx){
    if(!Yield_stmtContext_cls) Yield_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Yield_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Yield_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAssert_stmt(FandangoParser::Assert_stmtContext *ctx){
    if(!Assert_stmtContext_cls) Assert_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Assert_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Assert_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_stmt(FandangoParser::Import_stmtContext *ctx){
    if(!Import_stmtContext_cls) Import_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_name(FandangoParser::Import_nameContext *ctx){
    if(!Import_nameContext_cls) Import_nameContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_nameContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_nameContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_from(FandangoParser::Import_fromContext *ctx){
    if(!Import_fromContext_cls) Import_fromContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_fromContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_fromContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_from_targets(FandangoParser::Import_from_targetsContext *ctx){
    if(!Import_from_targetsContext_cls) Import_from_targetsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_from_targetsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_from_targetsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_from_as_names(FandangoParser::Import_from_as_namesContext *ctx){
    if(!Import_from_as_namesContext_cls) Import_from_as_namesContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_from_as_namesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_from_as_namesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImport_from_as_name(FandangoParser::Import_from_as_nameContext *ctx){
    if(!Import_from_as_nameContext_cls) Import_from_as_nameContext_cls = PyObject_GetAttrString(translator->parser_cls, "Import_from_as_nameContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Import_from_as_nameContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDotted_as_names(FandangoParser::Dotted_as_namesContext *ctx){
    if(!Dotted_as_namesContext_cls) Dotted_as_namesContext_cls = PyObject_GetAttrString(translator->parser_cls, "Dotted_as_namesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Dotted_as_namesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDotted_as_name(FandangoParser::Dotted_as_nameContext *ctx){
    if(!Dotted_as_nameContext_cls) Dotted_as_nameContext_cls = PyObject_GetAttrString(translator->parser_cls, "Dotted_as_nameContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Dotted_as_nameContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDotted_name(FandangoParser::Dotted_nameContext *ctx){
    if(!Dotted_nameContext_cls) Dotted_nameContext_cls = PyObject_GetAttrString(translator->parser_cls, "Dotted_nameContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Dotted_nameContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitBlock(FandangoParser::BlockContext *ctx){
    if(!BlockContext_cls) BlockContext_cls = PyObject_GetAttrString(translator->parser_cls, "BlockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, BlockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDecorators(FandangoParser::DecoratorsContext *ctx){
    if(!DecoratorsContext_cls) DecoratorsContext_cls = PyObject_GetAttrString(translator->parser_cls, "DecoratorsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, DecoratorsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitClass_def(FandangoParser::Class_defContext *ctx){
    if(!Class_defContext_cls) Class_defContext_cls = PyObject_GetAttrString(translator->parser_cls, "Class_defContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Class_defContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitClass_def_raw(FandangoParser::Class_def_rawContext *ctx){
    if(!Class_def_rawContext_cls) Class_def_rawContext_cls = PyObject_GetAttrString(translator->parser_cls, "Class_def_rawContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Class_def_rawContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFunction_def(FandangoParser::Function_defContext *ctx){
    if(!Function_defContext_cls) Function_defContext_cls = PyObject_GetAttrString(translator->parser_cls, "Function_defContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Function_defContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFunction_def_raw(FandangoParser::Function_def_rawContext *ctx){
    if(!Function_def_rawContext_cls) Function_def_rawContext_cls = PyObject_GetAttrString(translator->parser_cls, "Function_def_rawContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Function_def_rawContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParams(FandangoParser::ParamsContext *ctx){
    if(!ParamsContext_cls) ParamsContext_cls = PyObject_GetAttrString(translator->parser_cls, "ParamsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ParamsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParameters(FandangoParser::ParametersContext *ctx){
    if(!ParametersContext_cls) ParametersContext_cls = PyObject_GetAttrString(translator->parser_cls, "ParametersContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ParametersContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSlash_no_default(FandangoParser::Slash_no_defaultContext *ctx){
    if(!Slash_no_defaultContext_cls) Slash_no_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Slash_no_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Slash_no_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSlash_with_default(FandangoParser::Slash_with_defaultContext *ctx){
    if(!Slash_with_defaultContext_cls) Slash_with_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Slash_with_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Slash_with_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_etc(FandangoParser::Star_etcContext *ctx){
    if(!Star_etcContext_cls) Star_etcContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_etcContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_etcContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKwds(FandangoParser::KwdsContext *ctx){
    if(!KwdsContext_cls) KwdsContext_cls = PyObject_GetAttrString(translator->parser_cls, "KwdsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, KwdsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam_no_default(FandangoParser::Param_no_defaultContext *ctx){
    if(!Param_no_defaultContext_cls) Param_no_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Param_no_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Param_no_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam_no_default_star_annotation(FandangoParser::Param_no_default_star_annotationContext *ctx){
    if(!Param_no_default_star_annotationContext_cls) Param_no_default_star_annotationContext_cls = PyObject_GetAttrString(translator->parser_cls, "Param_no_default_star_annotationContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Param_no_default_star_annotationContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam_with_default(FandangoParser::Param_with_defaultContext *ctx){
    if(!Param_with_defaultContext_cls) Param_with_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Param_with_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Param_with_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam_maybe_default(FandangoParser::Param_maybe_defaultContext *ctx){
    if(!Param_maybe_defaultContext_cls) Param_maybe_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Param_maybe_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Param_maybe_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam(FandangoParser::ParamContext *ctx){
    if(!ParamContext_cls) ParamContext_cls = PyObject_GetAttrString(translator->parser_cls, "ParamContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ParamContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitParam_star_annotation(FandangoParser::Param_star_annotationContext *ctx){
    if(!Param_star_annotationContext_cls) Param_star_annotationContext_cls = PyObject_GetAttrString(translator->parser_cls, "Param_star_annotationContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Param_star_annotationContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAnnotation(FandangoParser::AnnotationContext *ctx){
    if(!AnnotationContext_cls) AnnotationContext_cls = PyObject_GetAttrString(translator->parser_cls, "AnnotationContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AnnotationContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_annotation(FandangoParser::Star_annotationContext *ctx){
    if(!Star_annotationContext_cls) Star_annotationContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_annotationContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_annotationContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDefault(FandangoParser::DefaultContext *ctx){
    if(!DefaultContext_cls) DefaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "DefaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, DefaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitIf_stmt(FandangoParser::If_stmtContext *ctx){
    if(!If_stmtContext_cls) If_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "If_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, If_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitElif_stmt(FandangoParser::Elif_stmtContext *ctx){
    if(!Elif_stmtContext_cls) Elif_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Elif_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Elif_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitElse_block(FandangoParser::Else_blockContext *ctx){
    if(!Else_blockContext_cls) Else_blockContext_cls = PyObject_GetAttrString(translator->parser_cls, "Else_blockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Else_blockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitWhile_stmt(FandangoParser::While_stmtContext *ctx){
    if(!While_stmtContext_cls) While_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "While_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, While_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFor_stmt(FandangoParser::For_stmtContext *ctx){
    if(!For_stmtContext_cls) For_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "For_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, For_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitWith_stmt(FandangoParser::With_stmtContext *ctx){
    if(!With_stmtContext_cls) With_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "With_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, With_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitWith_item(FandangoParser::With_itemContext *ctx){
    if(!With_itemContext_cls) With_itemContext_cls = PyObject_GetAttrString(translator->parser_cls, "With_itemContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, With_itemContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitTry_stmt(FandangoParser::Try_stmtContext *ctx){
    if(!Try_stmtContext_cls) Try_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Try_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Try_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitExcept_block(FandangoParser::Except_blockContext *ctx){
    if(!Except_blockContext_cls) Except_blockContext_cls = PyObject_GetAttrString(translator->parser_cls, "Except_blockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Except_blockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitExcept_star_block(FandangoParser::Except_star_blockContext *ctx){
    if(!Except_star_blockContext_cls) Except_star_blockContext_cls = PyObject_GetAttrString(translator->parser_cls, "Except_star_blockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Except_star_blockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFinally_block(FandangoParser::Finally_blockContext *ctx){
    if(!Finally_blockContext_cls) Finally_blockContext_cls = PyObject_GetAttrString(translator->parser_cls, "Finally_blockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Finally_blockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitMatch_stmt(FandangoParser::Match_stmtContext *ctx){
    if(!Match_stmtContext_cls) Match_stmtContext_cls = PyObject_GetAttrString(translator->parser_cls, "Match_stmtContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Match_stmtContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSubject_expr(FandangoParser::Subject_exprContext *ctx){
    if(!Subject_exprContext_cls) Subject_exprContext_cls = PyObject_GetAttrString(translator->parser_cls, "Subject_exprContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Subject_exprContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitCase_block(FandangoParser::Case_blockContext *ctx){
    if(!Case_blockContext_cls) Case_blockContext_cls = PyObject_GetAttrString(translator->parser_cls, "Case_blockContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Case_blockContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGuard(FandangoParser::GuardContext *ctx){
    if(!GuardContext_cls) GuardContext_cls = PyObject_GetAttrString(translator->parser_cls, "GuardContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, GuardContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPatterns(FandangoParser::PatternsContext *ctx){
    if(!PatternsContext_cls) PatternsContext_cls = PyObject_GetAttrString(translator->parser_cls, "PatternsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PatternsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPattern(FandangoParser::PatternContext *ctx){
    if(!PatternContext_cls) PatternContext_cls = PyObject_GetAttrString(translator->parser_cls, "PatternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PatternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAs_pattern(FandangoParser::As_patternContext *ctx){
    if(!As_patternContext_cls) As_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "As_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, As_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitOr_pattern(FandangoParser::Or_patternContext *ctx){
    if(!Or_patternContext_cls) Or_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Or_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Or_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitClosed_pattern(FandangoParser::Closed_patternContext *ctx){
    if(!Closed_patternContext_cls) Closed_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Closed_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Closed_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLiteral_pattern(FandangoParser::Literal_patternContext *ctx){
    if(!Literal_patternContext_cls) Literal_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Literal_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Literal_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLiteral_expr(FandangoParser::Literal_exprContext *ctx){
    if(!Literal_exprContext_cls) Literal_exprContext_cls = PyObject_GetAttrString(translator->parser_cls, "Literal_exprContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Literal_exprContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitComplex_number(FandangoParser::Complex_numberContext *ctx){
    if(!Complex_numberContext_cls) Complex_numberContext_cls = PyObject_GetAttrString(translator->parser_cls, "Complex_numberContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Complex_numberContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSigned_number(FandangoParser::Signed_numberContext *ctx){
    if(!Signed_numberContext_cls) Signed_numberContext_cls = PyObject_GetAttrString(translator->parser_cls, "Signed_numberContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Signed_numberContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSigned_real_number(FandangoParser::Signed_real_numberContext *ctx){
    if(!Signed_real_numberContext_cls) Signed_real_numberContext_cls = PyObject_GetAttrString(translator->parser_cls, "Signed_real_numberContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Signed_real_numberContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitReal_number(FandangoParser::Real_numberContext *ctx){
    if(!Real_numberContext_cls) Real_numberContext_cls = PyObject_GetAttrString(translator->parser_cls, "Real_numberContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Real_numberContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitImaginary_number(FandangoParser::Imaginary_numberContext *ctx){
    if(!Imaginary_numberContext_cls) Imaginary_numberContext_cls = PyObject_GetAttrString(translator->parser_cls, "Imaginary_numberContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Imaginary_numberContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitCapture_pattern(FandangoParser::Capture_patternContext *ctx){
    if(!Capture_patternContext_cls) Capture_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Capture_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Capture_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPattern_capture_target(FandangoParser::Pattern_capture_targetContext *ctx){
    if(!Pattern_capture_targetContext_cls) Pattern_capture_targetContext_cls = PyObject_GetAttrString(translator->parser_cls, "Pattern_capture_targetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Pattern_capture_targetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitWildcard_pattern(FandangoParser::Wildcard_patternContext *ctx){
    if(!Wildcard_patternContext_cls) Wildcard_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Wildcard_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Wildcard_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitValue_pattern(FandangoParser::Value_patternContext *ctx){
    if(!Value_patternContext_cls) Value_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Value_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Value_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAttr(FandangoParser::AttrContext *ctx){
    if(!AttrContext_cls) AttrContext_cls = PyObject_GetAttrString(translator->parser_cls, "AttrContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AttrContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitName_or_attr(FandangoParser::Name_or_attrContext *ctx){
    if(!Name_or_attrContext_cls) Name_or_attrContext_cls = PyObject_GetAttrString(translator->parser_cls, "Name_or_attrContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Name_or_attrContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGroup_pattern(FandangoParser::Group_patternContext *ctx){
    if(!Group_patternContext_cls) Group_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Group_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Group_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSequence_pattern(FandangoParser::Sequence_patternContext *ctx){
    if(!Sequence_patternContext_cls) Sequence_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Sequence_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Sequence_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitOpen_sequence_pattern(FandangoParser::Open_sequence_patternContext *ctx){
    if(!Open_sequence_patternContext_cls) Open_sequence_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Open_sequence_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Open_sequence_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitMaybe_sequence_pattern(FandangoParser::Maybe_sequence_patternContext *ctx){
    if(!Maybe_sequence_patternContext_cls) Maybe_sequence_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Maybe_sequence_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Maybe_sequence_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitMaybe_star_pattern(FandangoParser::Maybe_star_patternContext *ctx){
    if(!Maybe_star_patternContext_cls) Maybe_star_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Maybe_star_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Maybe_star_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_pattern(FandangoParser::Star_patternContext *ctx){
    if(!Star_patternContext_cls) Star_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitMapping_pattern(FandangoParser::Mapping_patternContext *ctx){
    if(!Mapping_patternContext_cls) Mapping_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Mapping_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Mapping_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitItems_pattern(FandangoParser::Items_patternContext *ctx){
    if(!Items_patternContext_cls) Items_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Items_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Items_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKey_value_pattern(FandangoParser::Key_value_patternContext *ctx){
    if(!Key_value_patternContext_cls) Key_value_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Key_value_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Key_value_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDouble_star_pattern(FandangoParser::Double_star_patternContext *ctx){
    if(!Double_star_patternContext_cls) Double_star_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Double_star_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Double_star_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitClass_pattern(FandangoParser::Class_patternContext *ctx){
    if(!Class_patternContext_cls) Class_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Class_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Class_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPositional_patterns(FandangoParser::Positional_patternsContext *ctx){
    if(!Positional_patternsContext_cls) Positional_patternsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Positional_patternsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Positional_patternsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKeyword_patterns(FandangoParser::Keyword_patternsContext *ctx){
    if(!Keyword_patternsContext_cls) Keyword_patternsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Keyword_patternsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Keyword_patternsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKeyword_pattern(FandangoParser::Keyword_patternContext *ctx){
    if(!Keyword_patternContext_cls) Keyword_patternContext_cls = PyObject_GetAttrString(translator->parser_cls, "Keyword_patternContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Keyword_patternContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_alias(FandangoParser::Type_aliasContext *ctx){
    if(!Type_aliasContext_cls) Type_aliasContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_aliasContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_aliasContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_params(FandangoParser::Type_paramsContext *ctx){
    if(!Type_paramsContext_cls) Type_paramsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_paramsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_paramsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_param_seq(FandangoParser::Type_param_seqContext *ctx){
    if(!Type_param_seqContext_cls) Type_param_seqContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_param_seqContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_param_seqContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_param(FandangoParser::Type_paramContext *ctx){
    if(!Type_paramContext_cls) Type_paramContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_paramContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_paramContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_param_bound(FandangoParser::Type_param_boundContext *ctx){
    if(!Type_param_boundContext_cls) Type_param_boundContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_param_boundContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_param_boundContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitExpressions(FandangoParser::ExpressionsContext *ctx){
    if(!ExpressionsContext_cls) ExpressionsContext_cls = PyObject_GetAttrString(translator->parser_cls, "ExpressionsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ExpressionsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitExpression(FandangoParser::ExpressionContext *ctx){
    if(!ExpressionContext_cls) ExpressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "ExpressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ExpressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitYield_expr(FandangoParser::Yield_exprContext *ctx){
    if(!Yield_exprContext_cls) Yield_exprContext_cls = PyObject_GetAttrString(translator->parser_cls, "Yield_exprContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Yield_exprContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_expressions(FandangoParser::Star_expressionsContext *ctx){
    if(!Star_expressionsContext_cls) Star_expressionsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_expressionsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_expressionsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_expression(FandangoParser::Star_expressionContext *ctx){
    if(!Star_expressionContext_cls) Star_expressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_expressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_expressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_named_expressions(FandangoParser::Star_named_expressionsContext *ctx){
    if(!Star_named_expressionsContext_cls) Star_named_expressionsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_named_expressionsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_named_expressionsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_named_expression(FandangoParser::Star_named_expressionContext *ctx){
    if(!Star_named_expressionContext_cls) Star_named_expressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_named_expressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_named_expressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAssignment_expression(FandangoParser::Assignment_expressionContext *ctx){
    if(!Assignment_expressionContext_cls) Assignment_expressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Assignment_expressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Assignment_expressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNamed_expression(FandangoParser::Named_expressionContext *ctx){
    if(!Named_expressionContext_cls) Named_expressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Named_expressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Named_expressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDisjunction(FandangoParser::DisjunctionContext *ctx){
    if(!DisjunctionContext_cls) DisjunctionContext_cls = PyObject_GetAttrString(translator->parser_cls, "DisjunctionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, DisjunctionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitConjunction(FandangoParser::ConjunctionContext *ctx){
    if(!ConjunctionContext_cls) ConjunctionContext_cls = PyObject_GetAttrString(translator->parser_cls, "ConjunctionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ConjunctionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitInversion(FandangoParser::InversionContext *ctx){
    if(!InversionContext_cls) InversionContext_cls = PyObject_GetAttrString(translator->parser_cls, "InversionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, InversionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitComparison(FandangoParser::ComparisonContext *ctx){
    if(!ComparisonContext_cls) ComparisonContext_cls = PyObject_GetAttrString(translator->parser_cls, "ComparisonContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ComparisonContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitCompare_op_bitwise_or_pair(FandangoParser::Compare_op_bitwise_or_pairContext *ctx){
    if(!Compare_op_bitwise_or_pairContext_cls) Compare_op_bitwise_or_pairContext_cls = PyObject_GetAttrString(translator->parser_cls, "Compare_op_bitwise_or_pairContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Compare_op_bitwise_or_pairContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitEq_bitwise_or(FandangoParser::Eq_bitwise_orContext *ctx){
    if(!Eq_bitwise_orContext_cls) Eq_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Eq_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Eq_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNoteq_bitwise_or(FandangoParser::Noteq_bitwise_orContext *ctx){
    if(!Noteq_bitwise_orContext_cls) Noteq_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Noteq_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Noteq_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLte_bitwise_or(FandangoParser::Lte_bitwise_orContext *ctx){
    if(!Lte_bitwise_orContext_cls) Lte_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lte_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lte_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLt_bitwise_or(FandangoParser::Lt_bitwise_orContext *ctx){
    if(!Lt_bitwise_orContext_cls) Lt_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lt_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lt_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGte_bitwise_or(FandangoParser::Gte_bitwise_orContext *ctx){
    if(!Gte_bitwise_orContext_cls) Gte_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Gte_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Gte_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGt_bitwise_or(FandangoParser::Gt_bitwise_orContext *ctx){
    if(!Gt_bitwise_orContext_cls) Gt_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Gt_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Gt_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitNotin_bitwise_or(FandangoParser::Notin_bitwise_orContext *ctx){
    if(!Notin_bitwise_orContext_cls) Notin_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Notin_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Notin_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitIn_bitwise_or(FandangoParser::In_bitwise_orContext *ctx){
    if(!In_bitwise_orContext_cls) In_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "In_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, In_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitIsnot_bitwise_or(FandangoParser::Isnot_bitwise_orContext *ctx){
    if(!Isnot_bitwise_orContext_cls) Isnot_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Isnot_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Isnot_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitIs_bitwise_or(FandangoParser::Is_bitwise_orContext *ctx){
    if(!Is_bitwise_orContext_cls) Is_bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Is_bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Is_bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitBitwise_or(FandangoParser::Bitwise_orContext *ctx){
    if(!Bitwise_orContext_cls) Bitwise_orContext_cls = PyObject_GetAttrString(translator->parser_cls, "Bitwise_orContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Bitwise_orContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitBitwise_xor(FandangoParser::Bitwise_xorContext *ctx){
    if(!Bitwise_xorContext_cls) Bitwise_xorContext_cls = PyObject_GetAttrString(translator->parser_cls, "Bitwise_xorContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Bitwise_xorContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitBitwise_and(FandangoParser::Bitwise_andContext *ctx){
    if(!Bitwise_andContext_cls) Bitwise_andContext_cls = PyObject_GetAttrString(translator->parser_cls, "Bitwise_andContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Bitwise_andContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitShift_expr(FandangoParser::Shift_exprContext *ctx){
    if(!Shift_exprContext_cls) Shift_exprContext_cls = PyObject_GetAttrString(translator->parser_cls, "Shift_exprContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Shift_exprContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSum(FandangoParser::SumContext *ctx){
    if(!SumContext_cls) SumContext_cls = PyObject_GetAttrString(translator->parser_cls, "SumContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SumContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitTerm(FandangoParser::TermContext *ctx){
    if(!TermContext_cls) TermContext_cls = PyObject_GetAttrString(translator->parser_cls, "TermContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, TermContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFactor(FandangoParser::FactorContext *ctx){
    if(!FactorContext_cls) FactorContext_cls = PyObject_GetAttrString(translator->parser_cls, "FactorContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, FactorContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPower(FandangoParser::PowerContext *ctx){
    if(!PowerContext_cls) PowerContext_cls = PyObject_GetAttrString(translator->parser_cls, "PowerContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PowerContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAwait_primary(FandangoParser::Await_primaryContext *ctx){
    if(!Await_primaryContext_cls) Await_primaryContext_cls = PyObject_GetAttrString(translator->parser_cls, "Await_primaryContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Await_primaryContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitPrimary(FandangoParser::PrimaryContext *ctx){
    if(!PrimaryContext_cls) PrimaryContext_cls = PyObject_GetAttrString(translator->parser_cls, "PrimaryContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, PrimaryContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSlices(FandangoParser::SlicesContext *ctx){
    if(!SlicesContext_cls) SlicesContext_cls = PyObject_GetAttrString(translator->parser_cls, "SlicesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SlicesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSlice(FandangoParser::SliceContext *ctx){
    if(!SliceContext_cls) SliceContext_cls = PyObject_GetAttrString(translator->parser_cls, "SliceContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SliceContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitAtom(FandangoParser::AtomContext *ctx){
    if(!AtomContext_cls) AtomContext_cls = PyObject_GetAttrString(translator->parser_cls, "AtomContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, AtomContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGroup(FandangoParser::GroupContext *ctx){
    if(!GroupContext_cls) GroupContext_cls = PyObject_GetAttrString(translator->parser_cls, "GroupContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, GroupContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambdef(FandangoParser::LambdefContext *ctx){
    if(!LambdefContext_cls) LambdefContext_cls = PyObject_GetAttrString(translator->parser_cls, "LambdefContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, LambdefContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_params(FandangoParser::Lambda_paramsContext *ctx){
    if(!Lambda_paramsContext_cls) Lambda_paramsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_paramsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_paramsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_parameters(FandangoParser::Lambda_parametersContext *ctx){
    if(!Lambda_parametersContext_cls) Lambda_parametersContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_parametersContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_parametersContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_slash_no_default(FandangoParser::Lambda_slash_no_defaultContext *ctx){
    if(!Lambda_slash_no_defaultContext_cls) Lambda_slash_no_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_slash_no_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_slash_no_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_slash_with_default(FandangoParser::Lambda_slash_with_defaultContext *ctx){
    if(!Lambda_slash_with_defaultContext_cls) Lambda_slash_with_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_slash_with_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_slash_with_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_star_etc(FandangoParser::Lambda_star_etcContext *ctx){
    if(!Lambda_star_etcContext_cls) Lambda_star_etcContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_star_etcContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_star_etcContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_kwds(FandangoParser::Lambda_kwdsContext *ctx){
    if(!Lambda_kwdsContext_cls) Lambda_kwdsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_kwdsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_kwdsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_param_no_default(FandangoParser::Lambda_param_no_defaultContext *ctx){
    if(!Lambda_param_no_defaultContext_cls) Lambda_param_no_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_param_no_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_param_no_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_param_with_default(FandangoParser::Lambda_param_with_defaultContext *ctx){
    if(!Lambda_param_with_defaultContext_cls) Lambda_param_with_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_param_with_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_param_with_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_param_maybe_default(FandangoParser::Lambda_param_maybe_defaultContext *ctx){
    if(!Lambda_param_maybe_defaultContext_cls) Lambda_param_maybe_defaultContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_param_maybe_defaultContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_param_maybe_defaultContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitLambda_param(FandangoParser::Lambda_paramContext *ctx){
    if(!Lambda_paramContext_cls) Lambda_paramContext_cls = PyObject_GetAttrString(translator->parser_cls, "Lambda_paramContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Lambda_paramContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_middle_no_quote(FandangoParser::Fstring_middle_no_quoteContext *ctx){
    if(!Fstring_middle_no_quoteContext_cls) Fstring_middle_no_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_middle_no_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_middle_no_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_middle_no_single_quote(FandangoParser::Fstring_middle_no_single_quoteContext *ctx){
    if(!Fstring_middle_no_single_quoteContext_cls) Fstring_middle_no_single_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_middle_no_single_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_middle_no_single_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_middle_breaks_no_triple_quote(FandangoParser::Fstring_middle_breaks_no_triple_quoteContext *ctx){
    if(!Fstring_middle_breaks_no_triple_quoteContext_cls) Fstring_middle_breaks_no_triple_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_middle_breaks_no_triple_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_middle_breaks_no_triple_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_middle_breaks_no_triple_single_quote(FandangoParser::Fstring_middle_breaks_no_triple_single_quoteContext *ctx){
    if(!Fstring_middle_breaks_no_triple_single_quoteContext_cls) Fstring_middle_breaks_no_triple_single_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_middle_breaks_no_triple_single_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_middle_breaks_no_triple_single_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_any_no_quote(FandangoParser::Fstring_any_no_quoteContext *ctx){
    if(!Fstring_any_no_quoteContext_cls) Fstring_any_no_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_any_no_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_any_no_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_any_no_single_quote(FandangoParser::Fstring_any_no_single_quoteContext *ctx){
    if(!Fstring_any_no_single_quoteContext_cls) Fstring_any_no_single_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_any_no_single_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_any_no_single_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_middle(FandangoParser::Fstring_middleContext *ctx){
    if(!Fstring_middleContext_cls) Fstring_middleContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_middleContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_middleContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_any_breaks_no_triple_quote(FandangoParser::Fstring_any_breaks_no_triple_quoteContext *ctx){
    if(!Fstring_any_breaks_no_triple_quoteContext_cls) Fstring_any_breaks_no_triple_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_any_breaks_no_triple_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_any_breaks_no_triple_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_any_breaks_no_triple_single_quote(FandangoParser::Fstring_any_breaks_no_triple_single_quoteContext *ctx){
    if(!Fstring_any_breaks_no_triple_single_quoteContext_cls) Fstring_any_breaks_no_triple_single_quoteContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_any_breaks_no_triple_single_quoteContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_any_breaks_no_triple_single_quoteContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_any(FandangoParser::Fstring_anyContext *ctx){
    if(!Fstring_anyContext_cls) Fstring_anyContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_anyContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_anyContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_replacement_field(FandangoParser::Fstring_replacement_fieldContext *ctx){
    if(!Fstring_replacement_fieldContext_cls) Fstring_replacement_fieldContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_replacement_fieldContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_replacement_fieldContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_conversion(FandangoParser::Fstring_conversionContext *ctx){
    if(!Fstring_conversionContext_cls) Fstring_conversionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_conversionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_conversionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_full_format_spec(FandangoParser::Fstring_full_format_specContext *ctx){
    if(!Fstring_full_format_specContext_cls) Fstring_full_format_specContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_full_format_specContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_full_format_specContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring_format_spec(FandangoParser::Fstring_format_specContext *ctx){
    if(!Fstring_format_specContext_cls) Fstring_format_specContext_cls = PyObject_GetAttrString(translator->parser_cls, "Fstring_format_specContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Fstring_format_specContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFstring(FandangoParser::FstringContext *ctx){
    if(!FstringContext_cls) FstringContext_cls = PyObject_GetAttrString(translator->parser_cls, "FstringContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, FstringContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitString(FandangoParser::StringContext *ctx){
    if(!StringContext_cls) StringContext_cls = PyObject_GetAttrString(translator->parser_cls, "StringContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, StringContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStrings(FandangoParser::StringsContext *ctx){
    if(!StringsContext_cls) StringsContext_cls = PyObject_GetAttrString(translator->parser_cls, "StringsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, StringsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitList(FandangoParser::ListContext *ctx){
    if(!ListContext_cls) ListContext_cls = PyObject_GetAttrString(translator->parser_cls, "ListContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ListContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitTuple(FandangoParser::TupleContext *ctx){
    if(!TupleContext_cls) TupleContext_cls = PyObject_GetAttrString(translator->parser_cls, "TupleContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, TupleContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSet(FandangoParser::SetContext *ctx){
    if(!SetContext_cls) SetContext_cls = PyObject_GetAttrString(translator->parser_cls, "SetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDict(FandangoParser::DictContext *ctx){
    if(!DictContext_cls) DictContext_cls = PyObject_GetAttrString(translator->parser_cls, "DictContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, DictContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDouble_starred_kvpairs(FandangoParser::Double_starred_kvpairsContext *ctx){
    if(!Double_starred_kvpairsContext_cls) Double_starred_kvpairsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Double_starred_kvpairsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Double_starred_kvpairsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDouble_starred_kvpair(FandangoParser::Double_starred_kvpairContext *ctx){
    if(!Double_starred_kvpairContext_cls) Double_starred_kvpairContext_cls = PyObject_GetAttrString(translator->parser_cls, "Double_starred_kvpairContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Double_starred_kvpairContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKvpair(FandangoParser::KvpairContext *ctx){
    if(!KvpairContext_cls) KvpairContext_cls = PyObject_GetAttrString(translator->parser_cls, "KvpairContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, KvpairContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFor_if_clauses(FandangoParser::For_if_clausesContext *ctx){
    if(!For_if_clausesContext_cls) For_if_clausesContext_cls = PyObject_GetAttrString(translator->parser_cls, "For_if_clausesContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, For_if_clausesContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFor_if_clause(FandangoParser::For_if_clauseContext *ctx){
    if(!For_if_clauseContext_cls) For_if_clauseContext_cls = PyObject_GetAttrString(translator->parser_cls, "For_if_clauseContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, For_if_clauseContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitListcomp(FandangoParser::ListcompContext *ctx){
    if(!ListcompContext_cls) ListcompContext_cls = PyObject_GetAttrString(translator->parser_cls, "ListcompContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ListcompContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSetcomp(FandangoParser::SetcompContext *ctx){
    if(!SetcompContext_cls) SetcompContext_cls = PyObject_GetAttrString(translator->parser_cls, "SetcompContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, SetcompContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitGenexp(FandangoParser::GenexpContext *ctx){
    if(!GenexpContext_cls) GenexpContext_cls = PyObject_GetAttrString(translator->parser_cls, "GenexpContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, GenexpContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDictcomp(FandangoParser::DictcompContext *ctx){
    if(!DictcompContext_cls) DictcompContext_cls = PyObject_GetAttrString(translator->parser_cls, "DictcompContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, DictcompContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitArguments(FandangoParser::ArgumentsContext *ctx){
    if(!ArgumentsContext_cls) ArgumentsContext_cls = PyObject_GetAttrString(translator->parser_cls, "ArgumentsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ArgumentsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitArgs(FandangoParser::ArgsContext *ctx){
    if(!ArgsContext_cls) ArgsContext_cls = PyObject_GetAttrString(translator->parser_cls, "ArgsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ArgsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitArg(FandangoParser::ArgContext *ctx){
    if(!ArgContext_cls) ArgContext_cls = PyObject_GetAttrString(translator->parser_cls, "ArgContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, ArgContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKwargs(FandangoParser::KwargsContext *ctx){
    if(!KwargsContext_cls) KwargsContext_cls = PyObject_GetAttrString(translator->parser_cls, "KwargsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, KwargsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStarred_expression(FandangoParser::Starred_expressionContext *ctx){
    if(!Starred_expressionContext_cls) Starred_expressionContext_cls = PyObject_GetAttrString(translator->parser_cls, "Starred_expressionContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Starred_expressionContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKwarg_or_starred(FandangoParser::Kwarg_or_starredContext *ctx){
    if(!Kwarg_or_starredContext_cls) Kwarg_or_starredContext_cls = PyObject_GetAttrString(translator->parser_cls, "Kwarg_or_starredContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Kwarg_or_starredContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitKwarg_or_double_starred(FandangoParser::Kwarg_or_double_starredContext *ctx){
    if(!Kwarg_or_double_starredContext_cls) Kwarg_or_double_starredContext_cls = PyObject_GetAttrString(translator->parser_cls, "Kwarg_or_double_starredContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Kwarg_or_double_starredContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_targets(FandangoParser::Star_targetsContext *ctx){
    if(!Star_targetsContext_cls) Star_targetsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_targetsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_targetsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_targets_list_seq(FandangoParser::Star_targets_list_seqContext *ctx){
    if(!Star_targets_list_seqContext_cls) Star_targets_list_seqContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_targets_list_seqContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_targets_list_seqContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_targets_tuple_seq(FandangoParser::Star_targets_tuple_seqContext *ctx){
    if(!Star_targets_tuple_seqContext_cls) Star_targets_tuple_seqContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_targets_tuple_seqContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_targets_tuple_seqContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_target(FandangoParser::Star_targetContext *ctx){
    if(!Star_targetContext_cls) Star_targetContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_targetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_targetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitTarget_with_star_atom(FandangoParser::Target_with_star_atomContext *ctx){
    if(!Target_with_star_atomContext_cls) Target_with_star_atomContext_cls = PyObject_GetAttrString(translator->parser_cls, "Target_with_star_atomContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Target_with_star_atomContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitStar_atom(FandangoParser::Star_atomContext *ctx){
    if(!Star_atomContext_cls) Star_atomContext_cls = PyObject_GetAttrString(translator->parser_cls, "Star_atomContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Star_atomContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSingle_target(FandangoParser::Single_targetContext *ctx){
    if(!Single_targetContext_cls) Single_targetContext_cls = PyObject_GetAttrString(translator->parser_cls, "Single_targetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Single_targetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitSingle_subscript_attribute_target(FandangoParser::Single_subscript_attribute_targetContext *ctx){
    if(!Single_subscript_attribute_targetContext_cls) Single_subscript_attribute_targetContext_cls = PyObject_GetAttrString(translator->parser_cls, "Single_subscript_attribute_targetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Single_subscript_attribute_targetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitT_primary(FandangoParser::T_primaryContext *ctx){
    if(!T_primaryContext_cls) T_primaryContext_cls = PyObject_GetAttrString(translator->parser_cls, "T_primaryContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, T_primaryContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDel_targets(FandangoParser::Del_targetsContext *ctx){
    if(!Del_targetsContext_cls) Del_targetsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Del_targetsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Del_targetsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDel_target(FandangoParser::Del_targetContext *ctx){
    if(!Del_targetContext_cls) Del_targetContext_cls = PyObject_GetAttrString(translator->parser_cls, "Del_targetContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Del_targetContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitDel_t_atom(FandangoParser::Del_t_atomContext *ctx){
    if(!Del_t_atomContext_cls) Del_t_atomContext_cls = PyObject_GetAttrString(translator->parser_cls, "Del_t_atomContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Del_t_atomContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitType_expressions(FandangoParser::Type_expressionsContext *ctx){
    if(!Type_expressionsContext_cls) Type_expressionsContext_cls = PyObject_GetAttrString(translator->parser_cls, "Type_expressionsContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Type_expressionsContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitFunc_type_comment(FandangoParser::Func_type_commentContext *ctx){
    if(!Func_type_commentContext_cls) Func_type_commentContext_cls = PyObject_GetAttrString(translator->parser_cls, "Func_type_commentContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, Func_type_commentContext_cls);
    return py_ctx;
}

antlrcpp::Any SA_FandangoTranslator::visitIdentifier(FandangoParser::IdentifierContext *ctx){
    if(!IdentifierContext_cls) IdentifierContext_cls = PyObject_GetAttrString(translator->parser_cls, "IdentifierContext");
    PyObject *py_ctx = translator->convert_ctx(this, ctx, IdentifierContext_cls);
    return py_ctx;
}
