aboutsummaryrefslogtreecommitdiff
path: root/src/entity.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/entity.cpp')
-rw-r--r--src/entity.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/entity.cpp b/src/entity.cpp
index fa76026ff..1374f8c06 100644
--- a/src/entity.cpp
+++ b/src/entity.cpp
@@ -56,6 +56,19 @@ enum EntityState {
};
+enum ParameterValueKind {
+ ParameterValue_Invalid,
+ ParameterValue_Constant,
+ ParameterValue_Nil,
+ ParameterValue_Location,
+};
+
+struct ParameterValue {
+ ParameterValueKind kind;
+ ExactValue value;
+};
+
+
// An Entity is a named "thing" in the language
struct Entity {
EntityKind kind;
@@ -84,7 +97,9 @@ struct Entity {
struct {
i32 field_index;
i32 field_src_index;
- ExactValue default_value;
+
+ ParameterValue param_value;
+
String thread_local_model;
Entity * foreign_library;
Ast * foreign_library_ident;
@@ -93,9 +108,8 @@ struct Entity {
bool is_foreign;
bool is_export;
- bool default_is_nil;
- bool default_is_undef;
- bool default_is_location;
+ // bool default_is_nil;
+ // bool default_is_location;
bool is_immutable;
} Variable;
struct {