mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-30 05:42:37 +00:00 
			
		
		
		
	|  9d0d3affd4 This includes:
- Parsing proper LabelledStatements with try_parse_labelled_statement()
- Removing LabelableStatement
- Implementing the LoopEvaluation semantics via loop_evaluation() in
  each IterationStatement subclass; and IterationStatement evaluation
  via {For,ForIn,ForOf,ForAwaitOf,While,DoWhile}Statement::execute()
- Updating ReturnStatement, BreakStatement and ContinueStatement to
  return the appropriate completion types
- Basically reimplementing TryStatement and SwitchStatement according to
  the spec, using completions
- Honoring result completion types in AsyncBlockStart and
  OrdinaryCallEvaluateBody
- Removing any uses of the VM unwind mechanism - most importantly,
  VM::throw_exception() now exclusively sets an exception and no longer
  triggers any unwinding mechanism.
  However, we already did a good job updating all of LibWeb and userland
  applications to not use it, and the few remaining uses elsewhere don't
  rely on unwinding AFAICT. | ||
|---|---|---|
| .. | ||
| Bytecode | ||
| Heap | ||
| Runtime | ||
| Tests | ||
| AST.cpp | ||
| AST.h | ||
| CMakeLists.txt | ||
| Console.cpp | ||
| Console.h | ||
| Forward.h | ||
| Interpreter.cpp | ||
| Interpreter.h | ||
| Lexer.cpp | ||
| Lexer.h | ||
| MarkupGenerator.cpp | ||
| MarkupGenerator.h | ||
| Module.cpp | ||
| Module.h | ||
| Parser.cpp | ||
| Parser.h | ||
| Script.cpp | ||
| Script.h | ||
| SourceRange.h | ||
| SourceTextModule.cpp | ||
| SourceTextModule.h | ||
| SyntaxHighlighter.cpp | ||
| SyntaxHighlighter.h | ||
| Token.cpp | ||
| Token.h | ||