Rerun rule compilation for exists() on indeterminate

This commit is contained in:
Thomas Krijnen
2026-01-15 13:00:37 +01:00
parent 2d1250c18f
commit 6cd1375cf9
12 changed files with 24 additions and 24 deletions
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default
@@ -3,11 +3,11 @@ import ifcopenshell
def exists(v): def exists(v):
if callable(v): if callable(v):
try: try:
return v() is not None return exists(v())
except IndexError as e: except IndexError as e:
return False return False
else: else:
return v is not None return v is not None and v is not INDETERMINATE
def nvl(v, default): def nvl(v, default):
return v if v is not None else default return v if v is not None else default