Alvaro Jimenez Rielo Messages: 41 Registered: July 2009 Location: Rey Juan Carlos Universit...
Member
Hello !
I'm using EVL to validate GMF diagrams which their metamodel root's name is "Model".
I have this constraint:
constraint UniqueName {
guard : self.satisfies('validStructuredTypeName')
check : self.model.datatype->select(p|p.isTypeOf(StructuredType))->select(s|s.Name = self.Name)->size() = 1
message : 'UDT Name should be unique'
fix{
title: self.Name + ' -> Choose other Name'
do {
self.Name :=UserInput.prompt('Choose other Name', self.Name);
}
}
}
Eclipse highlights "model" as a reserved word and when I validate a diagram I receive the following error: bundleresource://781/model/ORDB4ORA.evl has one or more syntax errors :
Line: 70, Column: 22, Reason: mismatched input: '.'
Line 70 is :
check : self.model.datatype->select(p|p.isTypeOf(StructuredType))->select(s|s.Name = self.Name)->size() = 1
Is "model" a reserved word?
In affirmative case: How do I use "model" like not-reserved word?
Álvaro Jiménez Rielo
Kybele Research Group
Rey Juan Carlos University (Madrid)
Reserved words can be escaped by enclosing them into `` (e.g.
self.`model`.datatype)
Cheers,
Dimitris
ajimenezr wrote:
> Hello !
>
> I'm using EVL to validate GMF diagrams which their metamodel root's name
> is "Model". I have this constraint:
>
> constraint UniqueName {
> guard : self.satisfies('validStructuredTypeName')
> check :
> self.model.datatype->select(p|p.isTypeOf(StructuredType))->select(s|s.Name
> = self.Name)->size() = 1
> message : 'UDT Name should be unique'
> fix{
> title: self.Name + ' -> Choose other Name'
> do {
> self.Name :=UserInput.prompt('Choose other Name',
> self.Name);
> }
> }
> }
>
> Eclipse highlights "model" as a reserved word and when I validate a
> diagram I receive the following error:
> bundleresource://781/model/ORDB4ORA.evl has one or more syntax errors :
> Line: 70, Column: 22, Reason: mismatched input: '.'
>
> Line 70 is :
> check :
> self.model.datatype->select(p|p.isTypeOf(StructuredType))->select(s|s.Name
> = self.Name)->size() = 1
>
> Is "model" a reserved word? In affirmative case: How do I use "model"
> like not-reserved word?
>
> Álvaro Jiménez Rielo
> Kybele Research Group Rey Juan Carlos University (Madrid)