Commit Graph

526 Commits

Author SHA1 Message Date
508c95f1b6 improve passstuffbyref return analysis
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c
Reviewed-on: https://gerrit.libreoffice.org/27317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-27 06:48:25 +00:00
0b424c2506 loplugin:passstuffbyref also for {css::uno,rtl}::Reference
Change-Id: I614d91e7e4a686613dc0cbe1b9f4fabb978ffc77
2016-07-07 18:59:55 +02:00
cea4c1afdf loplugin:singlevalfields in basic and fix leak
And fix leak in BasicManagerImpl where it would never have freed
the streams.

Change-Id: I1e99c2c6a70a8cac27dd5c86a7042efc3de7a578
Reviewed-on: https://gerrit.libreoffice.org/26632
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-27 05:17:31 +00:00
0b23eec200 teach refcounting clang plugin about uno::Reference
uno::Reference is only allowed to used with classes that have a
::static_type member.
So convert all those places to rtl::Reference.

Maybe we need some LIBO_INTERNAL_ONLY constructors on rtl::Reference and
uno::Reference to make this a little smoother?

Change-Id: Icdcb35d71ca40a87b1dc474096776412adbfc7e3
Reviewed-on: https://gerrit.libreoffice.org/25516
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-31 06:25:45 +00:00
2af018e4dd Fix typos
Change-Id: I860cc4aa04b4e5cd1437b2f24176ee2ccdec3266
Reviewed-on: https://gerrit.libreoffice.org/25420
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-25 09:50:55 +00:00
f3d9aab841 teach passstuffbyref plugin to check for..
unnecessarily passing primitives by const ref.

Suggested by Tor Lillqvist

Change-Id: I445e220542969ca3e252581e5953fb01cb2b2be6
Reviewed-on: https://gerrit.libreoffice.org/24672
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-06 06:48:38 +00:00
311bc1fc8b loplugin:passstuffbyref in basic
Change-Id: Ie93b33502325f00ba95ab168a445a347148f9edd
2016-04-13 13:27:51 +02:00
f678b82f0e clang-tidy performance-unnecessary-value-param in basic
Change-Id: I997213ca28efc2df04d454ffaf3c81c9cbad09ac
2016-04-11 11:38:57 +02:00
45adae8fd6 Avoid reserved identifiers
Change-Id: Ibba1a36d4f3744fa68f7e9d0076c997e076262cb
2016-04-06 08:31:46 +02:00
f7a3bdf623 Turn SbiOpcode into scoped enum
Change-Id: I75d808dd3a42e57e7f55bad97e24fef65bb62dc6
2016-04-06 08:31:46 +02:00
7beeced463 Avoid reserved identifiers
Change-Id: I3fbc7cb107bdab770d5ce9ed3ecddb962d2d4666
2016-04-06 08:31:46 +02:00
c1e4d402c6 BASIC : Use a vector to store the argv stack
Change-Id: I29c93aec598b7f784f549ce05f6b32dfabbfc3ad
Reviewed-on: https://gerrit.libreoffice.org/23815
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-04-04 19:44:19 +00:00
c20cc7e79b tdf#97499 Fixed containers parameters clearing #4
Change-Id: I7c96181399f4d7e62d4aceca404b22d68f903513
Reviewed-on: https://gerrit.libreoffice.org/23754
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-04 05:49:06 +00:00
362ab03eb2 tdf#97499 Fixed containers parameters clearing #2
Change-Id: I2e77c3b33ae3b8a49a7890cac77be566391972f2
Reviewed-on: https://gerrit.libreoffice.org/23751
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-04-04 05:44:36 +00:00
917e3656e9 BASIC : Use a vector to store the go sub stack.
Change-Id: I80987f3f7c036279a8292a7fbbd2dcd232196226
Reviewed-on: https://gerrit.libreoffice.org/23753
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-04-03 17:34:04 +00:00
402572e25c loplugin:constantparam in basic
Change-Id: I6831cb8628eed76db35070934f62dccb1345ba12
2016-03-23 11:22:34 +02:00
bb3930bb91 BASIC : Use std::vector in SbiRuntime to save references
Change-Id: Ica819538b39e58416825e651d057620a66f731cd
Reviewed-on: https://gerrit.libreoffice.org/23193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-03-20 12:56:04 +00:00
29cb1f1923 Remove ancient StarPortal leftovers
No UNO bridge has a "user" token in its description anyway, so
needsSecurityRestrictions always returned false.

Change-Id: Ibc3aa25212a2e8b245c13578fa29582be42791e6
2016-03-08 15:06:39 +01:00
472d900e81 tdf84938 Replaced Sb_Attr_ defined constants with enum class in runtime.hxx
Replaced the #define Sb_Attr_* constants with SbAttributes enum class in runtime.hxx and adjusted uses in methods.cxx.

Change-Id: Ic7f6f6452849ffc9675ffd697ffc130276082318
Reviewed-on: https://gerrit.libreoffice.org/22948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07 09:06:12 +00:00
37a6bafea8 loplugin:unuseddefaultparam in various
Change-Id: I03d7381aad055cbe9bd905e4082586073f4112e0
Reviewed-on: https://gerrit.libreoffice.org/22900
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07 05:56:59 +00:00
bd2bf6bd55 loplugin:unuseddefaultparams in basic
Change-Id: I286efdac6af47a859693fccc71b445915f76945c
2016-03-03 08:11:02 +02:00
d9dacecd90 tdf#84938 Change average enum for scoped enum
This is a [partial] patch for tdf#84938, involving the substitution of an average enum for a scoped one.

Change-Id: I4b3a19914d30a14dec2640355ba392b943e1ddd7
Reviewed-on: https://gerrit.libreoffice.org/22808
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-02 12:42:24 +00:00
2d162b1c70 tdf#84938 Eliminate B_xxx defines in filefmt.hxx for FileOffset scoped enum.
Second step: Make SbiOpenRecord() accept a FileOffset as second parameter

This is a [partial] patch The objective is to substitute all apparitions of
#defined constants for enum class.
The victim here is the series of constants B_xxx that were located in
filefmt.hxx and were changed for a FileOffset enum class.

Obviously some other files where the type is used must be changed too.

Change-Id: I7406bdc8e780ee89802ab6823f9c91c4c9b765c0
Reviewed-on: https://gerrit.libreoffice.org/22697
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-26 07:18:25 +00:00
f17a4694b0 BASIC : use std::unique_ptr for storing SbiExprList
Change-Id: I37f2a1c837c6742cf6d403962d2730b5e80004ec
Reviewed-on: https://gerrit.libreoffice.org/22345
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-17 07:08:59 +00:00
2b31daf74e tdf#95857 Sort out German plurals ...
Made a start in removing the incorrect 'Infos' German plural

Change-Id: Ie989351a7473fc35b563e63ce6a4fb229093af60
Reviewed-on: https://gerrit.libreoffice.org/22301
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2016-02-12 15:29:25 +00:00
a238b1f8d3 Remove excess newlines
A ridiculously fast way of doing this is:

for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
  --exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
    perl -0777 -i -pe 's/^
{3,}/

/gm' $i
done

Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-02-09 08:18:05 +00:00
6c6cb30bf4 BASIC : Use std::unique_ptr in SbiExpression and SbiExpList
Change-Id: I6f09615d19560673319e103af36c40c94ea77f12
Reviewed-on: https://gerrit.libreoffice.org/22186
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-02-08 20:32:15 +00:00
310b65e5e9 sequence->vector in basic
Change-Id: Ic1b72a6c5e9df5d0fa65626ec1d8eda6a2d2feec
Reviewed-on: https://gerrit.libreoffice.org/22176
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-08 12:30:29 +00:00
b14224fe97 loplugin:unusedmethods
using an idea from dtardon:

<dtardon> noelgrandin, hi. could you try to run the unusedmethods clang
plugin with "make build-nocheck"? that would catch functions that are
only used in tests. e.g., i just removed the whole o3tl::range class,
which has not been used in many years, but htere was a test for it...
<noelgrandin> dtardon, interesting idea! Sure, I can do that.

Change-Id: I5653953a426a2186a1e43017212d87ffce520387
Reviewed-on: https://gerrit.libreoffice.org/22041
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-08 06:08:14 +00:00
c474e610e4 BASIC : Use vector in SbiExprList to avoid any dependencies
Change-Id: I1ae88ae9c4276452a00aadaaadebf582e639b15a
Reviewed-on: https://gerrit.libreoffice.org/22174
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-08 06:06:40 +00:00
4cac0c05c6 BASIC: SbiExpression::IsIntConstant has side effects.
Also renames IsIntConstant to ConvertToIntConstIfPossible.

Change-Id: Ib4b465ac0d890762547fb2d83c26ad6be6ee75e8
Reviewed-on: https://gerrit.libreoffice.org/21746
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2016-01-27 15:36:52 +00:00
752cd07d08 InterfaceContainer2 with vector instead of Sequence
create an InterfaceContainer2 class to replace InterfaceContainer.
It uses a std::vector instead of a Sequence for the mutable listener
list, which provides far better performance.

Switch all our internal use-sites to the new class.

Change-Id: I6b56cfa511ded2395faa22e68fab3b2f16c3cb88
2016-01-25 08:52:03 +02:00
7d0e520e22 BASIC : Remove class SbiDimList and SbiParameters
Change-Id: I039bdc786a65ad534390e7138f584cdb470428af
Reviewed-on: https://gerrit.libreoffice.org/21734
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-01-24 17:43:15 +00:00
49b5eed56c BASIC : Remove SbiExprList::pParser
Change-Id: Ib9386d97ddb12f148cf76dc71aa8c41003286f50
Reviewed-on: https://gerrit.libreoffice.org/21534
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-24 06:48:45 +00:00
3a97b3619a BASIC : Remove useless virtual function override
Change-Id: I0f8e480bf73256e7f1284e11983cc70c0426172c
Reviewed-on: https://gerrit.libreoffice.org/21513
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-16 17:08:46 +00:00
bc80f951c1 loplugin:unusedmethods unused return value in basic
Change-Id: I0ccbf994d2c9be35f43fc3c62e60da90634bacdf
2016-01-11 10:49:24 +02:00
bccd83ea54 Some cleanup for sal_uIntPtr usage
Change-Id: Ia9779e6477d8848588f3543d09ea6b4477f594a2
Reviewed-on: https://gerrit.libreoffice.org/21022
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-01-07 14:13:49 +00:00
70d14d2ccd loplugin:unusedfields in basic
Change-Id: I304f3903f305ba5b538964071ab95b57ebf2f970
2015-12-23 09:46:48 +02:00
4251e676bb BASIC : Refactor FoldConstants for extracting it from SwExprNode.
Change-Id: Ia47597b26d63db216dd3ab71acbb18449ece7b1a
Reviewed-on: https://gerrit.libreoffice.org/16963
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
Tested-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2015-12-22 11:13:03 +00:00
98f0e0eda5 Resolves: #i19221# Print Tab(5); "Hello" does not work
Implement the Tab() function in AOO Basic.

Patch by: me

(cherry picked from commit fa1315d25186643ea537972609c117e0c9bb1fbc)

Change-Id: Ifa9843661ce3862347c6351a078ddb207169182a
2015-12-15 13:48:28 +00:00
c4c059beb3 DBG_TRACE_BASIC/PROFILING had been rotting for quite some time now
...e.g., it still used the long-gone tools String class

Change-Id: I9d1930c72fbae3208a0f3da14c6991f30d89a9bc
2015-12-10 08:18:15 +01:00
fa91dd31f3 5th step to remove tools/rtti.hxx
tools/rtti.hxx removed
completed the interface of some Sdr.*  Items
and removed pseudo items

Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a
Reviewed-on: https://gerrit.libreoffice.org/19837
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-11 10:49:30 +00:00
08e49fa337 loplugin:nullptr (automatic rewrite)
Change-Id: I1ec9a671fe3ac838feb36297915e3cdf8749d944
2015-11-10 10:31:17 +01:00
51eb04a158 basic: replace boost::ptr_vector with std::vector<std::unique_ptr>
Change-Id: I98c4ac860fbdb55a61f9be0e9d2d5f29fb849e05
2015-10-26 16:09:20 +01:00
71f6aab077 basic: replace boot::ptr_vector with std::vector
Change-Id: I4967ad8345cd74c39edbea1df513978b62996b90
2015-10-26 16:09:20 +01:00
b36963c0a6 Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12 17:52:29 +02:00
bff4c13475 Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY code
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-10-12 17:52:26 +02:00
e9ae1b64af checkUnoObjectType etc always deref their ptr arg, convert to ref
Change-Id: Iabdb057fb2dc05cfb8c98864dc5109360b50633a
2015-10-02 11:38:58 +01:00
2957be02c5 Fix typos
Change-Id: I776c517ba87838c0c3391f79010a30fa7fe2abd3
Reviewed-on: https://gerrit.libreoffice.org/18939
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2015-10-02 08:54:51 +00:00
ddb4526159 tdf#94617 allow to store nStart information greater than sal_Int16 limit
- preserve backward compatibility
- nDebugFlag is stored but not used when loaded
- Flag nDebugFlag set the top bit to 1
- stores the multiplier of sal_Int16 limit to reach nStart
- in load, test this flag bit
- rebuild correct nStart
- new B_CURVERSION file format for binary storage macro
- unit test for big modules

Reviewed-on: https://gerrit.libreoffice.org/18926
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit db17079fcff6f9a068c499b17f2501cc4c82d10b)

Change-Id: Iaa037982d828fef7195615e6eda546b7199a4fe8
2015-10-01 16:36:05 +01:00