blob: e6a4e6bbc06d6c61a06dce91bd493bc023edc51c [file] [log] [blame]
import com.foo.FooLibImport;
modeltype ECORE "strict" uses ecore('http://www.eclipse.org/emf/2002/Ecore');
library FooLib;
property suffix : String = '_suffix';
helper String::testEchoContextual(inStr : String, upperCase : Boolean) : String {
if(upperCase) then {
return self + inStr.toUpper() + suffix;
} endif;
return self + inStr + suffix;
}
query testEchoContextless(inStr : String, upperCase : Boolean) : String {
if(upperCase) then {
return inStr.toUpper() + suffix;
} endif;
return inStr + suffix;
}
query testHelperWithAssertFailed() : String {
assert fatal (false);
return null;
}
-- tests log expression does not cause any failure
query testHelperWithLog() : String {
log('testHelperWithLog');
return 'testHelperWithLog';
}
-- tests resolve expression does not cause any failure
query EClass::testHelperWithResolve() : String {
assert fatal (self.resolve()->isEmpty());
return 'testHelperWithResolve';
}
helper testNoArgsHelper() : String {
return 'testNoArgsHelper';
}
query EClass::testQueryContextual() : String {
return null;
}
query testQueryNonContextual() : String {
return null;
}
helper testImportedVirtualCall() : Boolean {
-- do nothing, just represent a test-case
return true;
}
helper Collection(String)::testToUpperStrings() : Collection(String) {
return self.toUpper();
}
helper String::testCollectionTypeInImportsMatch() : String {
return Sequence{self, self}->collectionOpFromImportedLib();
}