-
Notifications
You must be signed in to change notification settings - Fork 166
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Implement attributes for `Const dict` * Remove duplicate changes * Improve checking for `Const` types * Simplify type checking for `Const dict`. * Add tests * Update test * Update fetching attribute name logic Co-authored-by: Thirumalai Shaktivel <[email protected]> * Update test references * Update fetching `dict_type` Co-authored-by: Thirumalai Shaktivel <[email protected]> * Formatting changes * Update test references * Update error test references * Tests: Update test references * Tests: Add runtime tests and update test references * Remove checks on the absent `Const` node * Remove call to `get_contained_type()` * Tests: Add tests and update references * Style changes * Tests: Update tests and add to CMakeLists * Delete tests/reference/asr-test_const_dict-151acad.json * Delete tests/reference/asr-test_const_dict-151acad.stdout * Delete tests/reference/asr-test_const_dict-59445d7.json * Delete tests/reference/asr-test_dict_const-69479e2.json * Delete tests/reference/asr-test_dict_const-69479e2.stderr * Delete tests/reference/asr-test_dict_const-69479e2.stdout * Delete tests/reference/runtime-test_dict_const-62054df.json * Delete tests/reference/runtime-test_dict_const-62054df.stderr * Delete tests/reference/asr-test_const_dict-59445d7.stderr * Tests: Update error references * Undo formatting changes * Remove extra newline --------- Co-authored-by: Thirumalai Shaktivel <[email protected]>
- Loading branch information
1 parent
8451ad2
commit a74d529
Showing
7 changed files
with
59 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
from lpython import i32, f64, Const | ||
|
||
CONST_DICTIONARY_INTEGR: Const[dict[str, i32]] = {"a": 1, "b": 2, "c": 3} | ||
|
||
print(CONST_DICTIONARY_INTEGR.get("a")) | ||
assert CONST_DICTIONARY_INTEGR.get("a") == 1 | ||
|
||
print(CONST_DICTIONARY_INTEGR.keys()) | ||
assert len(CONST_DICTIONARY_INTEGR.keys()) == 3 | ||
|
||
print(CONST_DICTIONARY_INTEGR.values()) | ||
assert len(CONST_DICTIONARY_INTEGR.values()) == 3 | ||
|
||
CONST_DICTIONARY_FLOAT: Const[dict[str, f64]] = {"a": 1.0, "b": 2.0, "c": 3.0} | ||
|
||
print(CONST_DICTIONARY_FLOAT.get("a")) | ||
assert CONST_DICTIONARY_FLOAT.get("a") == 1.0 | ||
|
||
print(CONST_DICTIONARY_FLOAT.keys()) | ||
assert len(CONST_DICTIONARY_FLOAT.keys()) == 3 | ||
|
||
print(CONST_DICTIONARY_FLOAT.values()) | ||
assert len(CONST_DICTIONARY_FLOAT.values()) == 3 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
from lpython import i32, f64, dict, Const | ||
|
||
|
||
def test_const_dict(): | ||
CONST_DICTIONARY: Const[dict[str, i32]] = {"a": 1, "b": 2, "c": 3} | ||
print(CONST_DICTIONARY.pop("a")) | ||
|
||
|
||
test_const_dict() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"basename": "asr-test_const_dict-59445d7", | ||
"cmd": "lpython --show-asr --no-color {infile} -o {outfile}", | ||
"infile": "tests/errors/test_const_dict.py", | ||
"infile_hash": "51130e98c759eb3cdbd50848e59879e4689d241c7a8674aa06a5b3c7", | ||
"outfile": null, | ||
"outfile_hash": null, | ||
"stdout": null, | ||
"stdout_hash": null, | ||
"stderr": "asr-test_const_dict-59445d7.stderr", | ||
"stderr_hash": "1d3729d80a7895dd01baaf0905c6cc9ebadd7f7ce623f4ae5970e2b8", | ||
"returncode": 2 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
semantic error: cannot pop elements from a const dict | ||
--> tests/errors/test_const_dict.py:6:11 | ||
| | ||
6 | print(CONST_DICTIONARY.pop("a")) | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters