summaryrefslogtreecommitdiff
path: root/formula/source/core/api
AgeCommit message (Collapse)Author
2023-02-17Obtain actual 0-parameter count for OR(), AND() and 1-parameter functionsEike Rathke
OR and AND for legacy infix notation are classified as binary operators but in fact are functions with parameter count. In case no argument is supplied, GetByte() returns 0 and for that case the implicit binary operator 2 parameters were wrongly assumed. Similar for functions expecting 1 parameter, without argument 1 was assumed. For "real" unary and binary operators the compiler already checks parameters. Omit OR and AND and 1-parameter functions from this implicit assumption and return the actual 0 count. Change-Id: Ie05398c112a98021ac2875cf7b6de994aee9d882 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147173 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2023-02-14osl::Mutex->std::mutex in OpCodeMapDataNoel Grandin
Change-Id: I0b92e2a94060549c39df7d08a6409518252fc757 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146970 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-01Resolves: tdf#151886 Use default locale with English function names againEike Rathke
Automatically switching to en-US locale when using English function names caused too much confusion. There also might be the possibility that the '.' dot decimal separator clashes with the inline array column separator in some locales. A proper solution would make this user-specified and if set also adjust the separators to the common English ones. For now keep the default locale again as it previously was the case. Change-Id: Ic4712c6609c14f35cf0d1d842ac7443806a6e115 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144924 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-12-15crashtesting: assert seen on loading forum-mso-en4-573860.xlsxEike Rathke
While resolving named expression Pinnacle3 IF(AND(Pinnacle1+Pinnacle2<>11,Pinnacle1+Pinnacle2<>22,Pinnacle1+Pinnacle2>9),SUM(MID(Pinnacle1+Pinnacle2,1,1),MID(Pinnacle1+Pinnacle2,2,1)),Pinnacle1+Pinnacle2) where resolving and inserting named expressions Pinnacle1 IF(AND(SUM($Sheet1.$D$3:$E$3)<>11;SUM($Sheet1.$D$3:$E$3)<>22;SUM($Sheet1.$D$3:$E$3)>9);SUM(MID(SUM($Sheet1.$D$3:$E$3);1;1);MID(SUM($Sheet1.$D$3:$E$3);2;1));SUM($Sheet1.$D$3:$E$3)) and Pinnacle2 IF(AND(Logic1<>11;Logic1<>22;Logic1>9);SUM(MID(Logic1;1;1);MID(Logic1;2;1));Logic1) with Logic1 IF($Sheet1.$E$3+NilaiTahun>10;SUM(MID($Sheet1.$E$3+NilaiTahun;1;1);MID($Sheet1.$E$3+NilaiTahun;2;1));$Sheet1.$E$3+NilaiTahun) with NilaiTahun IF(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1))<10;SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));1;1);SUM(MID(SUM(MID($Sheet1.$F$3;1;1);MID($Sheet1.$F$3;2;1);MID($Sheet1.$F$3;3;1);MID($Sheet1.$F$3;4;1));2;1)))) overall exceeds FORMULA_MAXTOKENS (8192) in the generated RPN code, hence an ocStop is encountered as factor token. (this cries for generating subroutine call token arrays where each named expression could have their own RPN code and interim results could be remembered for each while interpreting within one formula cell; just dreaming..). Change-Id: I744c4915a00849b107c7c25d7029aa19d976aa86 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144048 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-09-19small opt in FormulaTokenIteratorNoel Grandin
cheaper to init the stack with the first element, rather than calling Push Change-Id: Ia34f88b6534a663fae2ed08d0499d04d2f458847 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140137 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-09-06A ColRowName (label) is a QuotedLabel is a SingleQuotedEike Rathke
Hence a ' is not escaped by \' but by '' doubling it. See also ODFF 5.10 Quoted Label https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocument-v1.3-os-part4-formula.html#__RefHeading__1017950_715980110 Apparently this was always wrong and even stored in files and never correctly read/compiled back. Change-Id: I94bdb7d1fdffe9bbd77cf443883dd76637be981b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139491 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-09-01Resolves: tdf#142293 Implement the temporariness of GetOpCodeMap()Eike Rathke
Change-Id: I7c587a68dbdeab9a8c8ed324ecae2eb5dd75b9df Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139201 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-09-01Related: tdf#142293 Introduce a protected FormulaCompiler::GetFinalOpCodeMap()Eike Rathke
... to prepare having GetOpCodeMap() return a temporary if a final doesn't exist yet. Currently just an alias. Change-Id: I6fc100ae6223010e149e4af01fc7c17630930de7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139162 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-08-22cid#1509296 silence Use after freeCaolán McNamara
Change-Id: I6c1d8c0365cb59f3c63537c08e27a34bac111aaf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138705 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-08-06Related: tdf#135993 Use ScCompiler to create English OpCodeMap with AddInsEike Rathke
... instead of formula::FormulaCompiler base class that doesn't know anything about AddIns, and copy AddIns along to new resulting native map. Change-Id: I9e4ece2f7450a561ac502ca1dbddaa5a697fa2fe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137882 Tested-by: Eike Rathke <erack@redhat.com> Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-06Related: tdf#135993 Destroy temporary OpCodeMap when reading configEike Rathke
Initialized at FormulaCompiler base class instance it lacks AddIn mapping and a still existing OpCodeMap prevents necessary reinitialization from derived ScCompiler instance later. Change-Id: I0c2db41dd45829abfb8460730264f097ab76ab2e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137881 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-04Add known but not in AddInMap English names for GRAM_API, tdf#150253 follow-upEike Rathke
Change-Id: I1edc2a979946078e4548c0933f9b64b7a08a7e6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137773 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2022-08-04Resolves: tdf#150253 Add English names for GRAM_API AddIn functionsEike Rathke
... so not only the com.sun.star.sheet.addin.* programmatic names are recognized for XCell::setFormula() non-localized API calls. Change-Id: I1f1f3f45001360445b25765312782f04ee079ee9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137769 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-06-23clang-tidy modernize-pass-by-value in formulaNoel Grandin
Change-Id: I275f96bb8b24838538ac88532508ad7dbd127eae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136271 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-22crashtesting: assert seen with forum-mso-de-53682Caolán McNamara
not reproducible for me, but appears to be an empty string here sometimes. Change-Id: I8465f178cc7e5a6efdc08c1d15c154eeb2277c7b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136287 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-18Related: tdf#142293 tdf#141495 Allow additional symbols in externals mapEike Rathke
... to repair broken saved as Excel documents with saved Add-In programmatic names, by adding them as upper-cased symbols. Previously, adding such name was rejected if the Add-In already existed in the reverse map. Now multiple one-way aliases are accepted. The upper-case programmatic name was already attempted to be added for all Add-Ins of the collection (for the non-UI case via fillFromAddInCollectionUpperName()) but the pre-known Add-Ins are mapped before so existed already and those names were rejected, as they shouldn't be necessary. Except for broken documents.. Change-Id: I3cb6848779362de3446581528d2f6e6f19af9ec8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136072 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-06-03Add binary operators to ForceArrayReturn handling, tdf#149378 follow-upEike Rathke
So ={1;2} or =-{1;2} or ={1;2}+3 or ={1;2}+{3;4} or ={1;2}+A1 are propagated. But ={1;2}+A1:A2 is not because the range reference should be implicit intersection not to be forced to array mode unless user says so. This also adds low level ocPush with svMatrix returning always ParamClass::ForceArrayReturn in FormulaToken::GetInForceArray() so any derived like ScMatrixToken inherit that. Change-Id: Ida24414a795d6609bf01e361f96438f9e7f7f66c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135360 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-06-03Propagate ForceArrayReturn only for Value parameters, tdf#149378 follow-upEike Rathke
So in SUM(MUNIT(3)) the SUM does not get ForceArrayReturn. Same as in commit bac202275b1bf1abe4277daf35f74ff973c23483 CommitDate: Fri Jun 3 13:08:11 2022 +0200 Propagate inline array only for Value parameters, tdf#149378 follow-up Change-Id: I60b17352c6e2f4fe608070c07f538456ed863156 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135358 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-06-03Propagate inline array only for Value parameters, tdf#149378 follow-upEike Rathke
So in SUM({1;2}) the SUM does not inherit it, but in ABS({-1;-2}) the ABS still does. This was always off, but so far didn't matter. Change-Id: I00dfcd4b71b8dea943475bb5a593224312258e31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135349 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-06-02Resolves: tdf#149378 Force array input if outer function returns array/matrixEike Rathke
So the result will actually display as full matrix, or in the cell range marked prior to input, instead of just the top left element in one cell, without having to close the input with Shift+Ctrl+Enter to force array mode. The previous behaviour can be forced by pre-selecting/marking one cell, which also worked previously when closing as array input. Change-Id: I81c079ce02e0c8d0536617ca6882fb470a352441 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135278 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2022-04-26add o3tl::toUInt32Noel Grandin
Change-Id: I07f11bf12fbe1d1c2d812fa0965d6e632e1e1aba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133437 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-17Recheck modules [e-f]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I49a3ce10dee4b03f99156f5b641f69448e1d5617 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128479 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2021-12-21loplugin:flatten in filter..frameworkNoel Grandin
Change-Id: I15a577b3c6da03001bbbf2c2b43b29b41c4007c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127234 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-20Recheck include/[e-r]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I44e4e3a88067c1c29ce9d563b22741e984b43576 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126964 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2021-11-23O[U]String::replaceAt overloads that take string_viewNoel Grandin
which results in lots of nice string_view improvements picked up by the plugins Change-Id: Ib0ec3887816b3d4436d003b739d9814f83e244b2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125657 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-11loplugin:moveparam in formulaNoel Grandin
Change-Id: I358f5e8031c235be76bb96591bf33f59a39b00ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123350 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-09-04store ScTokenArray by value in SharedFormulaBufferNoel Grandin
Change-Id: Ibff3c2fea3cadc234266953ab15ae5f25c4ac1e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121626 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-08-06cid#1489780 Explicit null dereferencedCaolán McNamara
Change-Id: Ia6e34b48cdcc4b011c46c576269cdeffab4821ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120100 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-08-05Pass context and resource string down to boost::locale separatelyNoel Grandin
because this is often on a hot path, and we can avoid the splitting and joining of strings like this. Change-Id: Ia36047209368ca53431178c2e8723a18cfe8260a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119220 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-07-28Resolves: tdf#76310 Preserve whitespace TAB, CR, LF in formula expressionsEike Rathke
Allowed whitespace in ODFF and OOXML are U+0020 SPACE U+0009 CHARACTER TABULATION U+000A LINE FEED U+000D CARRIAGE RETURN Line feed and carriage return look a bit funny in the Function Wizard if part of a function's argument but work. Once a formula is edited, CR are converted to LF though, probably already in EditEngine, didn't investigate. Change-Id: I6278f6be48872e0710a3d74212db391dda249ed2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119635 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-07-28ODFF: eliminate spaces between function name and initial opening parenthesisEike Rathke
Same as for OOXML, they are disallowed in ODFF as well. Change-Id: Iff78a901838092a3ee32221fdaadd28ee50f7646 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119577 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2021-06-28loplugin:indentation improve checks for brace alignmentNoel Grandin
Change-Id: I333100fda7e181f68f36b03279b3fbb8cb768310 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117615 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-06-02Merging an unsupported formula grammar is worth a real assert()Eike Rathke
Change-Id: I9bce5bc590e3348d1fb0c81a9ec74cec2944d38a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116617 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2021-05-02tdf#79049 speed up OOXML workbook load (4)Noel Grandin
Optimise LocaleDataWrapper for reads by initialising the data we in the constructor, so we don't need any kind of locking Reduces load time from 34s to 28s. Change-Id: I4bd3bddb30b70ba015fe5b1372534f9507762b74 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114960 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-02-11ofz#30812 protect NextToken calling NextToken with RecurseGuardCaolán McNamara
and bump limit from 42 to 100 Change-Id: I0a35b32e7ab74a4148197ba48c52b6714bdb449d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110756 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-02-11merge the two identical nRecursionMax expressionsCaolán McNamara
Change-Id: Ie8fdb999e9d7420f0e8bb27e9fd716148f7fc9f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110755 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2021-01-25tdf#92456 improve VLOOKUP perfNoel Grandin
shave 5% of the time here - ref-counting triggered by copying svl::SharedString is significant, so return by const& instead of by value Change-Id: Ic702632da45d75dddab33d6ce1e6f1097ff70de9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109900 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-01-14tdf#133858 reduce the double-ref range to data contentDennis Francis
in certain matrix formulas like SUM(IF(A1=G:G, H:H)*B1/B2) where whole columns are used for comparison in the condition of IF ultimately followed by a reducer like SUM. In such cases we can safely reduce the double-refs involved in the comparison to the sheet area where there is data before converting the data to ScMatrix. This is a more restricted version of Noel's fix in 37ffe509ef011357123642577c04ff296d59ce68 Change-Id: I1c2e8985adedb3f4c4648f541fb0e8e7d0fae033 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109050 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> (cherry picked from commit 65167a9265acfea04733b5ff6ee3220a9da624f4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109118 Tested-by: Jenkins Reviewed-by: Dennis Francis <dennis.francis@collabora.com>
2020-11-10new loplugin:reducevarscopeNoel Grandin
Change-Id: Iefe922c2e0d605114d54673d63eccc5e4abd545d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102143 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-14Derive FormulaExternalToken from FormulaByteToken, tdf#133260 follow-upEike Rathke
This should always have had a ParamClass member variable and SetInForceArray()/GetInForceArray() functions but never did. Now with commit 3a33828b8de7554e497051738c722b1764960a86 CommitDate: Tue Oct 13 21:36:31 2020 +0200 Resolves: tdf#133260 Propagate ForceArrayReturn from inline arrays it broke CppunitTest_sc_subsequent_filters_test with the virtual dummy assert() in FormulaToken::SetInForceArray(). Unfortunately not caught earlier but at least it did now. Remove the duplicated FormulaToken overrides and simply derive from FormulaByteToken instead that has all we need. Change-Id: I7946602955970fb9d6f349efdacb41389e211b68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104262 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2020-10-13Resolves: tdf#133260 Propagate ForceArrayReturn from inline arraysEike Rathke
... and functions returning array/matrix. Same as for TRANSPOSE() and FREQUENCY() but not mentioned in ECMA-376-1:2016 OOXML. Change-Id: I1e9f1151b2bc0b7de892f4f3d9f91b9a6b86b67f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104249 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2020-09-29Resolves: tdf#137091 Use CharClass matching the formula languageEike Rathke
... not the current locale. Specifically important for uppercase/lowercase conversions that may yield different results for example in Turkish i with/without dot. Change-Id: I2aa57cdcf530d7a0697c4ffbd5dccb86bb526d8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103588 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
2020-09-09Resolves: tdf#136364 treat svSep type with ocUnion as range typeEike Rathke
So for RPN sv...Ref(ocPush), sv...Ref(ocPush), svSep(ocUnion), sv...Ref(ocPush) another svSep(ocUnion) instead of svSep(ocSep) is appended. Regression from commit a6032ff5418ad66cc8fec10c636e32b124ee7864 CommitDate: Thu Oct 11 11:26:37 2018 +0200 Resolves: tdf#90698 catch list (1;2) of non-references as error that introduced a conditional check on operands and operators. Change-Id: If5da3a781f24f891ff12c4a8f32a2ec92c6b4c8a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102276 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
2020-07-07formula: create instances with uno constructorsNoel Grandin
See tdf#74608 for motivation Change-Id: I5983c837977e40b91df02605c1012640ffd5c650 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98291 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-29loplugin:simplifybool in dbaccess..frameworkNoel Grandin
Change-Id: I0d73bb7d8d3fde426edc0a10c0750758b68aceb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95099 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-26Fix loplugin:simplifypointertobool for libstdc++ std::shared_ptrStephan Bergmann
...where the get member function is defined on a std::__shared_ptr base class, so loplugin:simplifypointertobool used to miss those until now. (While e.g. using libc++ on macOS found those cases.) 366d08f2f6d4de922f6099c62bb81b49d89e0a68 "new loplugin:simplifypointertobool" was mistaken in breaking isSmartPointerType(const clang::Type* t) out of isSmartPointerType(const Expr* e); c874294ad9fb178df47c66875bfbdec466e39763 "Fix detection of std::unique_ptr/shared_ptr in loplugin:redundantpointerops" had introduced that indivisible two-step algorithm on purpose. The amount of additional hits (on Linux) apparently asked for turning loplugin:simplifypointertobool into a rewriting plugin. Which in turn showed that the naive adivce to just "drop the get()" is not sufficient in places that are not contextually converted to bool, as those places need to be wrapped in a bool(...) functional cast now. If the expression was already wrapped in parentheses, those could be reused as part of the functional cast, but implementing that showed that such cases are not yet found at all by the existing loplugin:simplifypointertobool. Lets leave that TODO for another commit. Besides the changes to compilerplugins/ itself, this change has been generated fully automatically with the rewriting plugin on Linux. Change-Id: I83107d6f634fc9ac232986f49044d7017df83e2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94888 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2020-04-15loplugin:buriedassign in f,h,i*Noel Grandin
Change-Id: Iac753e528e13cb2565832a484e87f88061bbc91e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92239 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-14loplugin:flatten in formulaNoel Grandin
Change-Id: I90054df6949cf966b9edc706b2e29c2a57553be9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92161 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-24loplugin:makeshared in drawinglayer..fpickerNoel Grandin
Change-Id: Ib20fec3a7b6bfe2f94c6f5f2f9fa0be6f7c21e97 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87320 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-01-20tdf#42949 Fix IWYU warnings in formula/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I6cfd3036481b8f76da73e46ac2b4b4a879f98cee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86894 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>