Files
ms/packages/molang/src/custom/transformStatement.ts
MiaoWoo 6816e51239 feat: add molang package
1. upgrade bukkit chat
2. fix config update error

Signed-off-by: MiaoWoo <admin@yumc.pw>
2022-02-12 16:29:40 +08:00

20 lines
791 B
TypeScript

import { IExpression } from '../parser/expression'
import { GroupExpression } from '../parser/expressions/group'
import { ReturnExpression } from '../parser/expressions/return'
import { StatementExpression } from '../parser/expressions/statement'
export function transformStatement(expression: IExpression) {
if (expression instanceof ReturnExpression)
return new GroupExpression(expression.allExpressions[0], '()')
if (!(expression instanceof StatementExpression)) return expression
if (expression.allExpressions.length > 1) return expression
// Only one statement, test whether it is a return statement
const expr = expression.allExpressions[0]
if (expr instanceof ReturnExpression) {
return new GroupExpression(expr.allExpressions[0], '()')
} else {
return expression
}
}