Commit Graph

510 Commits

Author SHA1 Message Date
Sasha Koshka 2f2e762d02 Documented how methods are named 2024-02-19 12:09:21 -05:00
Sasha Koshka ff18aae2b6 entity.Key now has an optional method field 2024-02-19 12:05:13 -05:00
Sasha Koshka 4166fb8817 Move Key to Entity 2024-02-19 11:41:36 -05:00
Sasha Koshka d3df73e0ec Fixed wording issue in design/units.md 2024-02-19 11:18:17 -05:00
Sasha Koshka 569dd14f59 Analyzer does not allow operations on restricted types 2024-02-17 00:19:13 -05:00
Sasha Koshka 4b87551702 Analyzer does not allow literals to be assigned to restricted types 2024-02-17 00:12:32 -05:00
Sasha Koshka 9d009a1f64 Analyzer does not allow value casting of restricted types 2024-02-16 23:52:52 -05:00
Sasha Koshka 1b92c2cf81 Analyzer does not allow subscripting, slicing of restricted types 2024-02-16 23:10:38 -05:00
Sasha Koshka 3bc7467c85 Add more multi-unit test cases 2024-02-16 22:50:29 -05:00
Sasha Koshka ed282efdb7 Analyzer does not allow marking functions/methods as restricted 2024-02-16 22:31:38 -05:00
Sasha Koshka 654ba361e2 Analyzer does not allow member access on restricted types 2024-02-16 22:26:22 -05:00
Sasha Koshka 2d1b2bab43 Analyzer does not allow calling behaviors of restricted iface 2024-02-16 22:19:47 -05:00
Sasha Koshka f027a50756 Analyzer no longer thinks String is private 2024-02-16 22:13:30 -05:00
Sasha Koshka 444637bc15 Analyzer now fills out this information 2024-02-16 13:51:11 -05:00
Sasha Koshka f78a71950b Entity now stores unit and access information for types 2024-02-16 13:30:15 -05:00
Sasha Koshka c4cb1ce273 Should also make sure ~ only applies to types 2024-02-16 13:09:48 -05:00
Sasha Koshka eb9444dad3 Add more test cases for restricted typedefs in units 2024-02-16 13:06:40 -05:00
Sasha Koshka f93c9b26c8 When analyzing a typedef, update the unit information first 2024-02-16 12:54:34 -05:00
Sasha Koshka 37aa620f33 This is mega silly 2024-02-16 12:49:47 -05:00
Sasha Koshka 158a4220be Pass TestUnitPrivateMethod Err 2024-02-16 12:48:25 -05:00
Sasha Koshka 1fea25ba91 Fix behavior of Tree.analyzeMethodOrBehavior() 2024-02-16 12:43:42 -05:00
Sasha Koshka 6c7c7c9d99 Real quick add unicode test to parser 2024-02-15 12:43:09 -05:00
Sasha Koshka fcf44fd1ec Ok so maybe that one commit wasn't entirely true 2024-02-15 01:12:51 -05:00
Sasha Koshka ed498a3bc0 Analyzer checks access permissions when using named types 2024-02-15 01:08:21 -05:00
Sasha Koshka 159317965d Parser properly unions position of named types 2024-02-15 01:07:25 -05:00
Sasha Koshka 6b9cdcc239 Parser does *not* actually discard private toplevels while skimming
And it shouldn't! Because it doesn't, the analyzer can say "this is
private" instead of "this doesn't exist".
2024-02-15 01:06:21 -05:00
Sasha Koshka 87c2acf650 Add some initial analyzer tests for units 2024-02-14 23:20:01 -05:00
Sasha Koshka 43a488fb58 I ohasdhjklashf dslkfj ksdl 2024-02-14 23:10:43 -05:00
Sasha Koshka 14566196a9 Forgot about the nickname map haha 2024-02-14 22:48:55 -05:00
Sasha Koshka 63a9b5b540 Should be able to write tests for units now.
Haha unit tests. Surely this won't get confusing.
2024-02-14 22:39:08 -05:00
Sasha Koshka d8714cbc1d Improved analyzer testing infrastructure 2024-02-14 22:06:10 -05:00
Sasha Koshka 199da663e9 Parser now actually skims files 2024-02-14 18:49:59 -05:00
Sasha Koshka fb6cbe2c9d Improved the skim test case 2024-02-14 17:40:37 -05:00
Sasha Koshka 9bfc3bf4c6 Add parser test case for skimming 2024-02-14 17:35:44 -05:00
Sasha Koshka 86145c0975 All analyzer tests pass 2024-02-14 17:24:00 -05:00
Sasha Koshka cbfabba8a7 I mispelled stream 2024-02-14 13:49:06 -05:00
Sasha Koshka 724178ce6e Made analyzer error testing 20% cooler 2024-02-14 13:48:23 -05:00
Sasha Koshka 05bd29fc71 Use stram0.fspl so I don't have to rewrite every test 2024-02-14 13:41:24 -05:00
Sasha Koshka cd4e9608d0 Analyzer does not crash 2024-02-14 13:40:26 -05:00
Sasha Koshka b27684de46 Analyzer compiles 2024-02-14 13:35:50 -05:00
Sasha Koshka 7d93a0abf6 Add section about uniqueness and UUIDs to units design doc 2024-02-14 13:00:11 -05:00
Sasha Koshka cb33628996 Begin implemeting my better idea in the analyzer 2024-02-14 10:38:03 -05:00
Sasha Koshka 22dc2ef175 Made wording in entity even better 2024-02-14 10:22:33 -05:00
Sasha Koshka 025302a959 Add a file with my better idea in it 2024-02-14 10:22:08 -05:00
Sasha Koshka 6cd60cc9a6 So I have a better idea 2024-02-14 10:06:20 -05:00
Sasha Koshka ccb7fe46d0 treeParser.lookupUnit returns the current unit UUID on empty string 2024-02-14 02:04:28 -05:00
Sasha Koshka d3d739a24d Parser and entity now refer to units as units instead of modules 2024-02-14 02:01:01 -05:00
Sasha Koshka da4f9b8d67 Parser now translates names to unit UUIDs 2024-02-14 01:55:51 -05:00
Sasha Koshka 89b7273c2f Entity now deals in UUIDs 2024-02-14 01:48:47 -05:00
Sasha Koshka 3d75cdbd02 Parser now has something of a concept of modules 2024-02-14 01:44:25 -05:00