Skip to content

Instantly share code, notes, and snippets.

@OszkarSemerath
Created August 1, 2012 09:25
Show Gist options
  • Save OszkarSemerath/3225406 to your computer and use it in GitHub Desktop.
Save OszkarSemerath/3225406 to your computer and use it in GitHub Desktop.
EClassifier type in parameter list doesn't work in some cases
package bughunter
import "http://www.eclipse.org/viatra2/patternlanguage/core/PatternLanguage"
import "http://www.eclipse.org/viatra2/patternlanguage/EMFPatternLanguage"
import "http://www.eclipse.org/emf/2002/Ecore"
@QueryExplorer(display = true) pattern ClassConstrainInDirectBodyByEntities(pat:Pattern, body:PatternBody, variable:Variable, class:EClassifier, constraint:EClassifierConstraint) =
{
Pattern.bodies(pat,body);
PatternBody.constraints(body,constraint);
EClassifierConstraint.^var.variable(constraint,variable);
EClassifierConstraint.type(constraint,type);
ClassType.classname(type,class);
}
@QueryExplorer(display = true) pattern ClassConstrainInDirectBodyByEntities2(pat:Pattern, body:PatternBody, variable:Variable, class:EClassifier, constraint:EClassifierConstraint) =
{
find ClassConstrainInDirectBodyByEntities(pat,body,variable,class,constraint);
}
@QueryExplorer(display = true) pattern ClassConstrainInDirectBodyByEntities3(pat:Pattern, body:PatternBody, variable:Variable, class/*:EClassifier*/, constraint:EClassifierConstraint) =
{
find ClassConstrainInDirectBodyByEntities(pat,body,variable,class,constraint);
}
@QueryExplorer(display = true) pattern ClassConstrainInDirectBodyByEntities4(pat:Pattern, body:PatternBody, variable:Variable, class:EObject/*:EClassifier*/, constraint:EClassifierConstraint) =
{
find ClassConstrainInDirectBodyByEntities(pat,body,variable,class,constraint);
}
package testpatterns
import "http://school.ecore"
pattern schools(S) =
{
School(S);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment