Files
odfstudio/scripting
Stephan Bergmann 206b5b2661 New loplugin:external
...warning about (for now only) functions and variables with external linkage
that likely don't need it.

The problems with moving entities into unnamed namespacs and breaking ADL
(as alluded to in comments in compilerplugins/clang/external.cxx) are
illustrated by the fact that while

  struct S1 { int f() { return 0; } };
  int f(S1 s) { return s.f(); }
  namespace N {
    struct S2: S1 { int f() { return 1; } };
    int f(S2 s) { return s.f(); }
  }
  int main() { return f(N::S2()); }

returns 1, both moving just the struct S2 into an nunnamed namespace,

  struct S1 { int f() { return 0; } };
  int f(S1 s) { return s.f(); }
  namespace N {
    namespace { struct S2: S1 { int f() { return 1; } }; }
    int f(S2 s) { return s.f(); }
  }
  int main() { return f(N::S2()); }

as well as moving just the function f overload into an unnamed namespace,

  struct S1 { int f() { return 0; } };
  int f(S1 s) { return s.f(); }
  namespace N {
    struct S2: S1 { int f() { return 1; } };
    namespace { int f(S2 s) { return s.f(); } }
  }
  int main() { return f(N::S2()); }

would each change the program to return 0 instead.

Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c
Reviewed-on: https://gerrit.libreoffice.org/60539
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-17 09:05:38 +02:00
..
2018-09-17 09:05:38 +02:00
…
…
2018-04-25 01:35:07 +02:00

This module provides the source code for the Scripting Framework.

For more information on the Scripting Framework, see the project web page:
[http://framework.openoffice.org/scripting/]

This module uses astyle to keep consistent java coding style. Please run

./Format_java_code.sh

before committing.

== Source Code Structure ==

The following directories contain the source code currently used
by the Scripting Framework:

- source/provider

C++ source for the implementations of the com.sun.star.script.provider.*
and com.sun.star.script.browse.* UNO types. These types are used for
browsing and executing scripts.

- source/protocolhandler

C++ for a ProtocolHandler implementation that handles vnd.sun.star.script
URIs and dispatches them for execution to the Scripting Framework.

- source/basprov

C++ implementation of the LanguageScriptProvider UNO service for Basic

- source/dlgprov

C++ implementation of the DialogProvider UNO service used for loading
UNO dialogs from various languages

- source/pyprov

LanguageScriptProvider for Python

- java/com/sun/star/script/framework/provider

Implementation of an abstract base class ScriptProvider which provides
core methods for implementing Java based LanguageScriptProvider implementations

- java/com/sun/star/script/framework/provider/*

BeanShell, JavaScript and Java LanguageScriptProvider implementations

- java/com/sun/star/script/framework/browse/*

BrowseNode implementations for the Java based LanguageScriptProviders

- java/com/sun/star/script/framework/io
- java/com/sun/star/script/framework/container

Classes for performing script IO

- examples

Example scripts in BeanShell, JavaScript, Java and Python


== Deprecated Code ==

- java/org/openoffice/*

Support for developing scripts in IDEs such as NetBeans.