Skip to content

Commit

Permalink
New plug-in for validation in GEMOC Studio (#164)
Browse files Browse the repository at this point in the history
* add new extension point in GEMOC allowing providing validation rules for dsl file

* Modification for the DSLValidator, usage of RuleProvider
* Ecore Rule and Ecore RuleProvider in metaprog plug-in

contributes to eclipse-gemoc/gemoc-studio-modeldebugging#49 eclipse-gemoc/gemoc-studio#161 eclipse-gemoc/gemoc-studio#91 eclipse-gemoc/gemoc-studio#37

Signed-off-by: Ronan Guéguen <[email protected]>
  • Loading branch information
Kairides authored Apr 15, 2020
1 parent 28ecd2e commit 2ae64c3
Show file tree
Hide file tree
Showing 33 changed files with 478 additions and 179 deletions.
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>commons</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
2 changes: 2 additions & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8
5 changes: 5 additions & 0 deletions plugin.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

</plugin>
Original file line number Diff line number Diff line change
Expand Up @@ -187,5 +187,10 @@ public Class<? extends org.eclipse.compare.IViewerCreator> bindIViewerCreator()
return org.eclipse.xtext.ui.compare.DefaultViewerCreator.class;
}

// contributed by org.eclipse.xtext.ui.generator.compare.CompareFragment
public void configureCompareViewerTitle(com.google.inject.Binder binder) {
binder.bind(String.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.UIBindings.COMPARE_VIEWER_TITLE)).toInstance("GExpressions Compare");
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -326,7 +326,7 @@ protected void sequence_GEnumLiteralExpression(ISerializationContext context, GE
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GexpressionsPackage.Literals.GENUM_LITERAL_EXPRESSION__VALUE));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getGEnumLiteralExpressionAccess().getValueEEnumLiteralQualifiedNameParserRuleCall_2_0_1(), semanticObject.getValue());
feeder.accept(grammarAccess.getGEnumLiteralExpressionAccess().getValueEEnumLiteralQualifiedNameParserRuleCall_2_0_1(), semanticObject.eGet(GexpressionsPackage.Literals.GENUM_LITERAL_EXPRESSION__VALUE, false));
feeder.finish();
}

Expand Down Expand Up @@ -535,7 +535,7 @@ protected void sequence_GNavigationExpression(ISerializationContext context, GNa
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getGNavigationExpressionAccess().getGNavigationExpressionBodyAction_1_0(), semanticObject.getBody());
feeder.accept(grammarAccess.getGNavigationExpressionAccess().getReferencedEObjectEObjectIDTerminalRuleCall_1_2_0_1(), semanticObject.getReferencedEObject());
feeder.accept(grammarAccess.getGNavigationExpressionAccess().getReferencedEObjectEObjectIDTerminalRuleCall_1_2_0_1(), semanticObject.eGet(GexpressionsPackage.Literals.GNAVIGATION_EXPRESSION__REFERENCED_EOBJECT, false));
feeder.finish();
}

Expand Down Expand Up @@ -645,7 +645,7 @@ protected void sequence_GReferenceExpression(ISerializationContext context, GRef
errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GexpressionsPackage.Literals.GREFERENCE_EXPRESSION__REFERENCED_EOBJECT));
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getGReferenceExpressionAccess().getReferencedEObjectEObjectIDTerminalRuleCall_1_1_0_1(), semanticObject.getReferencedEObject());
feeder.accept(grammarAccess.getGReferenceExpressionAccess().getReferencedEObjectEObjectIDTerminalRuleCall_1_1_0_1(), semanticObject.eGet(GexpressionsPackage.Literals.GREFERENCE_EXPRESSION__REFERENCED_EOBJECT, false));
feeder.finish();
}

Expand Down
Loading

0 comments on commit 2ae64c3

Please sign in to comment.