Not initialiazed variables now returns BuiltinConcepts.NOT_INITIALIZED

This commit is contained in:
2020-05-23 10:01:50 +02:00
parent 3ce6ce2a76
commit 32fb0e5398
9 changed files with 25 additions and 22 deletions
+3 -1
View File
@@ -61,6 +61,7 @@ class BuiltinConcepts(Enum):
EXPLANATION = "explanation"
PRECEDENCE = "precedence" # use to set priority among concepts when parsing
ASSOCIATIVITY = "associativity" # use to set priority among concepts when parsing
NOT_INITIALIZED = "not initialized"
NODE = "node"
GENERIC_NODE = "generic node"
@@ -104,7 +105,8 @@ BuiltinErrors = [str(e) for e in {
BuiltinConcepts.CONCEPT_ALREADY_IN_SET,
BuiltinConcepts.NOT_A_SET,
BuiltinConcepts.WHERE_CLAUSE_FAILED,
BuiltinConcepts.CHICKEN_AND_EGG
BuiltinConcepts.CHICKEN_AND_EGG,
BuiltinConcepts.NOT_INITIALIZED
}]
"""
+2 -1
View File
@@ -391,7 +391,8 @@ class Concept:
:return:
"""
if prop_name not in self.values:
return None
from core.builtin_concepts import BuiltinConcepts
return BuiltinConcepts.NOT_INITIALIZED
return self.values[prop_name].value
def variables(self):
+1 -1
View File
@@ -657,7 +657,7 @@ class Sheerka(Concept):
if not isinstance(obj, Concept):
return obj
if obj.body is None:
if obj.body is BuiltinConcepts.NOT_INITIALIZED:
return obj
if reduce_simple_list and (isinstance(obj.body, list) or isinstance(obj.body, set)) and len(obj.body) == 1: