ladybird/Userland/Applications/Spreadsheet
Daniel Bertalan d7b6cc6421 Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr
Our existing implementation did not check the element type of the other
pointer in the constructors and move assignment operators. This meant
that some operations that would require explicit casting on raw pointers
were done implicitly, such as:
- downcasting a base class to a derived class (e.g. `Kernel::Inode` =>
  `Kernel::ProcFSDirectoryInode` in Kernel/ProcFS.cpp),
- casting to an unrelated type (e.g. `Promise<bool>` => `Promise<Empty>`
  in LibIMAP/Client.cpp)

This, of course, allows gross violations of the type system, and makes
the need to type-check less obvious before downcasting. Luckily, while
adding the `static_ptr_cast`s, only two truly incorrect usages were
found; in the other instances, our casts just needed to be made
explicit.
2021-09-03 23:20:23 +02:00
..
CellType Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Readers Spreadsheet: Implement begin() and end() 2021-08-31 16:43:18 +02:00
Writers AK+Userland: Move AK/TestSuite.h into LibTest and rework Tests' CMake 2021-04-25 09:36:49 +02:00
Cell.cpp Spreadsheet: Remove 'return (...)' workaround in conditional formatting 2021-06-17 01:08:27 +04:30
Cell.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CellSyntaxHighlighter.cpp Spreadsheet: Remove the offset used for exception TextRanges 2021-06-17 01:08:27 +04:30
CellSyntaxHighlighter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CellTypeDialog.cpp Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
CellTypeDialog.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMakeLists.txt Everywhere: Add component declarations 2021-06-17 11:03:51 +02:00
CondFormatting.gml Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
ConditionalFormatting.h LibGUI: Rename ScrollableWidget => AbstractScrollableWidget 2021-05-03 21:03:13 +02:00
CondView.gml Everywhere: Change font properties to be described in GML 2021-03-29 09:10:23 +02:00
csv_export.gml Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
csv_import.gml Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
ExportDialog.cpp Applications: Remove unused header includes 2021-08-01 08:10:16 +02:00
ExportDialog.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HelpWindow.cpp Everywhere: Replace Model::update() with Model::invalidate() 2021-08-06 19:14:31 +02:00
HelpWindow.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
ImportDialog.cpp Applications: Remove unused header includes 2021-08-01 08:10:16 +02:00
ImportDialog.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JSIntegration.cpp LibJS+Spreadsheet: Use js_string(VM&, ...) overload more 2021-08-08 21:32:58 +01:00
JSIntegration.h LibJS: Rewrite most of Object for spec compliance :^) 2021-07-04 22:07:36 +01:00
main.cpp Userland: Add GUI::Window::add_menu() and use it everywhere 2021-07-21 21:24:26 +02:00
Position.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
select_format_page.gml Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
Spreadsheet.cpp Spreadsheet: Save and load cell alignment 2021-08-29 21:07:42 +04:30
Spreadsheet.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SpreadsheetModel.cpp Spreadsheet: Don't invalidate the model on set_data() 2021-08-30 18:29:33 +02:00
SpreadsheetModel.h Everywhere: Replace Model::update() with Model::invalidate() 2021-08-06 19:14:31 +02:00
SpreadsheetView.cpp Userland+LibGUI: Add shorthand versions of the Margins constructor 2021-08-18 10:30:50 +02:00
SpreadsheetView.h Spreadsheet: Call SheetModel::update() instead of invalidate() 2021-08-10 05:21:49 +04:30
SpreadsheetWidget.cpp Everywhere: Prevent risky implicit casts of (Nonnull)RefPtr 2021-09-03 23:20:23 +02:00
SpreadsheetWidget.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Workbook.cpp LibCore: Make Core::File::open() return OSError in case of failure 2021-08-20 15:31:46 +02:00
Workbook.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00