Skip to content

Commit

Permalink
Fix incorrect types and add new test
Browse files Browse the repository at this point in the history
  • Loading branch information
ephread committed Jan 25, 2022
1 parent d74415f commit 944b819
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 10 deletions.
4 changes: 2 additions & 2 deletions addons/inkgd/runtime/content/native_function_call.gd
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ func call_list_increment_operation(list_int_params: Array) -> InkValue:
break

if item_origin != null:
var incremented_item = item_origin.try_get_item_with_value(target_int)
var incremented_item: InkTryGetResult = item_origin.try_get_item_with_value(target_int)
if incremented_item.exists:
result_raw_list.set_item(incremented_item.result, target_int)

Expand Down Expand Up @@ -223,7 +223,7 @@ func coerce_values_to_single_type(parameters_in: Array):
var int_val = int(val.value_object)
var list = special_case_list.value.origin_of_max_item

var item = list.try_get_item_with_value(int_val)
var item: InkTryGetResult = list.try_get_item_with_value(int_val)
if item.exists:
var casted_value = InkListValue.new_with_single_item(item.result, int_val)
parameters_out.append(casted_value)
Expand Down
6 changes: 3 additions & 3 deletions addons/inkgd/runtime/lists/ink_list.gd
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ func add_item(item: InkListItem) -> void:

for origin in origins:
if origin.name == item.origin_name:
var int_val: Dictionary = origin.try_get_value_for_item(item)
var int_val: InkTryGetResult = origin.try_get_value_for_item(item)
if int_val.exists:
set_item(item, int_val.result)
return
Expand Down Expand Up @@ -114,7 +114,7 @@ func add_item_by_string(item_name: String) -> void:
)
return

var item: InkListItem = InkListItem.new_with_origin_name(found_list_def.name, item_name)
var item = InkListItem.new_with_origin_name(found_list_def.name, item_name)
var item_val: int = found_list_def.value_for_item(item)
set_item(item, item_val)

Expand All @@ -132,7 +132,7 @@ func get_origin_of_max_item() -> InkListDefinition:
if origins == null:
return null

var max_origin_name: String = self.max_item.key.origin_name
var max_origin_name = self.max_item.key.origin_name
for origin in origins:
if origin.name == max_origin_name:
return origin
Expand Down
4 changes: 2 additions & 2 deletions addons/inkgd/runtime/story.gd
Original file line number Diff line number Diff line change
Expand Up @@ -1054,9 +1054,9 @@ func perform_logic_and_flow_control(content_obj: InkObject) -> bool:

var generated_list_value = null # ListValue

var found_list_def = self.list_definitions.try_list_get_definition(list_name_val.value)
var found_list_def: InkTryGetResult = self.list_definitions.try_list_get_definition(list_name_val.value)
if found_list_def.exists:
var found_item = found_list_def.result.try_get_item_with_value(int_val.value)
var found_item: InkTryGetResult = found_list_def.result.try_get_item_with_value(int_val.value)
if found_item.exists:
generated_list_value = InkListValue.new_with_single_item(
found_item.result,
Expand Down
2 changes: 1 addition & 1 deletion addons/inkgd/runtime/story_state.gd
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@ func push_evaluation_stack(obj: InkObject) -> void:
raw_list.origins.clear()

for n in raw_list.origin_names:
var def = self.story.list_definitions.try_list_get_definition(n)
var def: InkTryGetResult = self.story.list_definitions.try_list_get_definition(n)

if raw_list.origins.find(def.result) < 0:
raw_list.origins.append(def.result)
Expand Down
4 changes: 2 additions & 2 deletions addons/inkgd/runtime/variables_state.gd
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func set_callstack(value: InkCallStack):
# (String) -> Variant
func get(variable_name: String):
if self.patch != null:
var global = patch.try_get_global(variable_name)
var global: InkTryGetResult = patch.try_get_global(variable_name)
if global.exists:
return global.result.value_object

Expand Down Expand Up @@ -278,7 +278,7 @@ func set_global(variable_name: String, value: InkObject) -> void:
# Slightly different structure from upstream, since we can't use
# try_get_global in the conditional.
if patch != null:
var patch_value = patch.try_get_global(variable_name)
var patch_value: InkTryGetResult = patch.try_get_global(variable_name)
if patch_value.exists:
old_value = patch_value.result

Expand Down
12 changes: 12 additions & 0 deletions test/integration/runtime/test_lists.gd
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,18 @@ func test_more_list_operations():

assert_eq(story.continue_maximally(), "1\nl\nn\nl, m\nn\n")

func test_manual_item_addition():
var story = Story.new(load_file("list_save_load"))

var list: InkList = story.variables_state.get("l2")

assert_eq(str(list), "x")

var ink_list_item = InkListItem.new_with_origin_name("l2", "z")
list.add_item(ink_list_item)

assert_eq(str(list), "x, z")

# ############################################################################ #

func _prefix():
Expand Down

0 comments on commit 944b819

Please sign in to comment.