|
@@ -145,22 +145,24 @@ Element function get_possible_bindings(host_model : Element, schedule_model : El
|
|
if (bool_not(set_in(map, option))):
|
|
if (bool_not(set_in(map, option))):
|
|
// Option is already present with another label, so skip this!
|
|
// Option is already present with another label, so skip this!
|
|
|
|
|
|
- // Check for local constraints of element
|
|
|
|
- if (element_eq(read_attribute(schedule_model, current_element, "constraint"), read_root())):
|
|
|
|
- // No local constraints, so all is well
|
|
|
|
- set_add(filtered_options, option)
|
|
|
|
- else:
|
|
|
|
- // Check local constraints and add only if positive
|
|
|
|
- Element constraint_function
|
|
|
|
- Boolean result
|
|
|
|
- Element func
|
|
|
|
|
|
+ // Check if it conforms to the desired type
|
|
|
|
+ if (is_nominal_instance(host_model, option, original_typename)):
|
|
|
|
+ // Check for local constraints of element
|
|
|
|
+ if (element_eq(read_attribute(schedule_model, current_element, "constraint"), read_root())):
|
|
|
|
+ // No local constraints, so all is well
|
|
|
|
+ set_add(filtered_options, option)
|
|
|
|
+ else:
|
|
|
|
+ // Check local constraints and add only if positive
|
|
|
|
+ Element constraint_function
|
|
|
|
+ Boolean result
|
|
|
|
+ Element func
|
|
|
|
|
|
- constraint_function = read_attribute(schedule_model, current_element, "constraint")
|
|
|
|
- func = get_func_AL_model(import_node(constraint_function))
|
|
|
|
- result = func(host_model, option)
|
|
|
|
|
|
+ constraint_function = read_attribute(schedule_model, current_element, "constraint")
|
|
|
|
+ func = get_func_AL_model(import_node(constraint_function))
|
|
|
|
+ result = func(host_model, option)
|
|
|
|
|
|
- if (result):
|
|
|
|
- set_add(filtered_options, option)
|
|
|
|
|
|
+ if (result):
|
|
|
|
+ set_add(filtered_options, option)
|
|
|
|
|
|
Element attributes
|
|
Element attributes
|
|
String attribute
|
|
String attribute
|