1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-10 10:01:13 +09:00
ladybird/Userland/Libraries/LibJS
Daniel Bertalan 65232b6681 LibJS: Mark classes and virtual functions final where possible
These cases were found with GCC's `-Wsuggest-final-{types,methods}`
warnings, which catch calls that could have been devirtualized had we
declared the functions `final` in the source.

To reproduce, Link Time Optimization needs to be enabled. The easiest
way to achieve this is to set the `CMAKE_INTERPROCEDURAL_OPTIMIZATION`
cache variable to `ON`. The `.incbin` directive in LibCompress' Brotli
decompressor might needs to be changed to an absolute path for this to
work.

This commit also removes a pair of unused virtual functions.
2023-08-13 18:05:09 +02:00
..
Bytecode LibJS: Implement await properly for async functions 2023-08-10 05:12:07 +02:00
Contrib/Test262 LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Heap LibJS: Mark classes and virtual functions final where possible 2023-08-13 18:05:09 +02:00
Runtime LibJS: Mark classes and virtual functions final where possible 2023-08-13 18:05:09 +02:00
Tests LibJS: Implement await properly for async functions 2023-08-10 05:12:07 +02:00
AST.cpp LibJS: Remove usage of bytecode_interpreter_if_exists() 2023-08-12 08:46:35 +02:00
AST.h LibJS: Mark classes and virtual functions final where possible 2023-08-13 18:05:09 +02:00
CMakeLists.txt LibJS: Rip out the AST interpreter :^) 2023-08-08 13:07:13 +02:00
Console.cpp LibJS: Make PrimitiveString::utf8_string() infallible 2023-08-09 17:09:16 +02:00
Console.h LibJS: Begin implementing console.dir 2023-06-22 06:46:27 +02:00
CyclicModule.cpp
CyclicModule.h LibJS: Mark classes and virtual functions final where possible 2023-08-13 18:05:09 +02:00
Forward.h LibJS: Rip out the AST interpreter :^) 2023-08-08 13:07:13 +02:00
Lexer.cpp AK: Make "foo"_string infallible 2023-08-07 16:03:27 +02:00
Lexer.h Everywhere: Remove needless trailing semi-colons after functions 2023-07-08 10:32:56 +01:00
MarkupGenerator.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
MarkupGenerator.h
Module.cpp LibJS: Make Heap::allocate<T>() infallible 2023-08-13 15:38:42 +02:00
Module.h
Parser.cpp LibJS: Apply the correct precedence for unary + and - operators 2023-08-08 07:41:07 +02:00
Parser.h LibJS: Identify global variables during parsing 2023-07-12 16:03:16 +02:00
ParserError.cpp
ParserError.h
Print.cpp LibJS: Make Value::to_string_without_side_effects() infallible 2023-08-09 17:09:16 +02:00
Print.h
SafeFunction.h
Script.cpp
Script.h
SourceCode.cpp
SourceCode.h
SourceRange.h LibJS: Capture UnrealizedSourceRanges in ExecutionContext, not ASTNodes 2023-08-05 06:39:06 +02:00
SourceTextModule.cpp LibJS: Rip out the AST interpreter :^) 2023-08-08 13:07:13 +02:00
SourceTextModule.h LibJS: Implement import.meta for bytecode 2023-07-14 06:06:04 +02:00
SyntaxHighlighter.cpp
SyntaxHighlighter.h
SyntheticModule.cpp LibJS: Make PrimitiveString::create() infallible 2023-08-09 17:09:16 +02:00
SyntheticModule.h
Token.cpp
Token.h