blob: 1771a253d6376963981131621a7bdd128e9d92b4 [file] [log] [blame]
transformation equndefined;
modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore';
mapping main(in model: ecore::EPackage): ecore::EPackage {
end {
var int : Integer := 1;
var real : Real := 2.0;
var str : String := '';
var bool : Boolean := true;
var bag : Bag(Integer) := Bag{1};
var set : Set(Integer) := Set{1};
var oset : OrderedSet(Integer) := OrderedSet{1};
var seq : Sequence(Integer) := Sequence{1};
result.eClassifiers += test(invalid = model, '=model');
result.eClassifiers += test(model = invalid, 'model=');
result.eClassifiers += test(invalid = int, '=int');
result.eClassifiers += test(int = invalid, 'int=');
result.eClassifiers += test(invalid = real, '=real');
result.eClassifiers += test(real = invalid, 'real=');
result.eClassifiers += test(invalid = str, '=str');
result.eClassifiers += test(str = invalid, 'str=');
result.eClassifiers += test(invalid = bool, '=bool');
result.eClassifiers += test(bool = invalid, 'bool=');
--result.eClassifiers += test(Invalid = bag, '=bag');
result.eClassifiers += test(bag = invalid, 'bag=');
--result.eClassifiers += test(invalid = set, '=set');
result.eClassifiers += test(set = invalid, 'set=');
--result.eClassifiers += test(invalid = oset, '=oset');
result.eClassifiers += test(oset = invalid, 'oset=');
--result.eClassifiers += test(invalid = seq, '=seq');
result.eClassifiers += test(seq = invalid, 'seq=');
result.eClassifiers += test(invalid <> model, '<>model');
result.eClassifiers += test(model <> invalid, 'model<>');
result.eClassifiers += test(invalid <> int, '<>int');
result.eClassifiers += test(int <> invalid, 'int<>');
result.eClassifiers += test(invalid <> real, '<>real');
result.eClassifiers += test(real <> invalid, 'real<>');
result.eClassifiers += test(invalid <> str, '<>str');
result.eClassifiers += test(str <> invalid, 'str<>');
result.eClassifiers += test(invalid <> bool, '<>bool');
result.eClassifiers += test(bool <> invalid, 'bool<>');
--result.eClassifiers += test(invalid <> bag, '<>bag');
result.eClassifiers += test(bag <> invalid, 'bag<>');
--result.eClassifiers += test(invalid <> set, '<>set');
result.eClassifiers += test(set <> invalid, 'set<>');
--result.eClassifiers += test(invalid <> oset, '<>oset');
result.eClassifiers += test(oset <> invalid, 'oset<>');
--result.eClassifiers += test(invalid <> seq, '<>seq');
result.eClassifiers += test(seq <> invalid, 'seq<>');
}
}
mapping test(in b : Boolean, in s : String) : ecore::EClass {
name := s + ': ' + if b.oclIsUndefined() then 'undef' else if b then 'true' else 'false' endif endif;
}