@microsoft.azure/autorest.incubator
Version:
AutoRest incubator project
47 lines • 1.82 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const text_manipulation_1 = require("../../../common/text-manipulation");
const expression_1 = require("../../../csharp/code-dom/expression");
const statement_1 = require("../../../csharp/code-dom/statements/statement");
function For(initialization, condition, loop, statements, objectInitializer) {
return new ForStatement(initialization, condition, loop, statements, objectInitializer);
}
exports.For = For;
class ForStatement extends statement_1.Statements {
constructor(initialization, condition, loop, statements, objectInitializer) {
super(statements);
this.initialization = initialization;
this.condition = condition;
this.loop = loop;
this.apply(objectInitializer);
}
get implementation() {
return `
for( ${expression_1.valueOf(this.initialization)} ; ${expression_1.valueOf(this.condition)} ; ${expression_1.valueOf(this.loop)})
{
${text_manipulation_1.indent(super.implementation)}
}`.trim();
}
}
exports.ForStatement = ForStatement;
function ForEach(variable, enumerable, statements, objectInitializer) {
return new ForEachStatement(variable, enumerable, statements, objectInitializer);
}
exports.ForEach = ForEach;
class ForEachStatement extends statement_1.Statements {
constructor(variable, enumerable, statements, objectInitializer) {
super(statements);
this.variable = variable;
this.enumerable = enumerable;
this.apply(objectInitializer);
}
get implementation() {
return `
foreach( var ${this.variable} in ${expression_1.valueOf(this.enumerable)} )
{
${text_manipulation_1.indent(super.implementation)}
}`.trim();
}
}
exports.ForEachStatement = ForEachStatement;
//# sourceMappingURL=for.js.map