mirror of
https://github.com/marko-js/marko.git
synced 2025-12-08 19:26:05 +00:00
39 lines
847 B
JavaScript
39 lines
847 B
JavaScript
'use strict';
|
|
|
|
var Node = require('./Node');
|
|
|
|
class UpdateExpression extends Node {
|
|
constructor(def) {
|
|
super('UpdateExpression');
|
|
this.argument = def.argument;
|
|
this.operator = def.operator;
|
|
this.prefix = def.prefix === true;
|
|
}
|
|
|
|
generateCode(generator) {
|
|
var argument = this.argument;
|
|
var operator = this.operator;
|
|
var prefix = this.prefix;
|
|
|
|
if (prefix) {
|
|
generator.generateCode(operator);
|
|
}
|
|
|
|
generator.generateCode(argument);
|
|
|
|
if (!prefix) {
|
|
generator.generateCode(operator);
|
|
}
|
|
}
|
|
|
|
toJSON() {
|
|
return {
|
|
type: 'UpdateExpression',
|
|
argument: this.argument,
|
|
operator: this.operator,
|
|
prefix: this.prefix
|
|
};
|
|
}
|
|
}
|
|
|
|
module.exports = UpdateExpression; |