primitive hack to support TYPE::allInstances()
git-svn-id: https://projects.brucker.ch/su4sml/svn/infsec-import/trunk/src/su4sml@5455 3260e6d1-4efc-4170-b0a7-36055960796d
This commit is contained in:
parent
3ba0df156e
commit
c475221df5
|
@ -261,8 +261,16 @@ fun mkOCLExpression (tree as Node(("UML15OCL.Expressions.BooleanLiteralExp",atts
|
|||
}
|
||||
| mkOCLExpression (tree as Node(("UML15OCL.Expressions.OperationCallExp",atts),_))
|
||||
= XMI.OperationCallExp
|
||||
{ source = tree |> get_one "OCL.Expressions.PropertyCallExp.source"
|
||||
|> mkOCLExpression,
|
||||
{ source = (tree |> get_one "OCL.Expressions.PropertyCallExp.source"
|
||||
|> mkOCLExpression)
|
||||
(* This hack is necessary to support TYPE::allInstances() as parsed *)
|
||||
(* by dresden-ocl. *)
|
||||
handle IllFormed msg =>
|
||||
XMI.LiteralExp
|
||||
{ symbol = "",
|
||||
expression_type = tree |> get_one "OCL.Expressions.FeatureCallExp.srcType"
|
||||
|> xmiidref
|
||||
},
|
||||
arguments = tree |> get "OCL.Expressions.OperationCallExp.arguments"
|
||||
|> map mkOCLExpression,
|
||||
referredOperation = tree |> xmiidref_to "OCL.Expressions.OperationCallExp.referredOperation",
|
||||
|
|
Loading…
Reference in New Issue