Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								567b1f6e7c 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Adopt more C++ terminology  
							
							... 
							
							
							
							Let's not use strange names like `ExecutionContext`, which nobody will
understand in the future. 
							
						 
						
							2023-10-02 21:15:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								14a86c8fd6 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Elide nested TreeList nodes  
							
							
							
						 
						
							2023-10-02 21:15:08 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								67e07fa4e2 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Introduce ControlFlowOperator nodes  
							
							
							
						 
						
							2023-09-17 16:04:42 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								81519975c5 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add reference resolving pass  
							
							... 
							
							
							
							It replaces UnresolvedReference with Variable, FunctionPointer, or
SlotName nodes. Also, it gathers all variable names from their
declarations. 
							
						 
						
							2023-09-17 16:04:42 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								326bac19d9 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Make nodes inherit from Statement or Expression  
							
							... 
							
							
							
							The distinction between them will become important during CFG building. 
							
						 
						
							2023-09-17 16:04:42 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								ed5ef4da6d 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Make clang-tidy happier, no functional changes  
							
							
							
						 
						
							2023-09-17 16:04:42 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								4c4e1e1aed 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add if branch merging pass  
							
							... 
							
							
							
							It merges standalone IfBranch/ElseIfBranch nodes into IfElseIfChain
nodes. This will ease CFG generation later. 
							
						 
						
							2023-09-09 11:20:43 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								092ed1cc8a 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Allow storing NullableTrees in nodes  
							
							... 
							
							
							
							And use this in ElseIfBranch node. 
							
						 
						
							2023-09-09 11:20:43 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								4eede5282c 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Allow storing error text in ErrorNode  
							
							... 
							
							
							
							This will be the main way to communicate errors from compilation passes. 
							
						 
						
							2023-09-09 11:20:43 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								1c4cd34320 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Restrict usage of NodeSubtreePointer  
							
							... 
							
							
							
							This class stores a non-owning raw pointer to a member of `Node`, so
extra care is needed to ensure that referenced `Node`s will be alive
by the time `NodeSubtreePointer` is used. Since we only need to use this
class while traversing AST in `RecursiveASTVisitor`, access to class
methods can be restricted using `Badge<RecursiveASTVisitor>`. 
							
						 
						
							2023-09-09 11:20:43 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								198591cc20 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add infrastructure to run compiler passes on AST  
							
							
							
						 
						
							2023-09-02 19:57:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								cd8f4aaa7d 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Introduce Function and ExecutionContext classes  
							
							... 
							
							
							
							Currently, they are not extremely useful, but the plan is to store
all function-local state in JSSpecCompiler::Function and all
"translation unit" state in ExecutionContext. 
							
						 
						
							2023-09-02 19:57:06 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Dan Klishch 
								
							 
						 
						
							
							
							
							
								
							
							
								5846470a5f 
								
							 
						 
						
							
							
								
								JSSpecCompiler: Add stubs for AST types  
							
							
							
						 
						
							2023-08-31 11:00:31 +02:00