summaryrefslogtreecommitdiff
path: root/unoidl
AgeCommit message (Collapse)AuthorFilesLines
2014-05-23Remove circular references between unoidl::Manager and its providersStephan Bergmann5-15/+11
Change-Id: Ic6ad3e2c7f69dd123077a913f35f1971f1e8ca13
2014-05-23Combine unoidl::loadProvider and unoidl::Manager::addProviderStephan Bergmann5-37/+36
Change-Id: I1240656cc2a4d713c838eb80fa90ce3485aad614
2014-04-29coverity#1210179 Uninitialized pointer fieldCaolán McNamara1-1/+1
Change-Id: I09534eab67c0ae38cd6965c3b63227d92b72c646
2014-04-11unoidl-check: Also check for invalid UNOIDL identifiersStephan Bergmann1-0/+270
...but only in those parts of registry B that are not also in registry A. That way, we can detect newly introduced violations while ignoring the old (published) violations for backwards compatibility. Change-Id: Ifb8ea98fffca29647aa6677a5ade86e5b194ddee
2014-03-26First batch of adding SAL_OVERRRIDE to overriding function declarationsStephan Bergmann9-23/+23
...mostly done with a rewriting Clang plugin, with just some manual tweaking necessary to fix poor macro usage. Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-18Find places where OUString and OString are passed by value.Noel Grandin1-3/+3
It's not very efficient, because we generally end up copying it twice - once into the parameter and again into the destination OUString. So I create a clang plugin that finds such places and generates a warning so that we can convert them to pass-by-reference. Change-Id: I5341a6ea9e3190f4b4c05c42c85595e3dcd83361
2014-02-24Yet another one undefined comparison of 'const' and a 'non-const' iteratorsDouglas Mencken1-1/+1
Fixes: no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = rtl::OUString, _Alloc = std::allocator<rtl::OUString>]()’ Change-Id: I7b4ba07ebe51c73893a3d6b77dcf5681b7638efb Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2014-02-18tests belong to check targetBjoern Michaelsen1-1/+3
- the CustomTarget seems to be a test, not a build target - worse, it is .PHONY - ... and eats 30% of the top-level build-nocheck time alone - so hopefully, we can we at least make it a check target Change-Id: I113777cbd849aab9e8d0a77184e31194bc07232e Reviewed-on: https://gerrit.libreoffice.org/8111 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2014-01-08OK to add optional bases to published old-style servicesStephan Bergmann1-27/+36
Change-Id: Ie6f5f2a634171d9618f3229bcc18ad48fff80d35
2013-12-20typo fixesAndras Timar1-1/+1
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
2013-11-27Silence false "may be used uninitialized" warningsStephan Bergmann1-2/+5
Change-Id: Ie708de4a7fbd34e1ab3c417688de79d5bdf0e0b8
2013-11-26Fix unoidl sourceprovider old-style service duplicate member checksStephan Bergmann1-11/+45
Change-Id: Ifa19a427543e76053e9b249c479e1e13f3599bcc
2013-11-26Remove outdated TODO (@deprecated annotation are handled fine)Stephan Bergmann1-1/+0
Change-Id: Iab32e6974a181e437630aaae2ea73eb6062ec0ee
2013-11-26Duplicate base checking code already covers check for opt base != XInterfaceStephan Bergmann1-1/+0
Change-Id: Icd47d87f93641a0b24a96a4be8d3d120f0405f2d
2013-11-25Fix unoidl sourceprovider interface base and member checksStephan Bergmann4-83/+638
...and enable tests shared with idlc Change-Id: I422b16c9b2636835d276cc2085cb640073894c97
2013-11-22Fix unoidl sourceprovider polystruct argument checksStephan Bergmann1-30/+37
Change-Id: Ib7ee3188b87b9b4216214b65347e34970e1b92a5
2013-11-22Fix unoidl sourceprovider typedef checkStephan Bergmann1-6/+6
Change-Id: I7faa689c803f83687cfcc39dc7c4fd145584e849
2013-11-22Fix unoidl sourceprovider recursive struct/exception member checkStephan Bergmann1-1/+8
Change-Id: Icd156745da10011611590b6b62cd0ec2df2b1266
2013-11-22Fix unoidl sourceprovider "published" checksStephan Bergmann2-59/+348
Change-Id: I93b9fcc2b20ed7a7c160a9ef3294b6e578678f53
2013-11-05fixincludeguards.sh: uno*Thomas Arnhold4-8/+8
Change-Id: I8fb3c25cd583b688104a0ee8620696e7b2958ab5
2013-10-24fdo#67725 unoidl::AggregatingCursor must wrap modules for aggregation, tooStephan Bergmann1-34/+78
Otherwise cppuhelper::TypeManager::createTypeDescriptionEnumeration, sitting on top such an AggregatingCursor, will miss any entities from provider P' in module M if any previous provider P contains the same module M. That happened when climaker generates cli_oootypes.dll, where the enumeration missed everything from offapi in top-level module "com" because it had already seen udkapi's "com", and only reported the handful of entities under offapi's other top-level module "org" (which does not appear in udkapi). Change-Id: If538391bde22bcc346417b5988cf12023f0d4172
2013-10-15Allow starts-/endsWith* to also return the rest of the matched stringStephan Bergmann3-9/+4
...as there are many cases where the code later wants to obtain this part, and esp. for the string literal variants it is awkward to calculate the length of the literal again if this is coded with a following copy() call. Adapt some code to use this new feature. (Strictly speaking, the @since tags for the---backwards-compatibly---modified functions are no longer accurate of course. Also, clean up some sal_Bool and SAL_THROWS(()) that are unnecesssary cargo-cult here, and where the clean-up should have no practical compatibility consequences.) Change-Id: I43e5c578c8c4b44cb47fd08f170b5c69322ad641
2013-10-10Silence some false Covertiy scan warnings about uninitialized membersStephan Bergmann2-6/+17
Change-Id: I5e1d870a60f4c0d4b805c615d0e3c958e856bf8c
2013-10-10Make changes of interface method parameter names a hard failureStephan Bergmann1-1/+2
...instead of a warning, now that all the deliberate changes have been addressed. Change-Id: I6075a36a560bd68826c6840992eefb8f51b939ba
2013-09-20keep C++03 compilers happyStephan Bergmann1-2/+2
Change-Id: I62af395105f51e802b874424b993dcf7e687a78b
2013-09-20Reject "too similar" service constructorsStephan Bergmann3-18/+112
Change-Id: Ie81e9994084b5a2f44a436c764318ea6e5049faf
2013-09-20Certain UNOIDL typedefs are forbidden for historic reasonsStephan Bergmann1-1/+16
Change-Id: I0fb4ca4e529f5f35e3619bab5e89348dd9c67faf
2013-09-19Directly build UNOIDL .rdb files from .idl filesStephan Bergmann1-9/+6
...via unoidl-write and the new source-format registry provicers, instead of using idlc to produce .urd files, regmerge to merge them into legacy .rdb files, and unoidl-write to translate those to new UNOIDL .rdb files. gb_UnoApi and gb_InternalUnoApi ctors take an additional argument now that is the path (below $(SRCDIR)) of the source-format registry from which to obtain UNOIDL entity definitions. It can either be an .idl file (in which case no *_add_idlfiles calls should be used and the resulting .rdb will contain all the entities from that one .idl file; used in some tests to conveniently define all test-specific entities in a single file) or a directory denoting the root of an .idl file tree (in which case *_add_idlfiles calls specify the entites to include in the resulting .idl file). (In the first case, the generated .rdb file needs to depend on that single .idl file, so the gb_UnoApiTarget ctor contains a dependency on that additional argument, which happens, as a side effect, to trigger rebuilds in the second, tree-based case when addition/removal of .idl files in the tree causes updates of directory time-stamps.) UnoApiPartTarget and all the dependency-tracking logic based on .urd files in solenv/gbuild/UnoApiTarget.mk is gone. Generation of an .rdb file now depends on its source registry (see previous paragraph) and all the .idl files specified with *_add_idlfiles (in the second, tree-based case above). A consequence of that is that gb_UnoApi_add_idlfile, -_nohdl, and -_noheader all do the same now. I left them in for now anyway, maybe they become relevant again when the use of cppumaker is changed to read directly from a source-format registry instead of going via a .rdb registry. The legacy tools idlc, regcompare, regmerge, and regview are still contained in the URE or SDK for now. cb344cd59e1ddb7c6db66dbd9263b4755969d4ba "Revert 'Looks like idlc resolved typedefs inside sequence<...>'" is re-reverted as now "the current offapi.rdb is generated via unoidl-write instead of idlc." Change-Id: I3d9d92f17326bc9f49dd934c85aab6a17951d06d
2013-09-19Update unoidl/READMEStephan Bergmann1-18/+35
Change-Id: Ib4cc138ab4c6de0d3d3a8ad55e40ba9ca30c15ae
2013-09-19Fix indentationStephan Bergmann1-39/+38
Change-Id: I7814547ef29ec728a5a815196427b661bf285256
2013-09-19-Werror,-Wunused-parameterStephan Bergmann1-0/+1
Change-Id: I331d769132d3b18c870c70c7abcbd9539135af55
2013-09-19Prevent conflicts on case-preserving file systemsStephan Bergmann1-6/+67
Change-Id: Ia40f0ce43086fd73cba60011001640a945fb3e26
2013-09-19Handle special case -(2^63) correctlyStephan Bergmann1-8/+12
Change-Id: Ia3d8931341b2d47ef76265d94410d83f51a068c0
2013-09-19typoStephan Bergmann1-1/+1
Change-Id: I79660ddd3ec9f78452fa484b33a9720cbf8ddc80
2013-09-18New unoidl-check tool to replace regcompareStephan Bergmann3-0/+945
...for checking compatibility with the reference rdbs. unoidl-check is no longer based on the legacy registry format, but can process all the various new UNOIDL registry formats. regcompare is still included in the SDK for now. (gb_UnoApi[Target]_set_reference_rdbfile now takes a non-empty sequence of rdb files, any necessary dependencies of the final rdf file preceding it just like it is required on the unoidl-check command line. Also, executing the unoidl-check now properly depends on those rdb files.) TODO: unoidl-check is too conservative for now and flags some changes as incompatible that are not. Change-Id: I92e4c69403c5e3fcb31707c98c65a2f509592dd4
2013-09-18Unpublished optional bases of published interfaces complicate thingsStephan Bergmann1-9/+40
Change-Id: I206b623fcc3c9e04fc5336cb3704315c44fb83b8
2013-09-18Some fixes of the generated .idl outputStephan Bergmann1-15/+19
Change-Id: I2d71e148f302ebfbf8d0fbfc74a7fb523b7bfcd4
2013-09-18-WshadowStephan Bergmann1-2/+2
Change-Id: I8299079b46be4ccb7070f5497d089166a953c939
2013-09-18Executable_unoidl-read needed only for DESKTOP platformsTor Lillqvist1-1/+2
Change-Id: Id1edf4fcebfe0d839162adb442695e9ce39e3f75
2013-09-17Missing includeStephan Bergmann1-0/+1
Change-Id: I93d35ca7b784fc6d1b228347053ef0f76904f039
2013-09-17Clean up includesStephan Bergmann1-7/+2
Change-Id: I784ba245526f6fbf933ee485df1604e82980d931
2013-09-17&& vs. & typosStephan Bergmann1-9/+9
Change-Id: I7475114158d64b8dbe64cd9d1de3415454c762f4
2013-09-17New unoidl-read tool to translate registries into readable .idl filesStephan Bergmann3-0/+1135
Change-Id: Ibd6ce23d2698280105469fb75c4afa225dc237ee
2013-09-17Fix usage messageStephan Bergmann1-9/+9
Change-Id: I7d8b196d047b1e0075acdbf380a9b3ed750a7b90
2013-09-17Fix build with Bison 3Khaled Hosny1-1/+1
The Bison 3 generated sources do not seem to define YYID, so our YYLLOC_DEFAULT definition was broken. No idea what any of this means, but sberg said I can safely remove the YYID usage, so if it kills your pet, you know whom to blame. Change-Id: I464564be941e0a49da264057923bf8e8e82d5ffd
2013-09-17-Werror=shadowJulien Nabet1-3/+3
Change-Id: Ia344d5a68118ba9896672ebbf4cccaf0511f8186
2013-09-17WIP: additional unoidl::Provider that directly reads a single .idl fileStephan Bergmann4-0/+191
Change-Id: Iab795a34a657cb36ced24a1a05f6c21a6c1637aa
2013-09-17Rename SourceProvider -> SourceTreeProviderStephan Bergmann4-13/+15
Change-Id: Ic864f9c6f3dbbe9f75bdae76818c00f62825182d
2013-09-17Move full file parsing logic to sourceprovider-parser.yStephan Bergmann4-103/+107
...in preparation of SourceFile- vs. -TreeProvider. Change-Id: I4c8f37ade1ba26cb7b38f63211711613d1b98a73
2013-09-17Detect reuse of module names for other entitiesStephan Bergmann2-5/+39
Change-Id: Ifc8d95b4b15a7dd91195e6f727fdb7fa2a267be9