blob: 2a89fd3602567aba8639861848e1021b9fadce74 [file] [log] [blame]
modeltype ecore uses "http://www.eclipse.org/emf/2002/Ecore";
transformation _while(in model : ecore, out modelOut : ecore);
main() {
var p:= object EPackage {
name:='pack';
};
p.eClassifiers += object EClass {
name := 'aName';
name := while(false) {
10;
};
};
p.eClassifiers += object EClass {
name:= while(s : String := 'nameFromWhile1'; false) {
}
};
p.eClassifiers += object EClass {
name:= while(s : String := ''; s.size() = 0) {
s := 'nameFromWhile2';
};
};
var count : Integer := 4;
var i : Integer := 0;
var strResult := '';
while(i < count) {
i := i + 1;
strResult := strResult + 'x';
if (i < count) then {
while(n:Integer:= 2; n > 0) {
strResult := strResult + '_';
n := n - 1;
};
while(n:Integer:= 2; n > 0) {
strResult := strResult + '.';
n := n - 1;
};
} endif;
};
p.eClassifiers += object EClass {
name := strResult;
};
-- test proper variable value assigned
var r1 : String := while(n : String := null; n = null) {
n := 'r1';
};
var r2 : String := while(n : String := null; n = null) {
n := 'r2';
};
p.eClassifiers += object EClass {
name := r1 + '_' + r2;
};
}