override fun parse()

in gdscript/src/main/kotlin/gdscript/parser/roots/GdSignalParser.kt [11:28]


    override fun parse(b: GdPsiBuilder, l: Int, optional: Boolean): Boolean {
        if (!b.recursionGuard(l, "Signal")) return false
        if (!b.nextTokenIs(SIGNAL)) return optional

        b.enterSection(SIGNAL_DECL_TL)
        var ok = b.consumeToken(SIGNAL, pin = true)
        ok = ok && b.mceIdentifier(SIGNAL_ID_NMI)

        if (ok && b.passToken(LRBR)) {
            ok = ok && GdParamListParser.parse(b, l + 1, true)
            ok = ok && b.consumeToken(RRBR)
        }

        ok = ok && b.mceEndStmt()
        GdRecovery.topLevel(b)

        return b.exitSection(ok)
    }