Merge pull request #1708 from felicity-semmle/support/add-note

Support: add note about compiler versions
This commit is contained in:
jf205
2019-08-07 14:08:01 +01:00
committed by GitHub
11 changed files with 89 additions and 85 deletions

View File

@@ -0,0 +1,9 @@
Name, Category
ASP.NET, Web application framework
ASP.NET Core, Web application framework
ASP.NET Razor templates, Web application framework
EntityFramework, Database ORM
EntityFramework Core, Database ORM
Json.NET, Serialization
NHibernate, Database ORM
WinForms, User interface
1 Name Category
2 ASP.NET Web application framework
3 ASP.NET Core Web application framework
4 ASP.NET Razor templates Web application framework
5 EntityFramework Database ORM
6 EntityFramework Core Database ORM
7 Json.NET Serialization
8 NHibernate Database ORM
9 WinForms User interface

View File

@@ -1,3 +1,58 @@
.. This includes the file maintained in the QL repository
Frameworks and libraries
########################
.. include:: ../../../change-notes/support/framework-support.rst
The QL libraries and queries in version |version| have been explicitly checked against the libraries and frameworks listed below.
.. pull-quote::
Tip
If you're interested in other libraries or frameworks, you can extend the analysis to cover them.
For example, by extending the data flow libraries to include data sources and sinks for additional libraries or frameworks.
.. There is currently no built-in support for libraries or frameworks for C/C++.
C# built-in support
================================
.. csv-table::
:file: csharp-frameworks.csv
:header-rows: 1
:class: fullWidthTable
:widths: auto
COBOL built-in support
===================================
* Embedded SQL
* Embedded CICS
Java built-in support
==================================
.. csv-table::
:file: java-frameworks.csv
:header-rows: 1
:class: fullWidthTable
:widths: auto
JavaScript and TypeScript built-in support
=======================================================
.. csv-table::
:file: javascript-typescript-frameworks.csv
:header-rows: 1
:class: fullWidthTable
:widths: auto
Python built-in support
====================================
.. csv-table::
:file: python-frameworks.csv
:header-rows: 1
:class: fullWidthTable
:widths: auto

View File

@@ -1,7 +1,7 @@
Supported languages and frameworks
##################################
These pages describe the languages and frameworks supported in the latest release of QL and LGTM.
These pages describe the languages and frameworks supported in the latest enterprise release of QL and LGTM.
Users of `LGTM.com <https://lgtm.com/>`_ may find that additional features are supported because it's updated more frequently.
For details see:

View File

@@ -0,0 +1,13 @@
Name, Category
Hibernate, Database
iBatis / MyBatis, Database
Java Persistence API (JPA), Database
JDBC, Database
Protobuf, Serialization
Kryo deserialization, Serialization
SnakeYaml, Serialization
Spring JDBC, Database
Spring MVC, Web application framework
Struts, Web application framework
Thrift, RPC framework
XStream, Serialization
1 Name Category
2 Hibernate Database
3 iBatis / MyBatis Database
4 Java Persistence API (JPA) Database
5 JDBC Database
6 Protobuf Serialization
7 Kryo deserialization Serialization
8 SnakeYaml Serialization
9 Spring JDBC Database
10 Spring MVC Web application framework
11 Struts Web application framework
12 Thrift RPC framework
13 XStream Serialization

View File

@@ -0,0 +1,23 @@
Name, Category
angularjs, HTML framework
axios, Network communicator
browser, Runtime environment
electron, Runtime environment
express, Server
hapi, Server
jquery, Utility library
koa, Server
lodash, Utility library
mongodb, Database
mssql, Database
mysql, Database
node, Runtime environment
postgres, Database
ramda, Utility library
react, HTML framework
request, Network communicator
sequelize, Database
socket.io, Network communicator
sqlite3, Database
superagent, Network communicator
underscore, Utility library
1 Name Category
2 angularjs HTML framework
3 axios Network communicator
4 browser Runtime environment
5 electron Runtime environment
6 express Server
7 hapi Server
8 jquery Utility library
9 koa Server
10 lodash Utility library
11 mongodb Database
12 mssql Database
13 mysql Database
14 node Runtime environment
15 postgres Database
16 ramda Utility library
17 react HTML framework
18 request Network communicator
19 sequelize Database
20 socket.io Network communicator
21 sqlite3 Database
22 superagent Network communicator
23 underscore Utility library

View File

@@ -1,3 +1,26 @@
.. This includes the file maintained in the QL repository
Languages and compilers
#######################
.. include:: ../../../change-notes/support/language-support.rst
QL and LGTM version |version| support analysis of the following languages compiled by the following compilers.
Note that where there are several versions or dialects of a language, the supported variants are listed.
If your code requires a particular version of a compiler, check that this version is included below.
Customers with any questions should contact their usual Semmle contact with any questions.
If you're not a customer yet, contact us at info@semmle.com
with any questions you have about language and compiler support.
.. csv-table::
:file: versions-compilers.csv
:header-rows: 1
:widths: auto
:stub-columns: 1
.. container:: footnote-group
.. [1] Support for the Arm Compiler (armcc) is preliminary.
.. [2] In addition, support is included for the preview features of C# 8.0 and .NET Core 3.0.
.. [3] The best results are achieved with COBOL code that stays close to the ANSI 85 standard.
.. [4] Builds that execute on Java 6 to 12 can be analyzed. The analysis understands Java 12 language features.
.. [5] ECJ is supported when the build invokes it via the Maven Compiler plugin or the Takari Lifecycle plugin.
.. [6] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files.
.. [7] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default for LGTM.

View File

@@ -0,0 +1,11 @@
Name, Category
Bottle, Web framework
CherryPy, Web framework
Django, Web application framework
Falcon, Web API framework
Flask, Microframework
Pyramid, Web application framework
Tornado, Web application framework and asynchronous networking library
Turbogears, Web framework
Twisted, Networking engine
WebOb, WSGI request library
1 Name Category
2 Bottle Web framework
3 CherryPy Web framework
4 Django Web application framework
5 Falcon Web API framework
6 Flask Microframework
7 Pyramid Web application framework
8 Tornado Web application framework and asynchronous networking library
9 Turbogears Web framework
10 Twisted Networking engine
11 WebOb WSGI request library

View File

@@ -0,0 +1,18 @@
Language,Variants,Compilers,Extensions
C/C++,"C89, C99, C11, C++98, C++03, C++11, C++14, C++17","Clang extensions (up to Clang 8.0),
GNU extensions (up to GCC 8.3),
Microsoft extensions (up to VS 2019),
Arm Compiler 5.0 [1]_.","``.cpp``, ``.c++``, ``.cxx``, ``.hpp``, ``.hh``, ``.h++``, ``.hxx``, ``.c``, ``.cc``, ``.h``"
C#,C# up to 7.3. with .NET up to 4.8 [2]_.,"Microsoft Visual Studio up to 2019,
.NET Core up to 2.2","``.sln``, ``.csproj``, ``.cs``, ``.cshtml``, ``.xaml``"
COBOL,ANSI 85 or newer [3]_.,Not applicable,"``.cbl``, ``.CBL``, ``.cpy``, ``.CPY``, ``.copy``, ``.COPY``"
Java,"Java 6 to 12 [4]_.","javac (OpenJDK and Oracle JDK),
Eclipse compiler for Java (ECJ) [5]_.",``.java``
JavaScript,ECMAScript 2019 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhm``, ``.xhtml``, ``.vue``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [6]_."
Python,"2.7, 3.5, 3.6, 3.7",Not applicable,``.py``
TypeScript [7]_.,"2.6-3.5",Standard TypeScript compiler,"``.ts``, ``.tsx``"
1 Language Variants Compilers Extensions
2 C/C++ C89, C99, C11, C++98, C++03, C++11, C++14, C++17 Clang extensions (up to Clang 8.0), GNU extensions (up to GCC 8.3), Microsoft extensions (up to VS 2019), Arm Compiler 5.0 [1]_. ``.cpp``, ``.c++``, ``.cxx``, ``.hpp``, ``.hh``, ``.h++``, ``.hxx``, ``.c``, ``.cc``, ``.h``
3 C# C# up to 7.3. with .NET up to 4.8 [2]_. Microsoft Visual Studio up to 2019, .NET Core up to 2.2 ``.sln``, ``.csproj``, ``.cs``, ``.cshtml``, ``.xaml``
4 COBOL ANSI 85 or newer [3]_. Not applicable ``.cbl``, ``.CBL``, ``.cpy``, ``.CPY``, ``.copy``, ``.COPY``
5 Java Java 6 to 12 [4]_. javac (OpenJDK and Oracle JDK), Eclipse compiler for Java (ECJ) [5]_. ``.java``
6 JavaScript ECMAScript 2019 or lower Not applicable ``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhm``, ``.xhtml``, ``.vue``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [6]_.
7 Python 2.7, 3.5, 3.6, 3.7 Not applicable ``.py``
8 TypeScript [7]_. 2.6-3.5 Standard TypeScript compiler ``.ts``, ``.tsx``