mirror of
https://github.com/gpujs/gpu.js.git
synced 2026-01-18 16:04:10 +00:00
Added support for the do{...}while(...) construct
This commit is contained in:
parent
53c42a7e11
commit
e2c00aadcd
@ -5,14 +5,14 @@
|
||||
* GPU Accelerated JavaScript
|
||||
*
|
||||
* @version 1.2.0
|
||||
* @date Thu Mar 08 2018 17:26:16 GMT-0500 (EST)
|
||||
* @date Fri Apr 27 2018 19:37:56 GMT+0200 (CEST)
|
||||
*
|
||||
* @license MIT
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright (c) 2018 gpu.js Team
|
||||
*/
|
||||
"use strict";(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}return e})()({1:[function(require,module,exports){
|
||||
"use strict";(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
|
||||
|
||||
4
bin/gpu-core.min.js
vendored
4
bin/gpu-core.min.js
vendored
@ -5,11 +5,11 @@
|
||||
* GPU Accelerated JavaScript
|
||||
*
|
||||
* @version 1.2.0
|
||||
* @date Thu Mar 08 2018 17:26:16 GMT-0500 (EST)
|
||||
* @date Fri Apr 27 2018 19:37:56 GMT+0200 (CEST)
|
||||
*
|
||||
* @license MIT
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright (c) 2018 gpu.js Team
|
||||
*/
|
||||
"use strict";!function(){function e(n,t,r){function i(u,a){if(!t[u]){if(!n[u]){var l="function"==typeof require&&require;if(!a&&l)return l(u,!0);if(o)return o(u,!0);var f=new Error("Cannot find module '"+u+"'");throw f.code="MODULE_NOT_FOUND",f}var c=t[u]={exports:{}};n[u][0].call(c.exports,function(e){var t=n[u][1][e];return i(t?t:e)},c,c.exports,e,n,t,r)}return t[u].exports}for(var o="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}return e}()({1:[function(e,n,t){function r(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}();e("./utils-core");n.exports=function(){function e(){r(this,e)}return i(e,null,[{key:"validateKernelObj",value:function(e){if(null===e)throw"KernelObj being validated is NULL";if("string"==typeof e){try{e=JSON.parse(e)}catch(n){throw console.error(n),"Failed to convert KernelObj from JSON string"}if(null===e)throw"Invalid (NULL) KernelObj JSON string representation"}if(e.isKernelObj!==!0)throw"Failed missing isKernelObj flag check";return e}},{key:"loadKernelObj",value:function(e,n){e=validateKernelObj(e)}}]),e}()},{"./utils-core":2}],2:[function(e,n,t){function r(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}(),o=function(){function e(){r(this,e)}return i(e,null,[{key:"isCanvas",value:function(e){return null!==e&&e.nodeName&&e.getContext&&"CANVAS"===e.nodeName.toUpperCase()}},{key:"isCanvasSupported",value:function(){return u}},{key:"initCanvas",value:function(){if(!u)return null;var e=document.createElement("canvas");return e.width=2,e.height=2,e}},{key:"isWebGl",value:function(e){return e&&"function"==typeof e.getExtension}},{key:"isWebGlSupported",value:function(){return l}},{key:"isWebGlDrawBuffersSupported",value:function(){return f}},{key:"initWebGlDefaultOptions",value:function(){return{alpha:!1,depth:!1,antialias:!1}}},{key:"initWebGl",value:function(n){if(("undefined"!=typeof u||null===n)&&!u)return null;if(!e.isCanvas(n))throw new Error("Invalid canvas object - "+n);var t=n.getContext("experimental-webgl",e.initWebGlDefaultOptions())||n.getContext("webgl",e.initWebGlDefaultOptions());return t&&(t.OES_texture_float=t.getExtension("OES_texture_float"),t.OES_texture_float_linear=t.getExtension("OES_texture_float_linear"),t.OES_element_index_uint=t.getExtension("OES_element_index_uint")),t}},{key:"initWebGl2",value:function(n){if(("undefined"!=typeof u||null===n)&&!u)return null;if(!e.isCanvas(n))throw new Error("Invalid canvas object - "+n);return n.getContext("webgl2",e.initWebGlDefaultOptions())}}]),e}(),u="undefined"!=typeof document&&o.isCanvas(document.createElement("canvas")),a=o.initWebGl(o.initCanvas()),l=o.isWebGl(a),f=l&&Boolean(a.getExtension("WEBGL_draw_buffers"));l?(o.OES_texture_float=a.OES_texture_float,o.OES_texture_float_linear=a.OES_texture_float_linear,o.OES_element_index_uint=a.OES_element_index_uint):(o.OES_texture_float=!1,o.OES_texture_float_linear=!1,o.OES_element_index_uint=!1),n.exports=o},{}],3:[function(e,n,t){var r=e("./core/gpu-core");"undefined"!=typeof n&&(n.exports=r),"undefined"!=typeof window&&(window.GPUCore=r,null===window.GPU&&(window.GPU=r))},{"./core/gpu-core":1}]},{},[3]);
|
||||
"use strict";!function(){function e(n,t,r){function i(u,a){if(!t[u]){if(!n[u]){var l="function"==typeof require&&require;if(!a&&l)return l(u,!0);if(o)return o(u,!0);var f=new Error("Cannot find module '"+u+"'");throw f.code="MODULE_NOT_FOUND",f}var c=t[u]={exports:{}};n[u][0].call(c.exports,function(e){var t=n[u][1][e];return i(t||e)},c,c.exports,e,n,t,r)}return t[u].exports}for(var o="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}return e}()({1:[function(e,n,t){function r(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}();e("./utils-core");n.exports=function(){function e(){r(this,e)}return i(e,null,[{key:"validateKernelObj",value:function(e){if(null===e)throw"KernelObj being validated is NULL";if("string"==typeof e){try{e=JSON.parse(e)}catch(n){throw console.error(n),"Failed to convert KernelObj from JSON string"}if(null===e)throw"Invalid (NULL) KernelObj JSON string representation"}if(e.isKernelObj!==!0)throw"Failed missing isKernelObj flag check";return e}},{key:"loadKernelObj",value:function(e,n){e=validateKernelObj(e)}}]),e}()},{"./utils-core":2}],2:[function(e,n,t){function r(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(n,t,r){return t&&e(n.prototype,t),r&&e(n,r),n}}(),o=function(){function e(){r(this,e)}return i(e,null,[{key:"isCanvas",value:function(e){return null!==e&&e.nodeName&&e.getContext&&"CANVAS"===e.nodeName.toUpperCase()}},{key:"isCanvasSupported",value:function(){return u}},{key:"initCanvas",value:function(){if(!u)return null;var e=document.createElement("canvas");return e.width=2,e.height=2,e}},{key:"isWebGl",value:function(e){return e&&"function"==typeof e.getExtension}},{key:"isWebGlSupported",value:function(){return l}},{key:"isWebGlDrawBuffersSupported",value:function(){return f}},{key:"initWebGlDefaultOptions",value:function(){return{alpha:!1,depth:!1,antialias:!1}}},{key:"initWebGl",value:function(n){if(("undefined"!=typeof u||null===n)&&!u)return null;if(!e.isCanvas(n))throw new Error("Invalid canvas object - "+n);var t=n.getContext("experimental-webgl",e.initWebGlDefaultOptions())||n.getContext("webgl",e.initWebGlDefaultOptions());return t&&(t.OES_texture_float=t.getExtension("OES_texture_float"),t.OES_texture_float_linear=t.getExtension("OES_texture_float_linear"),t.OES_element_index_uint=t.getExtension("OES_element_index_uint")),t}},{key:"initWebGl2",value:function(n){if(("undefined"!=typeof u||null===n)&&!u)return null;if(!e.isCanvas(n))throw new Error("Invalid canvas object - "+n);return n.getContext("webgl2",e.initWebGlDefaultOptions())}}]),e}(),u="undefined"!=typeof document&&o.isCanvas(document.createElement("canvas")),a=o.initWebGl(o.initCanvas()),l=o.isWebGl(a),f=l&&Boolean(a.getExtension("WEBGL_draw_buffers"));l?(o.OES_texture_float=a.OES_texture_float,o.OES_texture_float_linear=a.OES_texture_float_linear,o.OES_element_index_uint=a.OES_element_index_uint):(o.OES_texture_float=!1,o.OES_texture_float_linear=!1,o.OES_element_index_uint=!1),n.exports=o},{}],3:[function(e,n,t){var r=e("./core/gpu-core");"undefined"!=typeof n&&(n.exports=r),"undefined"!=typeof window&&(window.GPUCore=r,null===window.GPU&&(window.GPU=r))},{"./core/gpu-core":1}]},{},[3]);
|
||||
57
bin/gpu.js
57
bin/gpu.js
@ -5,14 +5,14 @@
|
||||
* GPU Accelerated JavaScript
|
||||
*
|
||||
* @version 1.2.0
|
||||
* @date Thu Mar 08 2018 17:26:16 GMT-0500 (EST)
|
||||
* @date Fri Apr 27 2018 19:37:57 GMT+0200 (CEST)
|
||||
*
|
||||
* @license MIT
|
||||
* The MIT License
|
||||
*
|
||||
* Copyright (c) 2018 gpu.js Team
|
||||
*/
|
||||
"use strict";(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s}return e})()({1:[function(require,module,exports){
|
||||
"use strict";(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
||||
@ -127,6 +127,8 @@ module.exports = function (_BaseFunctionNode) {
|
||||
return this.astForStatement(ast, retArr, funcParam);
|
||||
case 'WhileStatement':
|
||||
return this.astWhileStatement(ast, retArr, funcParam);
|
||||
case 'DoWhileStatement':
|
||||
return this.astDoWhileStatement(ast, retArr, funcParam);
|
||||
case 'VariableDeclaration':
|
||||
return this.astVariableDeclaration(ast, retArr, funcParam);
|
||||
case 'VariableDeclarator':
|
||||
@ -408,6 +410,26 @@ module.exports = function (_BaseFunctionNode) {
|
||||
}
|
||||
|
||||
|
||||
}, {
|
||||
key: 'astDoWhileStatement',
|
||||
value: function astDoWhileStatement(doWhileNode, retArr, funcParam) {
|
||||
if (doWhileNode.type !== 'DoWhileStatement') {
|
||||
throw this.astErrorOutput('Invalid while statment', doWhileNode, funcParam);
|
||||
}
|
||||
|
||||
retArr.push('for (let i = 0; i < LOOP_MAX; i++) {');
|
||||
this.astGeneric(doWhileNode.body, retArr, funcParam);
|
||||
retArr.push('if (!');
|
||||
this.astGeneric(doWhileNode.test, retArr, funcParam);
|
||||
retArr.push(') {\n');
|
||||
retArr.push('break;\n');
|
||||
retArr.push('}\n');
|
||||
retArr.push('}\n');
|
||||
|
||||
return retArr;
|
||||
}
|
||||
|
||||
|
||||
}, {
|
||||
key: 'astAssignmentExpression',
|
||||
value: function astAssignmentExpression(assNode, retArr, funcParam) {
|
||||
@ -2033,6 +2055,8 @@ module.exports = function (_FunctionNodeBase) {
|
||||
return this.astForStatement(ast, retArr, funcParam);
|
||||
case 'WhileStatement':
|
||||
return this.astWhileStatement(ast, retArr, funcParam);
|
||||
case 'DoWhileStatement':
|
||||
return this.astDoWhileStatement(ast, retArr, funcParam);
|
||||
case 'VariableDeclaration':
|
||||
return this.astVariableDeclaration(ast, retArr, funcParam);
|
||||
case 'VariableDeclarator':
|
||||
@ -2347,6 +2371,26 @@ module.exports = function (_FunctionNodeBase) {
|
||||
}
|
||||
|
||||
|
||||
}, {
|
||||
key: 'astDoWhileStatement',
|
||||
value: function astDoWhileStatement(doWhileNode, retArr, funcParam) {
|
||||
if (doWhileNode.type !== 'DoWhileStatement') {
|
||||
throw this.astErrorOutput('Invalid while statment', doWhileNode, funcParam);
|
||||
}
|
||||
|
||||
retArr.push('for (float i = 0.0; i < LOOP_MAX; i++) {');
|
||||
this.astGeneric(doWhileNode.body, retArr, funcParam);
|
||||
retArr.push('if (!');
|
||||
this.astGeneric(doWhileNode.test, retArr, funcParam);
|
||||
retArr.push(') {\n');
|
||||
retArr.push('break;\n');
|
||||
retArr.push('}\n');
|
||||
retArr.push('}\n');
|
||||
|
||||
return retArr;
|
||||
}
|
||||
|
||||
|
||||
}, {
|
||||
key: 'astAssignmentExpression',
|
||||
value: function astAssignmentExpression(assNode, retArr, funcParam) {
|
||||
@ -9975,7 +10019,12 @@ pp$8.readEscapedChar = function(inTemplate) {
|
||||
this.pos += octalStr.length - 1;
|
||||
ch = this.input.charCodeAt(this.pos);
|
||||
if ((octalStr !== "0" || ch == 56 || ch == 57) && (this.strict || inTemplate)) {
|
||||
this.invalidStringToken(this.pos - 1 - octalStr.length, "Octal literal in strict mode");
|
||||
this.invalidStringToken(
|
||||
this.pos - 1 - octalStr.length,
|
||||
inTemplate
|
||||
? "Octal literal in template string"
|
||||
: "Octal literal in strict mode"
|
||||
);
|
||||
}
|
||||
return String.fromCharCode(octal)
|
||||
}
|
||||
@ -10034,7 +10083,7 @@ pp$8.readWord = function() {
|
||||
};
|
||||
|
||||
|
||||
var version = "5.5.0";
|
||||
var version = "5.5.3";
|
||||
|
||||
|
||||
function parse(input, options) {
|
||||
|
||||
14
bin/gpu.min.js
vendored
14
bin/gpu.min.js
vendored
File diff suppressed because one or more lines are too long
@ -108,6 +108,8 @@ module.exports = class CPUFunctionNode extends BaseFunctionNode {
|
||||
return this.astForStatement(ast, retArr, funcParam);
|
||||
case 'WhileStatement':
|
||||
return this.astWhileStatement(ast, retArr, funcParam);
|
||||
case 'DoWhileStatement':
|
||||
return this.astDoWhileStatement(ast, retArr, funcParam);
|
||||
case 'VariableDeclaration':
|
||||
return this.astVariableDeclaration(ast, retArr, funcParam);
|
||||
case 'VariableDeclarator':
|
||||
@ -536,6 +538,43 @@ module.exports = class CPUFunctionNode extends BaseFunctionNode {
|
||||
return retArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
* @name astWhileStatement
|
||||
*
|
||||
* @desc Parses the abstract syntax tree for *do while* loop
|
||||
*
|
||||
*
|
||||
* @param {Object} whileNode - An ast Node
|
||||
* @param {Array} retArr - return array string
|
||||
* @param {Function} funcParam - FunctionNode, that tracks compilation state
|
||||
*
|
||||
* @returns {Array} the parsed webgl string
|
||||
*/
|
||||
astDoWhileStatement(doWhileNode, retArr, funcParam) {
|
||||
if (doWhileNode.type !== 'DoWhileStatement') {
|
||||
throw this.astErrorOutput(
|
||||
'Invalid while statment',
|
||||
doWhileNode, funcParam
|
||||
);
|
||||
}
|
||||
|
||||
retArr.push('for (let i = 0; i < LOOP_MAX; i++) {');
|
||||
this.astGeneric(doWhileNode.body, retArr, funcParam);
|
||||
retArr.push('if (!');
|
||||
this.astGeneric(doWhileNode.test, retArr, funcParam);
|
||||
retArr.push(') {\n');
|
||||
retArr.push('break;\n');
|
||||
retArr.push('}\n');
|
||||
retArr.push('}\n');
|
||||
|
||||
return retArr;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
|
||||
@ -94,6 +94,8 @@ module.exports = class WebGLFunctionNode extends FunctionNodeBase {
|
||||
return this.astForStatement(ast, retArr, funcParam);
|
||||
case 'WhileStatement':
|
||||
return this.astWhileStatement(ast, retArr, funcParam);
|
||||
case 'DoWhileStatement':
|
||||
return this.astDoWhileStatement(ast, retArr, funcParam);
|
||||
case 'VariableDeclaration':
|
||||
return this.astVariableDeclaration(ast, retArr, funcParam);
|
||||
case 'VariableDeclarator':
|
||||
@ -557,6 +559,42 @@ module.exports = class WebGLFunctionNode extends FunctionNodeBase {
|
||||
return retArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
* @name astWhileStatement
|
||||
*
|
||||
* @desc Parses the abstract syntax tree for *do while* loop
|
||||
*
|
||||
*
|
||||
* @param {Object} whileNode - An ast Node
|
||||
* @param {Array} retArr - return array string
|
||||
* @param {Function} funcParam - FunctionNode, that tracks compilation state
|
||||
*
|
||||
* @returns {Array} the parsed webgl string
|
||||
*/
|
||||
astDoWhileStatement(doWhileNode, retArr, funcParam) {
|
||||
if (doWhileNode.type !== 'DoWhileStatement') {
|
||||
throw this.astErrorOutput(
|
||||
'Invalid while statment',
|
||||
doWhileNode, funcParam
|
||||
);
|
||||
}
|
||||
|
||||
retArr.push('for (float i = 0.0; i < LOOP_MAX; i++) {');
|
||||
this.astGeneric(doWhileNode.body, retArr, funcParam);
|
||||
retArr.push('if (!');
|
||||
this.astGeneric(doWhileNode.test, retArr, funcParam);
|
||||
retArr.push(') {\n');
|
||||
retArr.push('break;\n');
|
||||
retArr.push('}\n');
|
||||
retArr.push('}\n');
|
||||
|
||||
return retArr;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
|
||||
@ -94,6 +94,8 @@ module.exports = class WebGLFunctionNode extends FunctionNodeBase {
|
||||
return this.astForStatement(ast, retArr, funcParam);
|
||||
case 'WhileStatement':
|
||||
return this.astWhileStatement(ast, retArr, funcParam);
|
||||
case 'DoWhileStatement':
|
||||
return this.astDoWhileStatement(ast, retArr, funcParam);
|
||||
case 'VariableDeclaration':
|
||||
return this.astVariableDeclaration(ast, retArr, funcParam);
|
||||
case 'VariableDeclarator':
|
||||
@ -557,6 +559,41 @@ module.exports = class WebGLFunctionNode extends FunctionNodeBase {
|
||||
return retArr;
|
||||
}
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
* @name astWhileStatement
|
||||
*
|
||||
* @desc Parses the abstract syntax tree for *do while* loop
|
||||
*
|
||||
*
|
||||
* @param {Object} whileNode - An ast Node
|
||||
* @param {Array} retArr - return array string
|
||||
* @param {Function} funcParam - FunctionNode, that tracks compilation state
|
||||
*
|
||||
* @returns {Array} the parsed webgl string
|
||||
*/
|
||||
astDoWhileStatement(doWhileNode, retArr, funcParam) {
|
||||
if (doWhileNode.type !== 'DoWhileStatement') {
|
||||
throw this.astErrorOutput(
|
||||
'Invalid while statment',
|
||||
doWhileNode, funcParam
|
||||
);
|
||||
}
|
||||
|
||||
retArr.push('for (float i = 0.0; i < LOOP_MAX; i++) {');
|
||||
this.astGeneric(doWhileNode.body, retArr, funcParam);
|
||||
retArr.push('if (!');
|
||||
this.astGeneric(doWhileNode.test, retArr, funcParam);
|
||||
retArr.push(') {\n');
|
||||
retArr.push('break;\n');
|
||||
retArr.push('}\n');
|
||||
retArr.push('}\n');
|
||||
|
||||
return retArr;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @memberOf WebGLFunctionNode#
|
||||
* @function
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user