-- This Script is Part of the Prometheus Obfuscator by levno-710 -- -- statements.lua -- -- This Script contains the statement handlers: exports handler table keyed by AstKind. local Ast = require("prometheus.ast"); local AstKind = Ast.AstKind; local handlers = {}; local statements = "prometheus.compiler.statements."; local function requireStatement(name) return require(statements .. name); end handlers[AstKind.ReturnStatement] = requireStatement("return"); handlers[AstKind.LocalVariableDeclaration] = requireStatement("local_variable_declaration"); handlers[AstKind.FunctionCallStatement] = requireStatement("function_call"); handlers[AstKind.PassSelfFunctionCallStatement] = requireStatement("pass_self_function_call"); handlers[AstKind.LocalFunctionDeclaration] = requireStatement("local_function_declaration"); handlers[AstKind.FunctionDeclaration] = requireStatement("function_declaration"); handlers[AstKind.AssignmentStatement] = requireStatement("assignment"); handlers[AstKind.IfStatement] = requireStatement("if_statement"); handlers[AstKind.DoStatement] = requireStatement("do_statement"); handlers[AstKind.WhileStatement] = requireStatement("while_statement"); handlers[AstKind.RepeatStatement] = requireStatement("repeat_statement"); handlers[AstKind.ForStatement] = requireStatement("for_statement"); handlers[AstKind.ForInStatement] = requireStatement("for_in_statement"); handlers[AstKind.BreakStatement] = requireStatement("break_statement"); handlers[AstKind.ContinueStatement] = requireStatement("continue_statement"); -- Compound statements share one handler local compoundHandler = requireStatement("compound"); handlers[AstKind.CompoundAddStatement] = compoundHandler; handlers[AstKind.CompoundSubStatement] = compoundHandler; handlers[AstKind.CompoundMulStatement] = compoundHandler; handlers[AstKind.CompoundDivStatement] = compoundHandler; handlers[AstKind.CompoundModStatement] = compoundHandler; handlers[AstKind.CompoundPowStatement] = compoundHandler; handlers[AstKind.CompoundConcatStatement] = compoundHandler; return handlers;