Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								d482b3fd60 
								
							 
						 
						
							
							
								
								LibCpp: Parse empty for loops  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								fc503b1368 
								
							 
						 
						
							
							
								
								LibCpp: Parse sizeof() expression  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8bcf5daf3f 
								
							 
						 
						
							
							
								
								LibCpp: Handle 'struct' prefix before a type  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								575d6a8ee1 
								
							 
						 
						
							
							
								
								LibCpp: Parse Bitwise & Logical Or & And operators  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8962581c9c 
								
							 
						 
						
							
							
								
								LibCpp: Parse C++ cast expressions  
							
							... 
							
							
							
							parse static_cast, reinterpret_cast, dynamic_cast & const_cast 
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								646aaa111b 
								
							 
						 
						
							
							
								
								LibCpp: Support parsing templatized function calls  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								fe4122bbae 
								
							 
						 
						
							
							
								
								LibCpp: Support parsing '!=" operator  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								68e9a05472 
								
							 
						 
						
							
							
								
								LibCpp: Parse character literals  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								3295609aea 
								
							 
						 
						
							
							
								
								LibCpp: Add AST::Name  
							
							... 
							
							
							
							A Name node is basically an identifier with an optional scope,
e.g Core::File. 
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								29b6915db9 
								
							 
						 
						
							
							
								
								LibCpp: Parse templatized types  
							
							... 
							
							
							
							We can now parse things like Vector<int> 
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								9954a1837f 
								
							 
						 
						
							
							
								
								LibCpp: Parse nullptr literal  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								cbb49f26d9 
								
							 
						 
						
							
							
								
								LibCpp: Support parsing binary "==" Operator  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								1f9f6ea9d6 
								
							 
						 
						
							
							
								
								LibCpp: Support parsing function qualifiers  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								ee35fc0da3 
								
							 
						 
						
							
							
								
								LibCpp: Support parsing empty return statements  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								0babb39cae 
								
							 
						 
						
							
							
								
								LibCpp: Parse variable declarations in global scope  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								68f420ed42 
								
							 
						 
						
							
							
								
								LibCpp: Fix null dereference in IfStatement::declarations()  
							
							
							
						 
						
							2021-04-06 21:51:58 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								84e34d76d8 
								
							 
						 
						
							
							
								
								HackStudio+LanguageServers/Cpp: Show scope of symbols in Locator  
							
							
							
						 
						
							2021-03-23 18:32:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								b5cab861e3 
								
							 
						 
						
							
							
								
								LibCpp: Parse Namespace declaration  
							
							... 
							
							
							
							Also, remove unused State::Context 
							
						 
						
							2021-03-23 18:32:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Vyacheslav Pukhanov 
								
							 
						 
						
							
							
							
							
								
							
							
								0b5d414eba 
								
							 
						 
						
							
							
								
								LibCpp: Add preprocessor option to ignore unsupported keywords  
							
							... 
							
							
							
							Under some circumstances we need to ignore unsupported preprocessor
keywords instead of crashing the processing, for example during live
parsing in HackStudio. 
							
						 
						
							2021-03-18 07:49:18 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Linus Groh 
								
							 
						 
						
							
							
							
							
								
							
							
								6c8185151e 
								
							 
						 
						
							
							
								
								LibCpp: Return empty TranslationUnit from Parser::parse() if no tokens exist  
							
							... 
							
							
							
							Fixes  #5704 .
Fixes  #5825 .
Fixes  #5827 . 
						
							2021-03-16 18:59:19 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8688259ed9 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Support jumping to declaration of preprocessor  
							
							... 
							
							
							
							.. definitions. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								7bf6eca9d8 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Complete Preprocessor definitions  
							
							... 
							
							
							
							Preprocessor definitions now appear in the AutoComplete suggestions box
as well as in the Locator. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								5b22f6f45a 
								
							 
						 
						
							
							
								
								LibCpp: Parser no longer holds the program's source  
							
							... 
							
							
							
							After we moved to storing the text of each token in the token itself,
we no longer have to store the source of the program in the Parser.
This makes more sense because the parser should deal with tokens, not
with raw source code. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8a102fe3ec 
								
							 
						 
						
							
							
								
								LibCpp: Implement Parser::text_in_range using text of tokens  
							
							... 
							
							
							
							It was previously implemented by directly iterating over the program's
source. 
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								97f2cd596b 
								
							 
						 
						
							
							
								
								LibCpp: Remove node_span_size, add index_of_node_at  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								26d9485562 
								
							 
						 
						
							
							
								
								LibCpp: Store the text of a token as a StringView member  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								5cd1c69b96 
								
							 
						 
						
							
							
								
								LibCpp: Access Cpp::Token members via getter functions  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								d0b4f9cc0e 
								
							 
						 
						
							
							
								
								LibCpp: Move Cpp::Token to a separate file  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								3658c4c567 
								
							 
						 
						
							
							
								
								LibCpp: Replace defined preprocessor values when parsing  
							
							
							
						 
						
							2021-03-13 10:17:02 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								ef1e5db1d0 
								
							 
						 
						
							
							
								
								Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)  
							
							... 
							
							
							
							Good-bye LogStream. Long live AK::Format! 
							
						 
						
							2021-03-12 17:29:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								289c466fef 
								
							 
						 
						
							
							
								
								LibCpp: Don't crash on an empty '#' line  
							
							... 
							
							
							
							Closes  #5634  
						
							2021-03-06 09:40:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								a2ac86f5e1 
								
							 
						 
						
							
							
								
								LibCpp: Check if type is null in VariableDeclaration::dump  
							
							
							
						 
						
							2021-03-06 09:40:33 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								1d3b5dabc3 
								
							 
						 
						
							
							
								
								LibCpp: Parse ellipsis  
							
							... 
							
							
							
							We can now parse the printf function declaration :^) 
							
						 
						
							2021-03-02 12:50:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								5c79297b2c 
								
							 
						 
						
							
							
								
								LibCpp: Consume attribute specification when parsing  
							
							... 
							
							
							
							Consume __atribute__(...), without actually parsing its content. 
							
						 
						
							2021-03-02 12:50:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								5a7abb8363 
								
							 
						 
						
							
							
								
								LibCpp: Parse type qualifiers  
							
							
							
						 
						
							2021-03-02 12:50:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								54bc9114b3 
								
							 
						 
						
							
							
								
								HackStudio: Support searching symbol declarations in the Locator  
							
							... 
							
							
							
							The Locator now keeps a cache of the declared symbol in a document.
The language client updates that cache whenever it gets an update from
the language server about declared symbols.
This allows searching for symbol declarations in the Locator, in
addition to file names.
Closes  #5478  
							
						 
						
							2021-02-27 16:37:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								a94b5376bc 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Update client asynchronously about symbols  
							
							... 
							
							
							
							As a document is parsed, the language server updates the client
asynchronously about symbol declarations it finds. 
							
						 
						
							2021-02-27 16:37:35 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								85ea60b7f1 
								
							 
						 
						
							
							
								
								LibCpp: Don't fail when encountering #elif statements  
							
							... 
							
							
							
							However, we currently always treat the expression in #elif as true. 
							
						 
						
							2021-02-26 21:14:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									AnotherTest 
								
							 
						 
						
							
							
							
							
								
							
							
								857cdee0d0 
								
							 
						 
						
							
							
								
								AK: Make dbgln_if() avoid evaluating the arguments when disabled  
							
							... 
							
							
							
							Naturally, this makes the `enabled` flag on dbgln() obsolete. 
							
						 
						
							2021-02-24 13:07:28 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								5d180d1f99 
								
							 
						 
						
							
							
								
								Everywhere: Rename ASSERT => VERIFY  
							
							... 
							
							
							
							(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED)
Since all of these checks are done in release builds as well,
let's rename them to VERIFY to prevent confusion, as everyone is
used to assertions being compiled out in release.
We can introduce a new ASSERT macro that is specifically for debug
checks, but I'm doing this wholesale conversion first since we've
accumulated thousands of these already, and it's not immediately
obvious which ones are suitable for ASSERT. 
							
						 
						
							2021-02-23 20:56:54 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								bd830c2dfe 
								
							 
						 
						
							
							
								
								LibCpp: Fix yet another broken outln() invocation..  
							
							... 
							
							
							
							Fixes  #5463  
						
							2021-02-21 22:13:32 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								0bb2729423 
								
							 
						 
						
							
							
								
								LibCpp: Fix busted outln() invocations  
							
							
							
						 
						
							2021-02-21 21:32:16 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								68406fc0ef 
								
							 
						 
						
							
							
								
								LibCpp: Replace dbgprintf() with outln()  
							
							
							
						 
						
							2021-02-20 17:12:25 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								d3ff82ba80 
								
							 
						 
						
							
							
								
								LibCpp: Store filename in ASTNodes  
							
							... 
							
							
							
							As part of the position information, we now also store the filename the
ASTNode belongs to. 
							
						 
						
							2021-02-20 15:53:37 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								8ace2cfa18 
								
							 
						 
						
							
							
								
								LibCpp: Fix lexing & parsing of non-terminated strings  
							
							
							
						 
						
							2021-02-13 19:50:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Andreas Kling 
								
							 
						 
						
							
							
							
							
								
							
							
								a50ba0a491 
								
							 
						 
						
							
							
								
								LibSyntax: Make rehighlight() take Gfx::Palette as by const-reference  
							
							
							
						 
						
							2021-02-11 23:52:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								ef9bfbd383 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Autocomplete declarations from included headers  
							
							... 
							
							
							
							We now also look at the available declarations from included header
files when autocompleting names.
Additionally, you can now request autocomplete on an empty token, which
brings up all available names, starting from the inner-most scope. 
							
						 
						
							2021-02-10 23:09:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								64c80f6ea4 
								
							 
						 
						
							
							
								
								LanguageServers/Cpp: Autocomplete function and struct/class names  
							
							
							
						 
						
							2021-02-10 23:09:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								bed3261723 
								
							 
						 
						
							
							
								
								LibCpp: Start working on a C preprocessor  
							
							... 
							
							
							
							We currently handle basic #define statements as well as ifdef and else
branches. 
							
						 
						
							2021-02-08 23:10:38 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Itamar 
								
							 
						 
						
							
							
							
							
								
							
							
								2d2b3ba5ed 
								
							 
						 
						
							
							
								
								LibCpp: Include CPP_DEBUG in AK/Debug.h  
							
							
							
						 
						
							2021-02-08 23:10:38 +01:00