feat: add molang package
1. upgrade bukkit chat 2. fix config update error Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
32
packages/molang/src/parser/expressions/arrayAccess.ts
Normal file
32
packages/molang/src/parser/expressions/arrayAccess.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { Expression, IExpression } from '../expression'
|
||||
|
||||
export class ArrayAccessExpression extends Expression {
|
||||
type = 'ArrayAccessExpression'
|
||||
constructor(protected name: IExpression, protected lookup: IExpression) {
|
||||
super()
|
||||
}
|
||||
|
||||
get allExpressions() {
|
||||
return [this.name, this.lookup]
|
||||
}
|
||||
setExpressionAt(index: number, expr: IExpression) {
|
||||
if (index === 0) this.name = expr
|
||||
else if (index === 1) this.lookup = expr
|
||||
}
|
||||
|
||||
isStatic() {
|
||||
return false
|
||||
}
|
||||
|
||||
setPointer(value: unknown) {
|
||||
;(<any>this.name.eval())[<number>this.lookup.eval()] = value
|
||||
}
|
||||
|
||||
eval() {
|
||||
return (<any>this.name.eval())[<number>this.lookup.eval()]
|
||||
}
|
||||
|
||||
toString() {
|
||||
return `${this.name.toString()}[${this.lookup.toString()}]`
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user