Skip to content

Instantly share code, notes, and snippets.

@abelhegedus
Created May 24, 2012 15:13
Show Gist options
  • Save abelhegedus/2782145 to your computer and use it in GitHub Desktop.
Save abelhegedus/2782145 to your computer and use it in GitHub Desktop.
Small examples for EMF-IncQuery part 2
pattern ClassWithGivenNameAndHasAttribute(Cls : EClass) = {
find EClassWithGivenName(Cls);
find ClassAttributes(Cls,Attr);
}
pattern ClassWithGivenNameAndNoAttribute(Cls : EClass) = {
find EClassWithGivenName(Cls);
neg find ClassAttributes(Cls,Attr);
}
pattern ClassWithGivenNameAndNoAttribute(Cls : EClass) = {
find EClassWithGivenName(Cls);
EAttribute(Attr);
neg find ClassAttributes(Cls,Attr);
}
pattern TwoClassesAreTheSame(Cls : EClass, Cls2 : EClass) = {
EClass.name(Cls,"MyClass");
EClass.eAttributes(Cls2,Attr);
Cls == Cls2;
}
pattern TwoClassesDifferent(Cls : EClass, Cls2 : EClass) = {
EClass.name(Cls,"MyClass");
EClass.eAttributes(Cls2,Attr);
Cls != Cls2;
}
pattern TwoClassesMaybeTheSame(Cls : EClass, Cls2 : EClass) = {
EClass.name(Cls,"MyClass");
EClass.eAttributes(Cls2,Attr);
}
pattern TwoClassesMaybeTheSame(Cls : EClass, Cls2 : EClass) = {
find EClassWithGivenName(Cls);
find ClassAttributes(Cls2,Attr);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment