51 lines
674 B
JavaScript
51 lines
674 B
JavaScript
import Node from './Node.js';
|
|
|
|
class CodeNode extends Node {
|
|
|
|
constructor( code = '', nodeType = 'code' ) {
|
|
|
|
super( nodeType );
|
|
|
|
this.code = code;
|
|
|
|
this._includes = [];
|
|
|
|
}
|
|
|
|
setIncludes( includes ) {
|
|
|
|
this._includes = includes;
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
getIncludes( /*builder*/ ) {
|
|
|
|
return this._includes;
|
|
|
|
}
|
|
|
|
generate( builder ) {
|
|
|
|
const includes = this.getIncludes( builder );
|
|
|
|
for ( const include of includes ) {
|
|
|
|
include.build( builder );
|
|
|
|
}
|
|
|
|
const nodeCode = builder.getCodeFromNode( this, this.getNodeType( builder ) );
|
|
nodeCode.code = this.code;
|
|
|
|
return nodeCode.code;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
CodeNode.prototype.isCodeNode = true;
|
|
|
|
export default CodeNode;
|