@@ -100,7 +100,7 @@ boolean
100100
101101 query
102102true
103- (name = "OclType" => result = false) & (name = "OclAttribute" => result = false) & (name = "OclOperation" => result = false) & (name = "OclProcess" => result = false) & (name = "OclProcessGroup" => result = false) & (name = "ocltnode" => result = false) & (name = "OclIterator" => result = false) & (name = "OclFile" => result = false) & (name = "MathLib" => result = false) & (name = "OclDate" => result = false) & (name = "OclRandom" => result = false) & (name = "OclException" => result = false) & (true => result = true)
103+ (name = "OclType" => result = false) & (name = "OclAttribute" => result = false) & (name = "OclOperation" => result = false) & (name = "OclProcess" => result = false) & (name = "OclProcessGroup" => result = false) & (name = "ocltnode" => result = false) & (name = "OclIterator" => result = false) & (name = "OclFile" => result = false) & (name = "MathLib" => result = false) & (name = "OclDate" => result = false) & (name = "OclRandom" => result = false) & (name = "OclException" => result = false) & (name->hasSuffix("Exception") => result = false) & ( true => result = true)
104104
105105
106106
@@ -1129,10 +1129,18 @@ Association:
11291129CVariable CType 0 1047 993 937 900 1 type null
11301130
11311131
1132+
11321133Association:
11331134COperation CType 0 816 917 901 899 1 returnType null
11341135
11351136
1137+
1138+ Association:
1139+ COperation CType 0 816 917 901 899 1 elementType null
1140+
1141+
1142+
1143+
11361144Association:
11371145CArrayType CType 0 740 820 901 851 1 componentType null 741 847
11381146
@@ -1242,7 +1250,7 @@ Property Expression -1 664 678 335 816 1 initialValue null 665 826 514 822
12421250
12431251
12441252Association:
1245- BasicExpression BasicExpression -1 490 953 408 1162 -1 objectRef null 552 953 551 1002 443 1203
1253+ BasicExpression Expression -1 490 953 408 1162 -1 objectRef null 552 953 551 1002 443 1203
12461254
12471255
12481256Generalisation:
@@ -1606,7 +1614,7 @@ false
16061614Constraint:
16071615null
16081616self.isApplicationClass() & BinaryExpression->exists( be | be.operator = "->collect" & be.left.elementType.name = name )
1609- ( " void** collect" + name + "(struct " + name + "* col[], void* (*fe)(struct " + name + "*));\n" )->display() & ( " int* collect" + name + "_int (struct " + name + "* col[], int (*fe)(struct " + name + "*));\n" )->display() & ( " long* collect" + name + "_long (struct " + name + "* col[], long (*fe)(struct " + name + "*));\n" )->display() & ( " double* collect" + name + "_double (struct " + name + "* col[], double (*fe)(struct " + name + "*));\n" )->display()
1617+ ( "void** collect" + name + "(struct " + name + "* col[], void* (*fe)(struct " + name + "*));\n" )->display() & ( "int** collect" + name + "int (struct " + name + "* col[], int (*fe)(struct " + name + "*));\n" )->display() & ( "long** collect" + name + "long (struct " + name + "* col[], long (*fe)(struct " + name + "*));\n" )->display() & ( "double** collect" + name + " double(struct " + name + "* col[], double (*fe)(struct " + name + "*));\n" )->display() & ( "unsigned char** collect" + name + "boolean (struct " + name + "* col[], unsigned char (*fe)(struct " + name + "*));\n" )->display()
16101618CStruct printcode
16111619false
16121620
@@ -1887,24 +1895,29 @@ false
18871895
18881896
18891897
1898+
1899+
1900+
18901901Constraint:
1891- name = "OclAny "
1902+ name = "void "
18921903null
1893- CPointerType ->exists( t | t .ctypeId = typeId & CPrimitiveType->exists( p | p .name = "void" & p.ctypeId = typeId + "_void" & t.pointsTo = p ) )
1904+ CPrimitiveType ->exists( p | p .ctypeId = typeId & p .name = "void" )
18941905PrimitiveType types2C
18951906false
18961907
18971908
18981909
1910+
18991911Constraint:
1900- name = "void "
1912+ name = "OclAny "
19011913null
1902- CPrimitiveType ->exists( p | p .ctypeId = typeId & p .name = "void" )
1914+ CPointerType ->exists( t | t .ctypeId = typeId & CPrimitiveType->exists( p | p .name = "void" & p.ctypeId = "void" & t.pointsTo = p ) )
19031915PrimitiveType types2C
19041916false
19051917
19061918
19071919
1920+
19081921Constraint:
19091922name = "OclType"
19101923null
@@ -1914,6 +1927,8 @@ false
19141927
19151928
19161929
1930+
1931+
19171932Constraint:
19181933null
19191934true
@@ -2005,7 +2020,7 @@ false
20052020
20062021Constraint:
20072022name = "Function"
2008- null
2023+ not(keyType->oclIsUndefined())
20092024CFunctionPointerType->exists( a | a.ctypeId = typeId & a.rangeType = CType@pre[elementType.typeId] & a.domainType = CType@pre[keyType.typeId] )
20102025CollectionType types2C
20112026false
@@ -2040,7 +2055,7 @@ false
20402055Constraint:
20412056null
20422057isStatic = false
2043- COperation->exists( op | op.name = name + "_" + owner.name & op.opId = name + "_" + owner.name & op.inheritedFrom = "" & op.scope = "entity" & op.isQuery = isQuery & op.isStatic = isStatic & op.isAbstract = isAbstract & op.classname = owner.name & op.definers = CStruct[definers.name] & op.returnType = CType[type.typeId] & CVariable->exists( s | s.name = "self" & s.type = CType[owner.typeId] & s : op.parameters ) & parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
2058+ COperation->exists( op | op.name = name + "_" + owner.name & op.opId = name + "_" + owner.name & op.inheritedFrom = "" & op.scope = "entity" & op.isQuery = isQuery & op.isStatic = isStatic & op.isAbstract = isAbstract & op.classname = owner.name & op.definers = CStruct[definers.name] & op.returnType = CType[type.typeId] & op.elementType = CType[elementType.typeId] & CVariable->exists( s | s.name = "self" & s.type = CType[owner.typeId] & s : op.parameters ) & parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
20442059Operation program2C
20452060false
20462061
@@ -2052,7 +2067,7 @@ false
20522067Constraint:
20532068iop : inheritedOperations()
20542069iop.isStatic = false & iop.name /: ownedOperation.name
2055- COperation->exists( op | op.name = iop.name + "_" + name & op.inheritedFrom = superclass.any.name & op.opId = iop.name + "_" + name & op.scope = "entity" & op.isQuery = iop.isQuery & op.isStatic = false & op.classname = name & op.returnType = CType[iop.type.typeId] & CVariable->exists( s | s.name = "self" & s.type = CType[typeId] & s : op.parameters ) & iop.parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
2070+ COperation->exists( op | op.name = iop.name + "_" + name & op.inheritedFrom = superclass.any.name & op.opId = iop.name + "_" + name & op.scope = "entity" & op.isQuery = iop.isQuery & op.isStatic = false & op.classname = name & op.returnType = CType[iop.type.typeId] & op.elementType = CType[iop.elementType.typeId] & CVariable->exists( s | s.name = "self" & s.type = CType[typeId] & s : op.parameters ) & iop.parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
20562071Entity program2C
20572072false
20582073
@@ -2063,7 +2078,7 @@ false
20632078Constraint:
20642079null
20652080isStatic = true
2066- COperation->exists( op | op.name = name & op.opId = name + "_" + owner.name & op.scope = "entity" & op.isQuery = isQuery & op.isStatic = isStatic & op.classname = owner.name & op.returnType = CType[type.typeId] & parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
2081+ COperation->exists( op | op.name = name & op.opId = name + "_" + owner.name & op.scope = "entity" & op.isQuery = isQuery & op.isStatic = isStatic & op.classname = owner.name & op.returnType = CType[type.typeId] & op.elementType = CType[elementType.typeId] & parameters->forAll( p | CVariable->exists( v | v.name = p.name & v.type = CType[p.type.typeId] & v : op.parameters ) ) )
20672082Operation program2C
20682083false
20692084
@@ -2426,17 +2441,6 @@ Statement *
24262441
24272442
24282443
2429- Operation:
2430- toPython
2431- ErrorStatement
2432- String
2433- indent int
2434- query
2435- true
2436- obs = thrownObject.objectRef & pars = thrownObject.parameters => result = Statement.tab(indent) + "raise " + thrownObject.mapErrorCall(obs.toPython(),pars.toPython()) + "\n"
2437-
2438-
2439-
24402444
24412445
24422446Entity:
0 commit comments