Commit Graph

548 Commits

Author SHA1 Message Date
Sasha Koshka
e38c185042 Add more test cases for restricted typedefs in units 2024-02-16 13:06:40 -05:00
Sasha Koshka
745e79157c When analyzing a typedef, update the unit information first 2024-02-16 12:54:34 -05:00
Sasha Koshka
f6eeb011bf This is mega silly 2024-02-16 12:49:47 -05:00
Sasha Koshka
95db63b1b8 Pass TestUnitPrivateMethod Err 2024-02-16 12:48:25 -05:00
Sasha Koshka
d2cb1f78c4 Fix behavior of Tree.analyzeMethodOrBehavior() 2024-02-16 12:43:42 -05:00
Sasha Koshka
6dc958742b Real quick add unicode test to parser 2024-02-15 12:43:09 -05:00
Sasha Koshka
0684410631 Ok so maybe that one commit wasn't entirely true 2024-02-15 01:12:51 -05:00
Sasha Koshka
e2367b26c2 Analyzer checks access permissions when using named types 2024-02-15 01:08:21 -05:00
Sasha Koshka
8019a11826 Parser properly unions position of named types 2024-02-15 01:07:25 -05:00
Sasha Koshka
9178e55a20 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
78fa0f703d Add some initial analyzer tests for units 2024-02-14 23:20:01 -05:00
Sasha Koshka
afe3683c2a I ohasdhjklashf dslkfj ksdl 2024-02-14 23:10:43 -05:00
Sasha Koshka
699ef84bef Forgot about the nickname map haha 2024-02-14 22:48:55 -05:00
Sasha Koshka
75d89e9c2a 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
49493fe7d0 Improved analyzer testing infrastructure 2024-02-14 22:06:10 -05:00
Sasha Koshka
7a4b9850df Parser now actually skims files 2024-02-14 18:49:59 -05:00
Sasha Koshka
5940d47ad7 Improved the skim test case 2024-02-14 17:40:37 -05:00
Sasha Koshka
736f117fac Add parser test case for skimming 2024-02-14 17:35:44 -05:00
Sasha Koshka
ee4dfc3e4a All analyzer tests pass 2024-02-14 17:24:00 -05:00
Sasha Koshka
7420fac2bd I mispelled stream 2024-02-14 13:49:06 -05:00
Sasha Koshka
bc5f435ea6 Made analyzer error testing 20% cooler 2024-02-14 13:48:23 -05:00
Sasha Koshka
06b1cc0cb6 Use stram0.fspl so I don't have to rewrite every test 2024-02-14 13:41:24 -05:00
Sasha Koshka
953e9336db Analyzer does not crash 2024-02-14 13:40:26 -05:00
Sasha Koshka
04a94a2dc9 Analyzer compiles 2024-02-14 13:35:50 -05:00
Sasha Koshka
ab1f25785b Add section about uniqueness and UUIDs to units design doc 2024-02-14 13:00:11 -05:00
Sasha Koshka
940346eecf Begin implemeting my better idea in the analyzer 2024-02-14 10:38:03 -05:00
Sasha Koshka
832e9232aa Made wording in entity even better 2024-02-14 10:22:33 -05:00
Sasha Koshka
2985d13131 Add a file with my better idea in it 2024-02-14 10:22:08 -05:00
Sasha Koshka
f30e6d839d So I have a better idea 2024-02-14 10:06:20 -05:00
Sasha Koshka
b27d5fe006 treeParser.lookupUnit returns the current unit UUID on empty string 2024-02-14 02:04:28 -05:00
Sasha Koshka
98789cf779 Parser and entity now refer to units as units instead of modules 2024-02-14 02:01:01 -05:00
Sasha Koshka
8ad421b1e1 Parser now translates names to unit UUIDs 2024-02-14 01:55:51 -05:00
Sasha Koshka
794d44787d Entity now deals in UUIDs 2024-02-14 01:48:47 -05:00
Sasha Koshka
c69091898a Parser now has something of a concept of modules 2024-02-14 01:44:25 -05:00
Sasha Koshka
89500ec5ef Add module names to top level entities 2024-02-13 21:36:08 -05:00
Sasha Koshka
1636fa0172 Mini-analysis of metadata in Compiler.ParseModule 2024-02-13 21:24:13 -05:00
Sasha Koshka
a46939b3f8 Break compiler out into its own package 2024-02-13 21:01:13 -05:00
Sasha Koshka
87fa994f27 Break out ParseModule and ParseSourceFile from CompileUnit 2024-02-13 20:55:59 -05:00
Sasha Koshka
a4b60a5eff Metadata is now an entity 2024-02-13 20:53:15 -05:00
Sasha Koshka
a9d470d46a Metadata is now an entity 2024-02-13 20:52:25 -05:00
Sasha Koshka
50cbf25c1e Compiler CLI can drive internals 2024-02-13 19:15:40 -05:00
Sasha Koshka
0bcd41c873 Module compilation stub in compiler command 2024-02-13 19:10:46 -05:00
Sasha Koshka
a240e26776 Add method of entity.Address to generate a nickname 2024-02-13 19:10:24 -05:00
Sasha Koshka
81bef17d6f Add some utility methods to entity.Address 2024-02-13 17:29:42 -05:00
Sasha Koshka
fb374c5420 Auto-nicknaming should happen at the analysis stage 2024-02-13 17:08:48 -05:00
Sasha Koshka
87d5ca4cee Add test cases for metadata parser 2024-02-13 16:33:15 -05:00
Sasha Koshka
a837577217 Add metaParser test-common.go 2024-02-13 16:32:59 -05:00
Sasha Koshka
211a6d358a Implemented metadata file parsing 2024-02-13 16:22:10 -05:00
Sasha Koshka
9598890aa4 Changed wording in fsplParser.treeParser.bug() 2024-02-13 16:21:50 -05:00
Sasha Koshka
b4adef7a1c Nickname is no longer a type 2024-02-13 16:20:45 -05:00