package codeformat

class StateBean {
    var codeChars: ?Array<Rune> = None
    var isLineStart: Bool = true
    var indentLevel: Int64 = 0
    var savedIndentLevel: Int64 = 0
    var isInString: Bool = false
    var stringQuote: Rune = r' '
    var isInMacro: Bool = false
    var isInAccessFlag: Bool = false
    var isInFor: Bool = false
    var isInSinglelineComment: Bool = false
    var isInMultilineComment: Bool = false
    var smallBracketDouble: Int64 = 0
    var middleBracketDouble: Int64 = 0
    var sharpBracketDouble: Int64 = 0
    var currentIndex: Int64 = 0
    var lastChar: Rune = r' '
    var currentChar: Rune = r' '
    var output: StringBuilder = StringBuilder()
    var linesList: ArrayList<LineBean> = ArrayList<LineBean>()
    var perLineStartIndex: Int64 = 0
    var perLineOutput: StringBuilder = StringBuilder()
    var isInRetuen: Bool = false
    var isInExcept: Bool = false
    var isInDef: Bool = false
    var isInClass: Bool = false
    var isInContinue: Bool = false
    var isInBreak: Bool = false
    var isInMain: Bool = false
    var isInElif: Bool = false
    var isInElse: Bool = false
    var isLastLineReturn: Bool = false
    var isInSmallBracket: Bool = false
    var isInBigBracket: Bool = false
    var bigBracketDoublepy: Int64 = 0
    var smallBracketDoublepy: Int64 = 0
    var isInMultiString: Bool = false
    var multiStringQuote: Rune = r' '
    var isInImport: Bool = false
    var isHasClass: Bool = false
    var isInBackQuote: Bool = false
    var isTripleQuote: Bool = false
    var tripleQuoteCount: Int64 = 0
    var smallBracketDoubleScala: Int64 = 0
    var isInVal: Bool = false
    var isInBetween: Bool = false
    var isInWhere: Bool = false
    var isHasWhere: Bool = false
    var isInValues: Bool = false
    var isSqlSmallBracket: Int64 = 0
    var isInSet: Bool = false
    var isInSelect: Bool = false
    var isInDeleteFrom: Bool = false
    var isInMultiJoin: Bool = false
    var isInFrom: Bool = false
    var isHasFrom: Bool = false
    var isInJoin: Bool = false
    var isInGroupBy: Bool = false
    var isInOrderBy: Bool = false
    var isInCreateTable: Bool = false
    var isHasCreateTableLeft: Bool = false
    var isHasCreateTableRight: Bool = false
    var isFirstCreateTableLeft: Bool = true
    var isFirstCreateTableRight: Bool = true
    var isInAlterTable: Bool = false
    var isInSubSelect: Bool = false
    var isInSubSelectCount: Int64 = 0
    var isJustTurnSubSelectFalse: Bool = false
    var subSelectHasInAndOr: Bool = false
    var isInUnionAll: Bool = false
    var isInOffSet: Bool = false
    var isInAlterColumn: Bool = false
    var isInCreateView: Bool = false
    var isInGrant: Bool = false
    var isInRevoke: Bool = false
    var isInExplain: Bool = false
    var isInEnum: Bool = false
    var isInShowColumn: Bool = false
    var isInShowIndex: Bool = false
    var isInIdentity: Bool = false
    var isInOver: Bool = false
    var isInRestore: Bool = false
    var isInFecthNext: Bool = false
    var isInWaitFor: Bool = false
    var isInUnpivot: Bool = false
    var isInCharacter: Bool = false
    var isInCreateEvent: Bool = false
    var isInDo: Bool = false
    var isInWhile: Bool = false
    var isInCursor: Bool = false
    var isInDeclare: Bool = false
    var isInEndRepeat: Bool = false
    var isInUntil: Bool = false
    var isInBegin: Bool = false
    var isInReturns: Bool = false
    var isInAsTwo: Bool = false
    var isInIfFirst: Bool = false
    var isInIf: Bool = false
    var isInElseFirst: Bool = false
    var isInInsteadOf: Bool = false
    var isInCase: Bool = false
    var isInEndAs: Bool = false
    var isInWhenFirst: Bool = false
    var isInWhen: Bool = false
    var isInCreateProcedure: Bool = false
    var isInCreateFunction: Bool = false
}