Commit Graph

3729 Commits

Author SHA1 Message Date
1f6b082388 Fix previous commit
...4b4a7c0d87eb580272aba0777c9021789025bdc0 "Revert a fix that can never have
worked in the first place?"---which presumably did work after all, as Noel
thankfully pointed out to me,
<http://lists.freedesktop.org/archives/libreoffice/2015-September/070193.html>
"Re: [Libreoffice-commits] core.git: basic/source 'Revert a fix that can never
have worked in the first place?'"

Change-Id: I411bfaacbfebf50589290c6a3040d0300c256439
2015-09-09 10:54:03 +02:00
4b4a7c0d87 Revert a fix that can never have worked in the first place?
clang-analyzer-deadcode.DeadStores finds that conditionally assigning

  eTok = SYMBOL

inside the "if( SbiTokenizer::IsKws( eTok ) )" block is useless, as the directly
following

  if( DoParametersFollow( pParser, eCurExpr, eTok = eNextTok ) )

will unconditionally assign into eTok again, without intermediate use of the old
eTok value.

Now, the conditional "eTok = SYMBOL" assignment was added as
5d98ed5c6a4afc0a7943318c510e56aef8c45193 "INTEGRATION: CWS ab12fixes: #118234#
SbiExpression::Term(): Allow Input as symbol for action option compatible,"
while the unconditional "eTok = eNextTok" assignment had followed that block
ever since c25ec0608a167bcf1d891043f02273761c351701 "initial import."

The referenced "#118234#" was a Sun-internal bug and is no longer available, but
it does very much look as if this alleged bugfix never worked in the first
place.  So revert the code back to what it looked before
5d98ed5c6a4afc0a7943318c510e56aef8c45193, for now.

Change-Id: I1fe1178d2c5b0c0372da32b8dd0f2dfbdb22a1ae
2015-09-08 10:57:54 +02:00
751c771adc loplugin:mergeclass, merge BiNode with NameNode, Obj0Type with ObjkType
Change-Id: Icbc0dfc6096a6e2c651dad4fe9f78d176f389390
2015-09-08 09:20:31 +02:00
f0208db49d cppcheck: fix some redundantCondition warnings
Change-Id: If53d33fb4d9ca9dc1babb9043bd07c5d29fe74c2
Reviewed-on: https://gerrit.libreoffice.org/18353
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
2015-09-05 13:42:02 +00:00
d417059dae BASIC : SbiParser::DefXXX Only convert the first letter to uppercase
Change-Id: Iccee4712459653b35b11d8dbe99c45df753307be
Reviewed-on: https://gerrit.libreoffice.org/17859
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-09-05 09:22:41 +00:00
3fb50fbe2b basic: remove over-engineered XEnumeration service
... that was causing duplicate WeakImplHelper symbols now.

Change-Id: Ibbf84a2059f30bfeb5c265adcafb4b56d2534dc8
2015-09-03 16:31:59 +02:00
37a6fdf890 loplugin:stringconstant also for cases using char const v[] = "..."
Change-Id: Iba38686620624178a7be39d703389402bbcea4cb
2015-09-03 09:34:00 +02:00
79f060d451 coverity#1242865 Untrusted loop bound
Change-Id: I9332fa9b805e702fb56067efc308aff09310f603
2015-09-01 09:40:21 +01:00
8a7b7b7b72 New identifier for save/open macro with user defined types
no version bump but B_USERTYPE defined

fix test from commit de26ef85 that should be nMaxRecords

tested full round trip on password protected document (ie. use binary storage)
master --(0)--> master --(1)--> libreoffice 4.4 --(2)--> master --(3)--> master

(0) in master, User type supported, big module supported
(1) in libreoffice 4.4, user type not supported, big module supported, no loss of code
(2) in master, user type not supported, big module not found, no loss of code
    it is OK as libreoffice 4.4 saves to LegacyVersion
(3) in master, User type supported, big module supported (all is restored)
    it is OK as module was saved with CURRENT_VERSION (see sbxmod.cxx)

Change-Id: I237cf7de70adf1a755be1bc30987b21c43b6ab35
Reviewed-on: https://gerrit.libreoffice.org/17871
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-31 10:14:12 +00:00
ba4276efa3 loplugin:stringconstant: OUStringBuffer: appendAscii -> append
Change-Id: I349e1b9e3ea81c0684c6234497b6d44b47666b09
2015-08-31 08:04:43 +02:00
6900bf41e2 o3tl/cow_wrapper: remove boost dependency
Remove boost dependencies from ::o3tl::cow_wrapper, and add
the necessary includes to files including checked_delete and
noncopyable that do not already include the necessary files.

Change-Id: Iedae4232002792724226829a5d5cf9d16ffd0686
Reviewed-on: https://gerrit.libreoffice.org/18125
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2015-08-29 22:51:36 +00:00
9e318c0977 Resolves: #i112383# CLng("&HFFFFFFFF") fails on 64-bits...
rather than returning -1

Found-by: andrew
Patch-by: Damjan Jovanovic

(cherry picked from commit 175afdcb151d9ce1238dc9fec59f2dfc2eb07345)

Change-Id: I996bbfa82b10716318944f390ea53e0a5ae7c89c
2015-08-28 10:32:01 +01:00
bd8b93fdff make PostUserEvent Link<> typed
Change-Id: I13f10bda985d55d419a5bff481130a456ae2db8a
2015-08-28 09:49:56 +02:00
a6050c32f3 Clean up aEmpty
Change-Id: I4c4294b7fb1cb537ba3ae3e6e7e747a3333b7469
2015-08-27 08:00:32 +02:00
43c00bc489 Clean up aEmptyStr
Change-Id: I5befe9deac917a28e80ed193b67ff29b5ba35149
2015-08-26 21:24:29 +02:00
94a52f9ffa Resolves: #i117989# Basic functions return wrong results for dates <1900-1-1
Also extended our spreadsheeet test to search through more columns, open spreadsheets
with macros enabled, and added a test for the the Year(), Month(), Day(), Hour(),
Minute(), and Second() functions comparing Calc's formulas vs StarBasic's runtime functions.

Found-by: villeroy
Patch-by: Damjan Jovanovic

(cherry picked from commit a68493266e9212119f31e58c256f00fb9bcc8d20)

Change-Id: I8f2115c623a1d35db5b7fc8184a9118c3eca6fcd
2015-08-26 12:43:59 +01:00
167bc621ef Convert vcl Button Link<> click handler to typed Link<Button*,void>
Change-Id: Ie80dfb003118d40741549c41ebcc7eda4819f05b
2015-08-26 11:15:35 +02:00
de26ef857b coverity#1242865 Untrusted loop bound
Change-Id: I9c6f821f7bd1e9bd3eb8f47e269e62a792523f1a
2015-08-23 16:57:37 +01:00
6e40334663 null pointer guard if no user defined types declared at the module level
Change-Id: I368a168c636e4029e9cd9bbe4a4df5d9b846c923
Reviewed-on: https://gerrit.libreoffice.org/17834
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-18 12:16:29 +00:00
ba5fd0cc77 correct wrong comments
Change-Id: I6682248873bcd6302b1d8d041bbc2e19a8e0ba7b
Reviewed-on: https://gerrit.libreoffice.org/17831
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-18 11:40:26 +00:00
0405975042 tdf#75973 : User Defined Types in password encrypted macros
save/load basic script so that when executing password protected
the user defined types can be rebuilt

supports array and nested types

a unit test in sc macros-test.cxx

Change-Id: Ie127ea7ad9aea3353741048c00f1b3910c5517a4
Reviewed-on: https://gerrit.libreoffice.org/17815
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2015-08-18 09:50:53 +00:00
7985e5245a BASIC : SbiParser::pBasic is useless
Change-Id: I5aa041f78ea5685b996a6baf1d7bc22d5bd957ab
Reviewed-on: https://gerrit.libreoffice.org/17782
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-17 07:20:31 +00:00
0d737f2683 BASIC : SbiRuntime::ClearExprStack should return void
Change-Id: I704d8920ec44b6d2eb1fc9599dc37e41a28b5e63
Reviewed-on: https://gerrit.libreoffice.org/17779
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2015-08-16 12:27:49 +00:00
9d094b9f0a tdf#92446: Revert apparently bogus attempt at fixing a memory leak
6b4c596b01039324cfe78f38c4e3ffb9080bcd34 "Fix memory leak for BASIC sub (as well
as void function)," from just looking at the few lines of code in isolation, and
their revision history, looked like a plausible and effective approach to fix
the leaks reported by CppunitTest_basci_vba when run under lsan.

However, tdf#92446 indicates that that innocent-looking change had rather dire
consequences.  So revert it and leave a fix for the memory leak to somebody who
actually understands all this code.

Change-Id: Ic81b1c14a1cfb07c6ec4415cc26b2f826adbc8ca
2015-08-14 13:18:56 +02:00
adbc556c91 make Link<> instances typed
and remove some unused code

Change-Id: I934824401b5c528b07ad76f753f78440c4492885
Reviewed-on: https://gerrit.libreoffice.org/17703
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-14 07:15:01 +00:00
4f87e9da41 loplugin: defaultparams
Change-Id: I29ef505ee77965df33677f8051ec39398ef0c74e
2015-08-11 09:48:17 +02:00
50097a8bb2 basic,basctl: inline some use-once typedefs
Change-Id: I60619a5bfe9507fb5ed24123f62f6b5c2f2c8712
2015-08-04 08:55:56 +02:00
2660d24a07 new loplugin: refcounting
This was a feature requested by mmeeks, as a result of
tdf#92611.

It validates that things that extend XInterface are not
directly heap/stack-allocated, but have their lifecycle managed
via css::uno::Reference or rtl::Reference.

Change-Id: I28e3b8b236f6a4a56d0a6d6f26ad54e44b36e692
Reviewed-on: https://gerrit.libreoffice.org/16924
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-03 06:37:16 +00:00
c2ac8569de convert SBSTRM constants to scoped enum
Change-Id: I478a9c7eca6509baf3e9a3dd3ce3dd8f3060f842
2015-07-29 12:10:18 +02:00
b1c25a0d8f inline "old" SbERR constants
Change-Id: I3e6665351de97692ae70207e8b623ad008ca8c9a
2015-07-28 08:35:34 +02:00
01075a7274 inline the "old" SbxErr constants
Change-Id: I1c54c792e0397d61c97d5067963b343f912275fc
2015-07-28 08:35:34 +02:00
9072c5c855 convert SbxFlagsBits to scoped enum
Change-Id: I3dd699ca675be2ff4a8bfb7938bd5d43719b304c
2015-07-28 08:35:34 +02:00
38023af6c1 loplugin:unusedmethods
Change-Id: If5090c330e12d6e537766bf4a9be0a2360381a7a
Reviewed-on: https://gerrit.libreoffice.org/17312
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-24 10:36:20 +00:00
3e926736c7 Miscellaneous typos
Change-Id: I5187364d420ab78c36a91632efab9c32951d867a
2015-07-21 04:53:48 -05:00
b4ee16da65 com::sun::star->css in basic
Change-Id: I637fd7aedeb97b7dca22521474a54a1d4274f212
Reviewed-on: https://gerrit.libreoffice.org/17206
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-20 09:39:36 +00:00
40c34e6262 Fix indentation
Change-Id: I5cff1cda3c6882e751b88a4a4d1aacbec8942578
2015-07-19 17:12:32 +02:00
f7a2795c88 sal_uIntPtr to sal_uInt32, for consistency
Change-Id: Ib78dce61e8fb8c8e3bf8c7a2b02966100a4db0e8
2015-07-19 17:12:32 +02:00
c1edceb2f3 sal_uInt16 to sal_Int32 with some cleanup
Change-Id: Ib6e42702dd1ce29645215114b26286f05ccc1332
2015-07-19 17:12:32 +02:00
903baa666b Use more proper integer types
Change-Id: If86163ddeff91571419a37becbbe75f98e681d7d
2015-07-19 17:12:30 +02:00
15f32b5a1e basic: replace boost::ptr_vector with std::vector<std::unique_ptr>>
Change-Id: I96ea97c1df7903a28387d8e1171075be55a80ca7
2015-07-17 20:26:59 +02:00
5a80e32728 loplugin:simplifybool
Change-Id: I2dc7883e23c1437c4a8bf9fce19acfd3fe700ec0
2015-07-16 14:00:16 +02:00
536051f886 fix Windows build
after commit 22b094f5d8e1e82375b135abd3a6f99a9a555244
"loplugin:unusedmethods basic"

Change-Id: I7586d2487e47731db93335c3d9969626bf2eb6ab
2015-07-15 14:04:59 +02:00
22b094f5d8 loplugin:unusedmethods basic
Change-Id: Iddfbde451088750f8c74f3ac72c35b5ccfbe0ab1
Reviewed-on: https://gerrit.libreoffice.org/17044
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-15 09:07:05 +00:00
cbce40e965 Make content of OSL_ASSERT, DBG_ASSERT, etc. visiblie in non-debug builds
...to avoid lots of loplugin:staticmethods warnings.  Also enables DBG_ASSERT
etc. also for --enable-debug builds in addition to --enable-dbgutil builds.

Change-Id: Ib89ecd9ab8ce7abb2c64790ace248b31f9d2b64d
2015-07-13 18:14:11 +02:00
799cc41b53 Fix typos
Change-Id: I70b03c152f63e48341dc5629a99b0eeab7b497c0
Reviewed-on: https://gerrit.libreoffice.org/16834
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2015-07-08 05:48:18 +00:00
e69fd541ca Replace GetAppData(SHL_IDL) with a static pointer var
Change-Id: Ia1e22ff95457a958ef26974091aa2092b32505bd
2015-07-07 07:48:12 +02:00
7640e244db tdf#88206 replace cppu::WeakImplHelper* etc.
with the variadic variants, in basic.

Change-Id: I13c5644bd6b9e964e42a98bee9c3019d959efb36
Reviewed-on: https://gerrit.libreoffice.org/16719
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-06 07:28:21 +00:00
ffa8892c5a Fix typos
Change-Id: I75b4ad61785bf0ba1cb07735d938c0977356b8cc
Reviewed-on: https://gerrit.libreoffice.org/16705
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
2015-07-04 10:23:17 +00:00
2e7fe50874 error: 'pGen' was not declared in this scope
Change-Id: I6ebf100be3a90b315491e2735da9c82e5901fc59
2015-07-02 10:24:59 +02:00
fabe329412 BASIC : Remove SbCodeGen attribute from SbiExprNode and user std::unique_ptr.
Change-Id: I9f44f6a4b61987de960b77f54bac8cf2c981bd2a
Reviewed-on: https://gerrit.libreoffice.org/16551
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
2015-07-02 07:43:03 +00:00