diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/404.html b/404.html new file mode 100644 index 000000000..4cdd45309 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ + Codyze

404 - Not found

\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..3355878e6 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +www.codyze.io diff --git a/Codyze/index.html b/Codyze/index.html new file mode 100644 index 000000000..8b48d434f --- /dev/null +++ b/Codyze/index.html @@ -0,0 +1,13 @@ + Documentation - Codyze
Skip to content

What is Codyze?

Info

Codyze is currently being redesigned. For the documentation for the legacy version of Codyze, please look here .

Security is hard and implementing it correctly is even harder. Luckily, there are well-established and battle-proven libraries available that do the heavy lifting of security functions such as authentication, logging or encryption. But even when using these libraries in application code, developers run the risk of making subtle errors which may undermine the security of their application. This is where Codyze helps. By integrating it into an IDE or CI pipeline, developers can analyze their source code while programming and check if they are using libraries in a correct or in an insecure way.

How does it work?

In contrast to many other static analysis tools, Codyze directly analyzes the source code and does not require a compiler tool-chain. It can thus even analyze incomplete source code and tolerate small syntax errors.

Codyze is based on a "Code Property Graph", which represents the source code as a graph and adds semantic information to support the analysis. This representation can be used in two ways:

  1. as a fully automated tool, integrated into your CI or IDE
  2. as a database that can be manually explored using a simple query language

Overview of Codyze Overview of Codyze

Why Codyze?

Codyze checks source code for the correct usage of libraries. It is an addition to generic static analysis tools such as Sonarqube, Frama-C, or the Checker Framework and specifically verifies that libraries are used as originally intended by their developers.

Library developers write rules for their library in specification languages supported by Codyze.

Developers verify their code against rules of modelled libraries using Codyze.

Integrators of open source components may want to verify these components using the automated analysis of Codyze or by manually searching the code for critical patterns.

\ No newline at end of file diff --git a/Codyze/why-v3/index.html b/Codyze/why-v3/index.html new file mode 100644 index 000000000..db51f5835 --- /dev/null +++ b/Codyze/why-v3/index.html @@ -0,0 +1,13 @@ + Why Codyze v3? - Codyze
Skip to content

Redesign of Codyze

The goal of the redesign is to make Codyze more maintainable and easier extendable. This introduced a lot of changes compared to the legacy version.

The core functionalities of Codyze were separated from the executable part which makes it possible to use Codyze as a library.

We introduced the concept of Executors which are responsible for evaluating rules of a specific specification language. Through Executors, Codyze can verify rules written in different specification languages and utilize their advantages as long as there is an Executor for them.

We are also working on a new specification language Coko which comes with Codyze.

Additionally, we reorganized the code in Codyze to be able to handle multiple projects with their own configurations with only one Codyze instance. This, for example, allows switching between projects in an IDE without losing the context of any analysis and should better support LSP mode.

\ No newline at end of file diff --git a/Coko/index.html b/Coko/index.html new file mode 100644 index 000000000..9f2a9a1b8 --- /dev/null +++ b/Coko/index.html @@ -0,0 +1,12 @@ + What is Coko? - Codyze
Skip to content

What is Coko?

Codyze provides a built-in domain specific language, Coko, which can be used to define policies for Codyze.

Structure of Policies

Coko policies can be split into two parts:

  • Modelling the API through classes and functions.
  • Writing rules that describe the expected usage of the modelled API.

When modeling a library, you will typically start by describing its classes or functions and then write rules.

Structure of Coko

Coko is defined as a custom Kotlin scripting language. It serves as an API to write source code queries in a declarative way. The rules written in Coko are executed to construct the queries for the used backend.

The concept of Coko is that the API is modelled through classes and functions. These classes and functions are used to declare rules, which Codyze then evaluates. Coko is, therefore, in its concept more similar to a domain specific language and only uses the Kotlin scripting technology to load the policies into Codyze. However, as a Kotlin script can contain any valid Kotlin code, it is also possible to execute arbitrary Kotlin code with Coko. It is currently not possible to prevent this, but all Coko scripts that are available on our website and GitHub repository are validated by us to prevent any misuse. For more information about custom Kotlin scripting languages, please refer to the Kotlin documentation and the respective Kotlin KEEP .

Syntax highlighting and code completion are available for Coko in any IDE that provides these for Kotlin.

The syntax of Coko is the same as the syntax of Kotlin. For writing Coko policies you will need to know how to create classes, interfaces and functions in Kotlin. Please refer to the Kotlin Documentation for an overview.

Type-safe builders

Coko also uses the concept of type-safe builders . Type-safe builders allow you to build objects in a semi-declarative way similar to markup languages. They can be seen as a special syntax for nesting the construction of objects. They will be explained in detail in the parts of Coko that use them.

\ No newline at end of file diff --git a/Coko/modelling/index.html b/Coko/modelling/index.html new file mode 100644 index 000000000..c4eaa2fef --- /dev/null +++ b/Coko/modelling/index.html @@ -0,0 +1,85 @@ + Modelling APIs with Coko - Codyze
Skip to content

Modelling APIs with Coko

To evaluate rules for an API, Coko needs an understanding of the components of the API, such as classes or functions. In Coko these components are modelled through interfaces, classes and a class called Op.

Ops

Ops are the basic building blocks for writing policies in Coko. With Ops you can model and group functions of the API that serve a similar functionality. They are also a way to define queries to the Codyze backend for finding calls to these functions. Each Op object is one query to the backend.

There are currently two types of Ops, FunctionOps for modelling functions and ConstructorOps for modelling constructors in object-oriented languages. They are both built with type-safe builders. The following sections will explain the builders for each Op type.

FunctionOps

The function op() is the start for building FunctionOps. Within the block of op() the fully qualified name of the functions you want to model can be specified as a string. In the block of the fully qualified name the arguments to function can be defined. They serve as a filter for the query. Only calls to the function with the same number of arguments with the same value at each position will be found by the query.

In signature it is also possible to specify unordered arguments. These are arguments, that should somehow be passed to the function calls we want to find, but it is not important, in which position they are passed.

Example of defining a FunctionOp
op {
+    "my.fully.qualified.name" { // (1)!
+        signature(5..10) // (2)!
+        signature(".*one.*") // (3)!
+        signature(0..5, listOf("one", "two")) // (4)!
+        signature() // (5)!
+    }
+
+    "my.other.fully.qualified.name" { // (6)!
+        signature { // (7)!
+            - ".*" // (8)!
+            -7 // (9)!
+        }
+        signature(arrayOf(4)) { // (10)!
+            - 123
+        }
+    }
+}
+
  1. The fully qualified name of the function we want to find.
  2. Filters for calls to my.fully.qualified.name that have as only argument a number between 5 and 10.
  3. Filters for calls to my.fully.qualified.name that have a string as only argument that contains "one", for example my.fully.qualified.name("tone").
  4. Filters for calls to my.fully.qualified.name that have a number between 0 and 5 as first argument and as second argument either the string "one" or "two".
  5. Filters for calls to my.fully.qualified.name where no arguments were passed.
  6. The fully qualified name of the other function we want to find.
  7. The signature function can also invoke a type-safe builder.
  8. In the type-safe builder of signature the arguments are listed using -.
  9. The space after the - is optional.
  10. The unordered arguments are given as an array to signature. In this example, the unordered argument is 4.

ConstructorOps

The function of the builder for ConstructorOps is constructor() . The fully qualified name of the class is the first argument. In the block of constructor() you can specify the arguments to the constructor like for the FunctionOp. They serve the same purpose as for FunctionOps.

Example of defining a ConstructorOp
constructor("my.fully.qualified.MyClass") { // (1)!
+    signature() // (2)!
+}
+
  1. This models the constructor of the class my.fully.qualified.MyClass.
  2. The signature is directly specified in ConstructorOps, because the name of the constructor is clear.

Special argument types

Arguments in Ops are used to filter calls of a function based on the arguments that are given to the calls. In Coko there are a few special argument types that help with the filtering.

The first type is the Wildcard object. If the Wildcard object is given as an argument to Op, the filter will allow any kind of value in the same argument position of the function calls.

The second type is null. It can be used to signify that the given arguments should be filtered out of the query. This type will be helpful when constructing Op templates with Coko functions.

Another special type are ParameterGroups. They are a filter to express that the argument at the position should be composed of multiple values. An example would be if the argument is a string that should contain multiple strings, for example foo("Start string" + 12 + "End string"). This can be modeled with ParameterGroups. Coko offers the DSL function group, in which these values can be specified.

The last types are the Type class and the ParamWithType class. The Type class is used to filter the type of the arguments. The fully qualified name of the type must be given ParamWithType combines the filter for the value with the filter for the type.

Example with special argument types
op {
+    "my.fully.qualified.name" {
+        signature(Wildcard) // (1)!
+        signature(Wildcard, 2) // (2)!
+        signature(null, 1) // (3)!
+        signature( 
+            group {
+                - "Start string .*"
+                - 12
+            } // (4)!
+        )
+        signature(Type("java.util.List")) // (5)!
+        signature(1.0 withType "java.lang.Float") // (6)!
+    }
+}
+
  1. Queries for all calls to my.fully.qualified.name that have one argument.
  2. Queries for all calls to my.fully.qualified.name with two arguments and where the second argument is 2.
  3. Filters out all calls to my.fully.qualified.name with two arguments and where the second argument is 1.
  4. Filters for all calls to my.fully.qualified.name with one argument. The argument must contain both "Start string" and the number 12. An example would be my.fully.qualified.name("Start string with the number " + 12).
  5. Queries for all calls to my.fully.qualified.name with one argument which must be of type java.util.List1.
  6. Queries for all calls to my.fully.qualified.name with one argument which has the value 1.0 and has the type java.lang.Float1.

Functions

Since each Op is interpreted by Codyze as one query for function calls to the backend, it would be helpful to have templates for Ops that find calls to the same function but with different filters. This can be achieved with functions in Coko. The parameters of these functions in Coko can be used to pass the specific values to the filter.

An example for an Op template for the function java.util.List.add
fun add(
+    element: Any, // (1)!
+    index: Any? // (2)!
+) = op {
+    "java.util.List.add" {
+        signature(element)
+        signature(index withType "int", element) // (3)!
+    }
+}
+
  1. List.add in Java is a generic method, so the type of element is not static. However, it is recommended to use Any even if the type of the value is static since you might want to pass one of the special argument types like Wildcard.
  2. index is nullable, so it is also possible to filter for calls where no index is given. The type is Any? to be able to pass Wildcard as well.
  3. The arguments can be further specified like the additional filter for the type of index.

If the reference to a Coko function is used for order rules, all parameters must have a nullable type. Coko invokes them with dummy arguments and uses internal functions to query for all calls to the modelled function regardless of the specified signatures.

Interfaces

A goal of Coko is to make rules more reusable. Aside from specific rules of an API, there might be some general policies that should be followed for all API that provide similar functionality. An example would be that all actions executed on a database should be logged. Instead of writing the corresponding rule for all combinations of database and logging APIs, one might want to combine this into one reusable rule.

This reusability is achieved through interfaces. In Coko interfaces and their functions describe the functionalities that a group of APIs has in common. Rules can thus be written on a more conceptual level.

When Coko encounters rules using a Coko interface as a parameter, it will use one of the available classes implementing the interface as argument to evaluate the rule. Currently, it uses the first class it finds, however, we will implement an algorithm in the future which will try to find the implementation that fits the best for the analyzed code.

Example of a interface and its implementations in Coko
interface Logging {
+    fun log(message: Any?, vararg args: Any?): Op
+}
+
+class JavaLogging: Logging {
+    override fun log(message: Any?, vararg args: Any?): Op =
+        op {
+            "java.util.logging.Logger.info" {
+                signature {
+                    group {
+                        - message
+                        args.forEach { - it }
+                    }
+                }
+            } 
+        }
+}
+
+class PythonLogging: Logging {
+    override fun log(message: Any?, vararg args: Any?): Op =
+        op {
+            "logging.info" { 
+                signature(args) { // (1)! 
+                    - message 
+                } 
+            }
+        }
+}
+
  1. We don't care about the order of the arguments for args, just that they appear somewhere as arguments for the call.

Classes

Classes in Coko model the actual components of an API. They can implement interfaces or just be normal classes. With classes, API functions can be grouped

For APIs written in object-oriented languages it might be sensible to create a Coko class for each class in the API.


  1. In a real example this would be redundant because this case is already covered by the first filter with Wildcard

\ No newline at end of file diff --git a/Coko/rules/index.html b/Coko/rules/index.html new file mode 100644 index 000000000..cb1e3544d --- /dev/null +++ b/Coko/rules/index.html @@ -0,0 +1,52 @@ + Coko Rules - Codyze
Skip to content

Coko Rules

Rules in Coko describe how an API should be used. They are functions that are annotated with the @Rule annotation.

In the @Rule annotation you can specify metadata about the rule such as the description of the rule. The metadata will be used for describing the findings in the SARIF output.

If the rule requires some instance of a model, they can be specified as parameters to the rule function.

Each Coko rule must return an implementation of the Evaluator interface, which Codyze can use to evaluate the rule. Coko provides some common evaluators which will be explained in the following sections. The example model will be used for explaining the evaluators.

Example model
class Foo {
+    fun constructor() = constructor("Foo") {
+        signature()
+    }
+
+    fun first(i: Any?) = op {
+        definition("Foo.first") {
+            signature(i)
+        }
+    }
+
+    fun second(s: Any?) = op {
+        definition("Foo.second") {
+            signature(s)
+        }
+    }
+}
+
+class Bar {
+    fun second() = op {
+        definition("Bar.second") {
+            signature()
+        }
+    }
+}
+

Only Evaluator

The only evaluator checks if all calls to an Op are only called with the specified arguments. Therefore, it takes one Op as argument.

Rule example using only
@Rule
+fun `only calls to first with 1 allowed`(foo: Foo) = 
+    only(foo.first(1))
+

Order Evaluator

The order evaluator checks if functions related to an object are called in the correct order. It takes two arguments, the baseNodes and the order. The baseNodes are the function calls that are the start of the order. Usually, this is either the constructor of a class or some kind of initialization function.

To construct the order, Coko provides a type-safe builder. Within the builder, the order is specified as a regular expression.

The "alphabet" of the order regex is:

If all calls to a modelled function should be considered for the order regardless of the specified signatures, please use the first option. When passing Ops, only functions that match the used signature and argument are considered valid.

The builder provides a set of functions that allow you to add quantifiers to the regex or group them.

Function Regex Description
or | Represents a choice, either the first or the second expression has to be matched
set [] Represents multiple choices, one expression in it has to be matched
maybe * Matches an expression zero or more times
some + Matches an expression one or more times
option ? Matches an expression zero or one time
count(n) {n} Matches an expression exactly n times
atLeast(min) {min,} Matches an expression at least min times
between(min, max) {min, max} Matches an expression at least min and at most max times
Rule example using order
@Rule
+fun `order of Foo`(foo: Foo) = 
+    order(foo.constructor()/* (2)! */) { // (1)!
+        - foo.first(...) // (3)!
+        maybe(foo::second) // (4)!
+    }
+
  1. This starts the type-safe builder for the order.
  2. The Op returned from foo.constructor will be used as query for the function calls that are the starting point for evaluating the order.
  3. This will use the filtered Op returned by foo.first(...) for the order.
  4. This will consider all calls to the function modelled by foo.second() for the order. No filter will be applied.

FollowedBy Evaluator

The followedBy evaluator works similarly like the implication in logic. It takes two Ops and specifies that if the first Op is called then the second Op must be called as well. Compared to the order evaluator, followedBy is more flexible because Ops from different models can be connected.

Rule example using followedBy
@Rule
+fun `if first then second`(foo: Foo, bar: Bar) = 
+    foo.first(Wildcard) followedBy bar.second()
+

Never Evaluator

The never evaluator is used to specify that calls to an Op with the specified arguments are forbidden. It takes one Op as argument.

Rule example using never
@Rule
+fun `never call second with 1`(foo: Foo) =
+    never(foo.second(1))
+
\ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..63a6be88e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM ghcr.io/afritzler/mkdocs-material + +# Ensure installation of required packages +# - uses updated cache on-the-fly without storing it locally +RUN apk --no-cache add \ + git + +# Install additional plugins (cf. `./mkdocs-material-plugins.txt`) +COPY mkdocs-material-plugins.txt / +RUN python -m pip install --no-cache-dir -r /mkdocs-material-plugins.txt + +# Trust git directory for git revision plugin +RUN git config --global --add safe.directory /docs diff --git a/Getting Started/cli/index.html b/Getting Started/cli/index.html new file mode 100644 index 000000000..41ba1618a --- /dev/null +++ b/Getting Started/cli/index.html @@ -0,0 +1,41 @@ + Using CLI mode - Codyze
Skip to content

Analyzing with Codyze

Command line mode

When running in command line interface (CLI) mode, Codyze can be used to automatically check a code base against a set of rules given in a supported specification language like Coko. Below are short exemplary calls to start codyze in command line interface mode. ./ refers to the top-level directory of the repository. However, for the Gradle arguments ./ refers to the directory of the project, which is codyze-cli.

./gradlew :codyze-cli:run --args="<executor> --spec <specpath> <backend> -s <sourcepath>"
+
Because Codyze is built to be modular and support many specification languages as well as code analysis backends, there are subcommands to select the executor/backend. To find what arguments each executor/backend accept, use the --help argument:

To show the available executors use:

./gradlew :codyze-cli:run --args="--help"
+

To show the arguments accepted by an executor and the available backends use:

./gradlew :codyze-cli:run --args="<executor> --help"
+

To show the arguments accepted by a backend use:

./gradlew :codyze-cli:run --args="<executor> <backend> --help"
+

Analysis Example

The repository contains examples which you can use to test Codyze. Below are the commands to call Codyze on these examples.

./gradlew :codyze-cli:run --args="runCoko --spec ../codyze-specification-languages/coko/coko-dsl/src/test/resources/model.codyze.kts --spec ../codyze-specification-languages/coko/coko-dsl/src/test/resources/javaimpl.codyze.kts cokoCpg -s ../codyze-specification-languages/coko/coko-dsl/src/test/resources/java/Main.java" 
+

This configures Codyze to use the 'coko' executor and the 'cokoCpg' backend. You will see the result printed to the console and a findings.sarif files is generated in the codyze-cli folder. The spec files contain a single rule, which checks that every change to a database is logged. The sample Java file adheres to the rule, so there should be no issues in the result.

CI/CD Integration

The CLI mode is a perfect candidate for integration in CI/CD processes, such as GitHub Actions. The following file can be used as an example so set up a compliance check for Java-based applications using GitHub Actions:

name: build
+
+on:
+  - push
+
+env:
+  CODYZE_VERSION: "2.1.1"
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-java@v3
+        with:
+          distribution: "temurin"
+          java-version: "17"
+      - name: Install Codyze
+        run: |
+          wget "https://github.com/Fraunhofer-AISEC/codyze/releases/download/v${CODYZE_VERSION}/codyze-${CODYZE_VERSION}.zip" && unzip codyze-${CODYZE_VERSION}.zip
+      - name: Check compliance
+        run: |
+          codyze-${CODYZE_VERSION}/bin/codyze <arguments>
+
\ No newline at end of file diff --git a/Getting Started/configuration/index.html b/Getting Started/configuration/index.html new file mode 100644 index 000000000..56be50835 --- /dev/null +++ b/Getting Started/configuration/index.html @@ -0,0 +1,22 @@ + Configure Codyze - Codyze
Skip to content

Configuring Codyze

There are two ways of configuring Codyze, through command line options or a configuration file.

If both are present, the command line options take precedence over the configuration file. For list and map type options, the data from the configuration file can be overwritten if the normal option (e.g. --option-name) is used. To append the data from the command line to the one from the configuration file, use the additions option (e.g. --option-name-additions)

Configuration File

The configurations can also be defined with a JSON configuration file. Use the option --config=<filepath> to specify the path to the config file. The configuration from ./codyze.json will always be loaded if no other file is specified.

Relative paths in the configuration file are resolved relative to the configuration file location.

The configuration structure separates the options by subcommand as seen below.

{
+  "good-findings": false,
+  "runCoko": {
+    "spec": "./model.codyze.kts",
+    "cokoCpg": {
+      "source": "./Main.java"
+    }
+  }
+}
+
In this example the good-findings argument belongs to Codyze, the spec argument belongs to the runCoko subcommand and the source argument belongs to the cokoCpg subcommand. The value of the option is taken from the object which corresponds to the subcommand used for the execution. An exemplary configuration file can also be found in the GitHub repository .

List of Configurations

This is a list of all available configurations, their descriptions and their respective name. The names are the same for the configuration file and the CLI options.

./ denotes the working directory in which Codyze was started.

Codyze

Key Value Description Default Value
output Path The path to write the results file to. [./]
output-format String Format in which the analysis results are returned. sarif
good-findings Boolean Enable/Disable output of "positive" findings which indicate correct implementations. true
pedantic Boolean Activates pedantic analysis mode. In this mode, Codyze analyzes all given specification files and report all findings. false

Executors

Coko

Key Value Description Default Value
spec Path[] Paths to CoKo rule files. [./]
disabled-specs Path[] The specified files will be excluded from being parsed and processed. []
disabled-spec-rules String[] Rules that will be ignored by the analysis. []

Backends

Cpg

Key Value Description Default Value
source Path[] Path to the to be analyzed files or directories. [./]
disabled-source Path[] Path to files or directories which should not be analyzed. Symbolic links are not followed when filtering out these paths. []
additional-language String[] Specify programming languages of files to be analyzed (full names). []
unity boolean Only relevant for C++. A unity build refers to a build that consolidates all translation units into a single one, which has the advantage that header files are only processed once, adding far less duplicate nodes to the graph. false
type-system-in-frontend boolean If false, the type listener system is only activated once the frontends are done building the initial AST structure. This avoids errors where the type of a node may depend on the order in which the source files have been parsed. true
default-passes boolean Adds all default passes in cpg (1. FilenameMapper, 2. TypeHierarchyResolver, 3. ImportResolver, 4. VariableUsageResolver, 5. CallResolver, 6. EvaluationOrderGraphPass, 7. TypeResolver). true
passes String[] Register these passes to be executed in the specified order. Please specify the passes with their fully qualified name. []
debug-parser boolean Enables debug output generation for the cpg parser. false
disable-cleanup boolean Switch off cleaning up TypeManager memory after analysis, set to true only for testing. false
code-in-nodes boolean Should the code of a node be shown as parameter in the node. false
annotations boolean Enables processing annotations or annotation-like elements. false
fail-on-error boolean Should parser/translation fail on parse/resolving errors (true) or try to continue in a best-effort manner (false). false
symbols Map Definition of additional symbols. {}
parallel-frontends boolean If true, the ASTs for the source files are parsed in parallel, but the passes afterwards will still run in a single thread. This speeds up initial parsing but makes sure that further graph enrichment algorithms remain correct. false
match-comments-to-nodes boolean Controls whether the CPG frontend shall use a heuristic matching of comments found in the source file to match them to the closest AST node and save it in the comment property. false
analyze-includes boolean Enables parsing of include files. If includePaths are given, the parser will resolve symbols/templates from these in include but not load their parse tree. false
includes Path[] Paths containing include files. []
enabled-includes Path[] If includes is not empty, only the specified files will be parsed and processed in the cpg, unless it is a part of the disabled list, in which it will be ignored. []
disabled-includes Path[] If includes is not empty, the specified includes files will be excluded from being parsed and processed in the cpg. The disabled list entries always take priority over the enabled list entries. []
\ No newline at end of file diff --git a/Getting Started/installation/index.html b/Getting Started/installation/index.html new file mode 100644 index 000000000..6801fd422 --- /dev/null +++ b/Getting Started/installation/index.html @@ -0,0 +1,13 @@ + Install Codyze - Codyze
Skip to content

Installing Codyze

Prerequisites

  • Java 17 or higher

Build from Source

Clone the source code for Codyze from the project's GitHub repository .

Codyze v3

Executable Version
  • To build an executable version, run ./gradlew :codyze-cli:installDist
  • The executable Codyze installation is located under codyze-cli/build/install/codyze-cli
Gradle Run Task

You can also use the Gradle run task ./gradlew :codyze-cli:run to directly run Codyze. This will print the help message and return an error.

Arguments can be passed with the --args option.

Pre-built Release

Note

All following example calls in this documentation will assume that the source code was cloned and use the exact file structure. If you want to test Codyze with these calls, please clone the repository.

  • Download a zipped release of Codyze from our GitHub release page
  • Unzip the file
  • Execute Codyze using bin\codyze.bat (Windows) or bin/codyze (Mac, Linux)

Docker

We're also offering Codyze as a container image. You can find an image with the latest release in the project's container registry .

\ No newline at end of file diff --git a/Getting Started/lsp/index.html b/Getting Started/lsp/index.html new file mode 100644 index 000000000..0f138c0d8 --- /dev/null +++ b/Getting Started/lsp/index.html @@ -0,0 +1,13 @@ + Using plugins - Codyze
Skip to content

Using plugins

Codyze can be integrated into multiple IDEs to automatically scan your code for errors.

Integration in Eclipse

The Codyze plugin can be installed from an Eclipse update site. It has been tested against Eclipse 2019-12 and later.

  1. In Eclipse, click on Help->Install New Software...
  2. Click Add... to add a new update site
  3. Choose a name and enter the location https://codyze.s3.eu-central-1.amazonaws.com/codyze-eclipse-plugin/ (note that this is an Eclipse update site URL and not suited to open with a web browser)

    Adding Eclipse Update Site

  4. Choose and install Codyze Code Analyzer

    Adding Eclipse Update Site

Once installed, configure the Eclipse plugin to use the local LSP server:

  1. Go to Windows->Preferences->Codyze Code Analysis and configure the path to the analysis server binary

    Configuring Eclipse Plugin

  2. If the configuration is correct, .java and .cpp files will be automatically scanned when they are saved. Any errors found by Codyze will be highlighted as problems. If Codyze verifies that an API is correctly used, it will mark the line with a hint.

    Configuring Eclipse Plugin

Integration in IntelliJ

  1. Download and install the LSP Support plugin. Restart IntelliJ.
  2. Go to Settings -> Language Server Protocol -> Server Definitions
  3. Add a new server definition of type Executable for extension java and navigate to your local codyze-<version>/bin/codyze script.

    IntelliJ LSP Settings

If everything works as intended, you should see a green circle in your IntelliJ status bar, indicating that the connection to the language server was successful.

Integration in Visual Studio 2019

The Codyze plugin can be installed from the Visual Studio 2019 Marketplace

IntelliJ LSP Settings

If you prefer installing the plugin from the release page, proceed as follows:

  1. Download the zipped extension from the release page
  2. Unzip the file
  3. Double-click the VSIX-file to install the extension
  4. Launch Visual Studio

On startup, the plugin will ask you for the path to Codyze and to the mark files you want to use. If everythings checks out, the plugin will automatically start an instance of Codyze when a solution is opened. It will then scan .cpp files when opened or saved and highlight potential problems.

To adjust the path to Codyze, the mark files or change the command line arguments used for Codyze, in Visual Studio go to Tools -> Options... -> Codyze Plugin -> Codyze Settings.

Integration in Visual Studio Code

We build a Visual Studio Code plugin of Codyze for every new version. You can download a bundled *.vsix plugin from the release page of Codyze .

Integration through LSP mode

Codyze offers an LSP mode. You can user the LSP mode to integrate Codyze into any IDE or text editor with support for LSP. You need to look up the recommended approach for your favorite IDE or text editor.

Once you know, how to configure an LSP tool, you need to start Codyze in LSP mode, i.e. codyze-v2 -l in Codyze v2 or codyze lsp in Codyze v3. Please refer to the configuration page.

\ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..261eeb9e9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/-base-cpg-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/-base-cpg-backend.html new file mode 100644 index 000000000..7c25a2778 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/-base-cpg-backend.html @@ -0,0 +1,76 @@ + + + + + BaseCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BaseCpgBackend

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend-options.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend-options.html new file mode 100644 index 000000000..4eb963241 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend-options.html @@ -0,0 +1,76 @@ + + + + + backendOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backendOptions

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend.html new file mode 100644 index 000000000..ed5d18b1c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/backend.html @@ -0,0 +1,76 @@ + + + + + backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backend

+
+
open override val backend: KClass<CPGBackend>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/get-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/get-backend.html new file mode 100644 index 000000000..2b4dd8eb1 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/get-backend.html @@ -0,0 +1,76 @@ + + + + + getBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getBackend

+
+
open override fun getBackend(): CPGBackend(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/index.html new file mode 100644 index 000000000..320dcb53c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-base-cpg-backend/index.html @@ -0,0 +1,603 @@ + + + + + BaseCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BaseCpgBackend

+

The CliktCommand to add the plain cpg backend to the codyze-cli.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val backend: KClass<CPGBackend>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun getBackend(): CPGBackend
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/-coko-cpg-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/-coko-cpg-backend.html new file mode 100644 index 000000000..b30a286fa --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/-coko-cpg-backend.html @@ -0,0 +1,76 @@ + + + + + CokoCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoCpgBackend

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend-options.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend-options.html new file mode 100644 index 000000000..687a68943 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend-options.html @@ -0,0 +1,76 @@ + + + + + backendOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backendOptions

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend.html new file mode 100644 index 000000000..eb23a70fc --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/backend.html @@ -0,0 +1,76 @@ + + + + + backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backend

+
+
open override val backend: KClass<CokoBackend>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/get-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/get-backend.html new file mode 100644 index 000000000..c0cbd4115 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/get-backend.html @@ -0,0 +1,76 @@ + + + + + getBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getBackend

+
+
open override fun getBackend(): CokoCpgBackend(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/index.html new file mode 100644 index 000000000..1606fc607 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/-coko-cpg-backend/index.html @@ -0,0 +1,603 @@ + + + + + CokoCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoCpgBackend

+

The CliktCommand to add the cokoCpg backend to the codyze-cli.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val backend: KClass<CokoBackend>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun getBackend(): CokoCpgBackend
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/index.html new file mode 100644 index 000000000..059a1ebba --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.cli/index.html @@ -0,0 +1,114 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg.cli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The CliktCommand to add the plain cpg backend to the codyze-cli.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

The CliktCommand to add the cokoCpg backend to the codyze-cli.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call-fqn.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call-fqn.html new file mode 100644 index 000000000..dd2047e31 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call-fqn.html @@ -0,0 +1,76 @@ + + + + + cpgCallFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgCallFqn

+
+
fun CokoBackend.cpgCallFqn(fqn: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>(source)

Returns a list of CallExpressions with the matching fqn (fully-qualified name) and fulfilling predicate.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call.html new file mode 100644 index 000000000..eb5486f40 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-call.html @@ -0,0 +1,76 @@ + + + + + cpgCall + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgCall

+
+
fun CokoBackend.cpgCall(name: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>(source)

Returns a list of CallExpressions with the matching name and fulfilling predicate.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-constructor.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-constructor.html new file mode 100644 index 000000000..6e65b6617 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-constructor.html @@ -0,0 +1,76 @@ + + + + + cpgConstructor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgConstructor

+
+
fun CokoBackend.cpgConstructor(classFqn: String, predicate: CallExpression.() -> Boolean = { true }): List<ConstructExpression>(source)

Returns a list of ConstructExpressions with the matching classFqn and fulfilling predicate.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-flows-to.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-flows-to.html new file mode 100644 index 000000000..236e0f672 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-flows-to.html @@ -0,0 +1,76 @@ + + + + + cpgFlowsTo + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgFlowsTo

+
+
infix fun Any.cpgFlowsTo(that: Node): Boolean(source)

Checks if there's a data flow path from "this" to that.

  • If this is a String, we evaluate it as a regex.

  • If this is a Collection, we check if at least one of the elements flows to that

  • If this is a Node, we use the DFG of the CPG.


infix fun Any.cpgFlowsTo(that: Collection<Node>): Boolean(source)

Checks if there's a data flow path from "this" to any of the elements in that.

  • If this is a String, we evaluate it as a regex.

  • If this is a Collection, we check if at least one of the elements flows to that

  • If this is a Node, we use the DFG of the CPG.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-all-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-all-nodes.html new file mode 100644 index 000000000..bf6eadd20 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-all-nodes.html @@ -0,0 +1,76 @@ + + + + + cpgGetAllNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgGetAllNodes

+
+

Get all Nodes that are associated with this Op.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-nodes.html new file mode 100644 index 000000000..5d6b98100 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-get-nodes.html @@ -0,0 +1,76 @@ + + + + + cpgGetNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgGetNodes

+
+

Get all Nodes that are associated with this Op and fulfill the Signatures of the Definitions.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-member-expr.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-member-expr.html new file mode 100644 index 000000000..abdc4583b --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-member-expr.html @@ -0,0 +1,76 @@ + + + + + cpgMemberExpr + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgMemberExpr

+
+
fun CokoBackend.cpgMemberExpr(predicate: MemberExpression.() -> Boolean): List<MemberExpression>(source)

Returns a list of MemberExpressions with the matching something.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-signature.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-signature.html new file mode 100644 index 000000000..5b432fc19 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-signature.html @@ -0,0 +1,76 @@ + + + + + cpgSignature + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgSignature

+
+
fun CallExpression.cpgSignature(vararg parameters: Any?, hasVarargs: Boolean = false): Boolean(source)

Checks if the CallExpression matches the signature specified with parameters. Returns false if there are nulls in parameters,

Parameters

parameters

specifies the order of the parameters of the function.

If a parameter is a Type object, the function will check if the argument has the same type.

If a parameter is a ParamWithType object, the function will check if the argument has the same type and if the Any object flows to the argument

hasVarargs

specifies if the function has a variable number of arguments at the end which are not important to the analysis

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable-fqn.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable-fqn.html new file mode 100644 index 000000000..e1a05e259 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable-fqn.html @@ -0,0 +1,76 @@ + + + + + cpgVariableFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgVariableFqn

+
+
fun CokoBackend.cpgVariableFqn(fqn: String): List<ValueDeclaration>(source)

Returns a list of ValueDeclarations with the matching fqn.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable.html new file mode 100644 index 000000000..7691ce431 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg-variable.html @@ -0,0 +1,76 @@ + + + + + cpgVariable + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpgVariable

+
+
fun CokoBackend.cpgVariable(name: String): List<ValueDeclaration>(source)

Returns a list of ValueDeclarations with the matching name.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg.html new file mode 100644 index 000000000..8e4925fef --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/cpg.html @@ -0,0 +1,76 @@ + + + + + cpg + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpg

+
+
val CokoBackend.cpg: TranslationResult(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/index.html new file mode 100644 index 000000000..6d1088698 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl/index.html @@ -0,0 +1,253 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CokoBackend.cpg: TranslationResult
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgCall(name: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>

Returns a list of CallExpressions with the matching name and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgCallFqn(fqn: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>

Returns a list of CallExpressions with the matching fqn (fully-qualified name) and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgConstructor(classFqn: String, predicate: CallExpression.() -> Boolean = { true }): List<ConstructExpression>

Returns a list of ConstructExpressions with the matching classFqn and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
infix fun Any.cpgFlowsTo(that: Node): Boolean

Checks if there's a data flow path from "this" to that.

infix fun Any.cpgFlowsTo(that: Collection<Node>): Boolean

Checks if there's a data flow path from "this" to any of the elements in that.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get all Nodes that are associated with this Op.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Get all Nodes that are associated with this Op and fulfill the Signatures of the Definitions.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgMemberExpr(predicate: MemberExpression.() -> Boolean): List<MemberExpression>

Returns a list of MemberExpressions with the matching something.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CallExpression.cpgSignature(vararg parameters: Any?, hasVarargs: Boolean = false): Boolean

Checks if the CallExpression matches the signature specified with parameters. Returns false if there are nulls in parameters,

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgVariable(name: String): List<ValueDeclaration>

Returns a list of ValueDeclarations with the matching name.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgVariableFqn(fqn: String): List<ValueDeclaration>

Returns a list of ValueDeclarations with the matching fqn.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/-follows-evaluator.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/-follows-evaluator.html new file mode 100644 index 000000000..1279629ee --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/-follows-evaluator.html @@ -0,0 +1,76 @@ + + + + + FollowsEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FollowsEvaluator

+
+
constructor(ifOp: Op, thenOp: Op)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/evaluate.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/evaluate.html new file mode 100644 index 000000000..c3b3c38f4 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
open override fun evaluate(context: EvaluationContext): List<CpgFinding>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/if-op.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/if-op.html new file mode 100644 index 000000000..b74acbb50 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/if-op.html @@ -0,0 +1,76 @@ + + + + + ifOp + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ifOp

+
+
val ifOp: Op(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/index.html new file mode 100644 index 000000000..3856ba0aa --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/index.html @@ -0,0 +1,153 @@ + + + + + FollowsEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FollowsEvaluator

+
class FollowsEvaluator(val ifOp: Op, val thenOp: Op) : Evaluator(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(ifOp: Op, thenOp: Op)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ifOp: Op
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val thenOp: Op
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun evaluate(context: EvaluationContext): List<CpgFinding>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/then-op.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/then-op.html new file mode 100644 index 000000000..2c609bd66 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-follows-evaluator/then-op.html @@ -0,0 +1,76 @@ + + + + + thenOp + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

thenOp

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/-never-evaluator.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/-never-evaluator.html new file mode 100644 index 000000000..797cebd09 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/-never-evaluator.html @@ -0,0 +1,76 @@ + + + + + NeverEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NeverEvaluator

+
+
constructor(forbiddenOps: List<Op>)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/evaluate.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/evaluate.html new file mode 100644 index 000000000..05bd06aa4 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
open override fun evaluate(context: EvaluationContext): Collection<Finding>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/forbidden-ops.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/forbidden-ops.html new file mode 100644 index 000000000..c87e5f9e1 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/forbidden-ops.html @@ -0,0 +1,76 @@ + + + + + forbiddenOps + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

forbiddenOps

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/index.html new file mode 100644 index 000000000..7a5b1aca1 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-never-evaluator/index.html @@ -0,0 +1,138 @@ + + + + + NeverEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NeverEvaluator

+
class NeverEvaluator(val forbiddenOps: List<Op>) : Evaluator(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(forbiddenOps: List<Op>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun evaluate(context: EvaluationContext): Collection<Finding>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/-only-evaluator.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/-only-evaluator.html new file mode 100644 index 000000000..ab45dc403 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/-only-evaluator.html @@ -0,0 +1,76 @@ + + + + + OnlyEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OnlyEvaluator

+
+
constructor(ops: List<Op>)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/evaluate.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/evaluate.html new file mode 100644 index 000000000..671f4ea7d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
open override fun evaluate(context: EvaluationContext): List<CpgFinding>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/index.html new file mode 100644 index 000000000..c24ea7d61 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/index.html @@ -0,0 +1,138 @@ + + + + + OnlyEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OnlyEvaluator

+
class OnlyEvaluator(val ops: List<Op>) : Evaluator(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(ops: List<Op>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val ops: List<Op>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun evaluate(context: EvaluationContext): List<CpgFinding>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/ops.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/ops.html new file mode 100644 index 000000000..306747723 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-only-evaluator/ops.html @@ -0,0 +1,76 @@ + + + + + ops + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ops

+
+
val ops: List<Op>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/-order-evaluator.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/-order-evaluator.html new file mode 100644 index 000000000..b6718a54f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/-order-evaluator.html @@ -0,0 +1,76 @@ + + + + + OrderEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderEvaluator

+
+
constructor(baseNodes: Collection<Node>, order: Order)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/base-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/base-nodes.html new file mode 100644 index 000000000..49ab69662 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/base-nodes.html @@ -0,0 +1,76 @@ + + + + + baseNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

baseNodes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/evaluate.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/evaluate.html new file mode 100644 index 000000000..28de15493 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
open override fun evaluate(context: EvaluationContext): Set<CpgFinding>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/index.html new file mode 100644 index 000000000..5814a636d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/index.html @@ -0,0 +1,153 @@ + + + + + OrderEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderEvaluator

+
class OrderEvaluator(val baseNodes: Collection<Node>, val order: Order) : Evaluator(source)

CPG Evaluator to evaluate Coko order expressions.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(baseNodes: Collection<Node>, order: Order)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun evaluate(context: EvaluationContext): Set<CpgFinding>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/order.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/order.html new file mode 100644 index 000000000..e5845ad8f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/-order-evaluator/order.html @@ -0,0 +1,76 @@ + + + + + order + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

order

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/index.html new file mode 100644 index 000000000..dc6a302e5 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators/index.html @@ -0,0 +1,144 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class FollowsEvaluator(val ifOp: Op, val thenOp: Op) : Evaluator
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class NeverEvaluator(val forbiddenOps: List<Op>) : Evaluator
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class OnlyEvaluator(val ops: List<Op>) : Evaluator
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class OrderEvaluator(val baseNodes: Collection<Node>, val order: Order) : Evaluator

CPG Evaluator to evaluate Coko order expressions.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/-codyze-dfa-order-evaluator.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/-codyze-dfa-order-evaluator.html new file mode 100644 index 000000000..356e62d27 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/-codyze-dfa-order-evaluator.html @@ -0,0 +1,76 @@ + + + + + CodyzeDfaOrderEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeDfaOrderEvaluator

+
+
constructor(context: EvaluationContext, hashToMethod: Map<String, String>, dfa: DFA, consideredBases: Set<Node>, nodeToRelevantMethod: Map<Node, Set<String>>, thisPositionOfNode: Map<Node, Int> = mapOf(), consideredResetNodes: Set<Node>, eliminateUnreachableCode: Boolean = true)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-accepting-termination.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-accepting-termination.html new file mode 100644 index 000000000..d73a1e46f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-accepting-termination.html @@ -0,0 +1,76 @@ + + + + + actionAcceptingTermination + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

actionAcceptingTermination

+
+
open override fun actionAcceptingTermination(base: String, fsm: DFA, interproceduralFlow: Boolean)(source)

Contains the functionality which is executed if the DFA terminated in an accepting state for the given base. This means that all required statements have been executed for base so far. The fsm holds the execution trace found by the analysis.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-missing-transition-for-node.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-missing-transition-for-node.html new file mode 100644 index 000000000..6a87f7f7e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-missing-transition-for-node.html @@ -0,0 +1,76 @@ + + + + + actionMissingTransitionForNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

actionMissingTransitionForNode

+
+
open override fun actionMissingTransitionForNode(node: Node, fsm: DFA, interproceduralFlow: Boolean)(source)

Collects a finding if the node makes an operation which violates the desired order.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-non-accepting-termination.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-non-accepting-termination.html new file mode 100644 index 000000000..71516a626 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/action-non-accepting-termination.html @@ -0,0 +1,76 @@ + + + + + actionNonAcceptingTermination + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

actionNonAcceptingTermination

+
+
open override fun actionNonAcceptingTermination(base: String, fsm: DFA, interproceduralFlow: Boolean)(source)

Collects the finding in the AnalysisContext because the DFA finished analyzing the function but the base did not terminate in an accepting state (i.e., some operations are missing).

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/context.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/context.html new file mode 100644 index 000000000..f6adc421e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/context.html @@ -0,0 +1,76 @@ + + + + + context + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

context

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/findings.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/findings.html new file mode 100644 index 000000000..ec5a102fa --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/findings.html @@ -0,0 +1,76 @@ + + + + + findings + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

findings

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/hash-to-method.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/hash-to-method.html new file mode 100644 index 000000000..e14bf82e8 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/hash-to-method.html @@ -0,0 +1,76 @@ + + + + + hashToMethod + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashToMethod

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/index.html new file mode 100644 index 000000000..a27005c9e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/-codyze-dfa-order-evaluator/index.html @@ -0,0 +1,318 @@ + + + + + CodyzeDfaOrderEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeDfaOrderEvaluator

+
class CodyzeDfaOrderEvaluator(val context: EvaluationContext, val hashToMethod: Map<String, String>, dfa: DFA, consideredBases: Set<Node>, nodeToRelevantMethod: Map<Node, Set<String>>, thisPositionOfNode: Map<Node, Int> = mapOf(), consideredResetNodes: Set<Node>, eliminateUnreachableCode: Boolean = true) : DFAOrderEvaluator(source)

Codyze-specific implementation of the DFAOrderEvaluator. Its main purpose is to collect the findings in case of violations to the order.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(context: EvaluationContext, hashToMethod: Map<String, String>, dfa: DFA, consideredBases: Set<Node>, nodeToRelevantMethod: Map<Node, Set<String>>, thisPositionOfNode: Map<Node, Int> = mapOf(), consideredResetNodes: Set<Node>, eliminateUnreachableCode: Boolean = true)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val consideredBases: Set<Node>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val dfa: DFA
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun actionAcceptingTermination(base: String, fsm: DFA, interproceduralFlow: Boolean)

Contains the functionality which is executed if the DFA terminated in an accepting state for the given base. This means that all required statements have been executed for base so far. The fsm holds the execution trace found by the analysis.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun actionMissingTransitionForNode(node: Node, fsm: DFA, interproceduralFlow: Boolean)

Collects a finding if the node makes an operation which violates the desired order.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun actionNonAcceptingTermination(base: String, fsm: DFA, interproceduralFlow: Boolean)

Collects the finding in the AnalysisContext because the DFA finished analyzing the function but the base did not terminate in an accepting state (i.e., some operations are missing).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun evaluateOrder(startNode: Node, stopOnWrongBase: Boolean): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getBaseOfNode(node: CallExpression): Node?
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/index.html new file mode 100644 index 000000000..828bccca6 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/index.html @@ -0,0 +1,137 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class CodyzeDfaOrderEvaluator(val context: EvaluationContext, val hashToMethod: Map<String, String>, dfa: DFA, consideredBases: Set<Node>, nodeToRelevantMethod: Map<Node, Set<String>>, thisPositionOfNode: Map<Node, Int> = mapOf(), consideredResetNodes: Set<Node>, eliminateUnreachableCode: Boolean = true) : DFAOrderEvaluator

Codyze-specific implementation of the DFAOrderEvaluator. Its main purpose is to collect the findings in case of violations to the order.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val logger: KLogger
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderNode.toNfa(): NFA

Constructs a NFA using Thompson's construction algorithm (YouTube)

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/logger.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/logger.html new file mode 100644 index 000000000..ede0e8043 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/logger.html @@ -0,0 +1,76 @@ + + + + + logger + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

logger

+
+
val logger: KLogger(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/to-nfa.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/to-nfa.html new file mode 100644 index 000000000..ddde855f0 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering/to-nfa.html @@ -0,0 +1,76 @@ + + + + + toNfa + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNfa

+
+
fun OrderNode.toNfa(): NFA(source)

Constructs a NFA using Thompson's construction algorithm (YouTube)

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/-coko-cpg-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/-coko-cpg-backend.html new file mode 100644 index 000000000..350f53e70 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/-coko-cpg-backend.html @@ -0,0 +1,76 @@ + + + + + CokoCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoCpgBackend

+
+
constructor(config: BackendConfiguration)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/artifacts.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/artifacts.html new file mode 100644 index 000000000..c3652c119 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/artifacts.html @@ -0,0 +1,76 @@ + + + + + artifacts + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

artifacts

+
+
open override val artifacts: Map<Path, Artifact>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/followed-by.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/followed-by.html new file mode 100644 index 000000000..58bf58aed --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/followed-by.html @@ -0,0 +1,76 @@ + + + + + followedBy + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

followedBy

+
+
open infix override fun Op.followedBy(that: Op): FollowsEvaluator(source)

For each of the nodes in this, there is a path to at least one of the nodes in that.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/index.html new file mode 100644 index 000000000..5978200fe --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/index.html @@ -0,0 +1,333 @@ + + + + + CokoCpgBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoCpgBackend

+

The CPG backend for Coko.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(config: BackendConfiguration)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val artifacts: Map<Path, Artifact>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val backendData: TranslationResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val cpg: TranslationResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val CokoBackend.cpg: TranslationResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val toolInfo: ToolComponent
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgCall(name: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>

Returns a list of CallExpressions with the matching name and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgCallFqn(fqn: String, predicate: CallExpression.() -> Boolean = { true }): List<CallExpression>

Returns a list of CallExpressions with the matching fqn (fully-qualified name) and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgConstructor(classFqn: String, predicate: CallExpression.() -> Boolean = { true }): List<ConstructExpression>

Returns a list of ConstructExpressions with the matching classFqn and fulfilling predicate.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgMemberExpr(predicate: MemberExpression.() -> Boolean): List<MemberExpression>

Returns a list of MemberExpressions with the matching something.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgVariable(name: String): List<ValueDeclaration>

Returns a list of ValueDeclarations with the matching name.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CokoBackend.cpgVariableFqn(fqn: String): List<ValueDeclaration>

Returns a list of ValueDeclarations with the matching fqn.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open infix override fun Op.followedBy(that: Op): FollowsEvaluator

For each of the nodes in this, there is a path to at least one of the nodes in that.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun never(vararg ops: Op): NeverEvaluator
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun only(vararg ops: Op): OnlyEvaluator

Ensures that all calls to the ops have arguments that fit the parameters specified in ops

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun order(baseNodes: Op, block: Order.() -> Unit): OrderEvaluator
open override fun order(baseNodes: OrderToken, block: Order.() -> Unit): OrderEvaluator
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/never.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/never.html new file mode 100644 index 000000000..f42f5ef64 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/never.html @@ -0,0 +1,76 @@ + + + + + never + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

never

+
+
open override fun never(vararg ops: Op): NeverEvaluator(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/only.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/only.html new file mode 100644 index 000000000..9f06309bf --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/only.html @@ -0,0 +1,76 @@ + + + + + only + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

only

+
+
open override fun only(vararg ops: Op): OnlyEvaluator(source)

Ensures that all calls to the ops have arguments that fit the parameters specified in ops

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/order.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/order.html new file mode 100644 index 000000000..ee6ec469f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/order.html @@ -0,0 +1,76 @@ + + + + + order + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

order

+
+
open override fun order(baseNodes: OrderToken, block: Order.() -> Unit): OrderEvaluator(source)
open override fun order(baseNodes: Op, block: Order.() -> Unit): OrderEvaluator(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/tool-info.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/tool-info.html new file mode 100644 index 000000000..be4446a2f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-coko-cpg-backend/tool-info.html @@ -0,0 +1,76 @@ + + + + + toolInfo + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toolInfo

+
+
open override val toolInfo: ToolComponent(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/-cpg-finding.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/-cpg-finding.html new file mode 100644 index 000000000..922e34280 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/-cpg-finding.html @@ -0,0 +1,76 @@ + + + + + CpgFinding + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CpgFinding

+
+
constructor(message: String, kind: Finding.Kind = Finding.Kind.Fail, node: Node? = null, relatedNodes: Nodes? = null)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/index.html new file mode 100644 index 000000000..2cffd3226 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/index.html @@ -0,0 +1,183 @@ + + + + + CpgFinding + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CpgFinding

+
data class CpgFinding(val message: String, val kind: Finding.Kind = Finding.Kind.Fail, val node: Node? = null, val relatedNodes: Nodes? = null) : Finding(source)

A CPG specific implementation of a Finding.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(message: String, kind: Finding.Kind = Finding.Kind.Fail, node: Node? = null, relatedNodes: Nodes? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val kind: Finding.Kind
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val message: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val node: Node? = null
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val relatedNodes: Nodes? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toSarif(rule: CokoRule, rules: List<CokoRule>, artifacts: Map<Path, Artifact>?): Result
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/kind.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/kind.html new file mode 100644 index 000000000..28dd5d740 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/kind.html @@ -0,0 +1,76 @@ + + + + + kind + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

kind

+
+
open override val kind: Finding.Kind(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/message.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/message.html new file mode 100644 index 000000000..72e179dbf --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/message.html @@ -0,0 +1,76 @@ + + + + + message + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

message

+
+
open override val message: String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/node.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/node.html new file mode 100644 index 000000000..447e6823d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/node.html @@ -0,0 +1,76 @@ + + + + + node + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

node

+
+
val node: Node? = null(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/related-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/related-nodes.html new file mode 100644 index 000000000..5fd2460e3 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/related-nodes.html @@ -0,0 +1,76 @@ + + + + + relatedNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

relatedNodes

+
+
val relatedNodes: Nodes? = null(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/to-sarif.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/to-sarif.html new file mode 100644 index 000000000..17c79bd47 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-cpg-finding/to-sarif.html @@ -0,0 +1,76 @@ + + + + + toSarif + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toSarif

+
+
open override fun toSarif(rule: CokoRule, rules: List<CokoRule>, artifacts: Map<Path, Artifact>?): Result(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-nodes/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-nodes/index.html new file mode 100644 index 000000000..620ee932c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/-nodes/index.html @@ -0,0 +1,80 @@ + + + + + Nodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Nodes

+
typealias Nodes = Collection<Node>(source)
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/get-sarif-location.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/get-sarif-location.html new file mode 100644 index 000000000..85312568a --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/get-sarif-location.html @@ -0,0 +1,76 @@ + + + + + getSarifLocation + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getSarifLocation

+
+
fun Node.getSarifLocation(artifacts: Map<Path, Artifact>?): Location(source)

Returns a Location object from a Node using the given artifacts as well as its sarifRegion.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/index.html new file mode 100644 index 000000000..7e5fa8047 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/index.html @@ -0,0 +1,167 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg.coko + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

The CPG backend for Coko.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class CpgFinding(val message: String, val kind: Finding.Kind = Finding.Kind.Fail, val node: Node? = null, val relatedNodes: Nodes? = null) : Finding

A CPG specific implementation of a Finding.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias Nodes = Collection<Node>
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val Node.sarifRegion: Region

Returns a Region object from a Node's startLine, endLine, startColumn, endColumn property. If these properties do not exist, returns an empty Region.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Node.getSarifLocation(artifacts: Map<Path, Artifact>?): Location

Returns a Location object from a Node using the given artifacts as well as its sarifRegion.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/sarif-region.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/sarif-region.html new file mode 100644 index 000000000..22d00dee5 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg.coko/sarif-region.html @@ -0,0 +1,76 @@ + + + + + sarifRegion + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

sarifRegion

+
+
val Node.sarifRegion: Region(source)

Returns a Region object from a Node's startLine, endLine, startColumn, endColumn property. If these properties do not exist, returns an empty Region.

Return

the Region

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/-c-p-g-backend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/-c-p-g-backend.html new file mode 100644 index 000000000..210518a5c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/-c-p-g-backend.html @@ -0,0 +1,76 @@ + + + + + CPGBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGBackend

+
+
constructor(config: BackendConfiguration)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/artifacts.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/artifacts.html new file mode 100644 index 000000000..ff7dfd339 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/artifacts.html @@ -0,0 +1,76 @@ + + + + + artifacts + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

artifacts

+
+
open override val artifacts: Map<Path, Artifact>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/backend-data.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/backend-data.html new file mode 100644 index 000000000..194b348f0 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/backend-data.html @@ -0,0 +1,76 @@ + + + + + backendData + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backendData

+
+
open override val backendData: TranslationResult(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/cpg.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/cpg.html new file mode 100644 index 000000000..61972d3e6 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/cpg.html @@ -0,0 +1,76 @@ + + + + + cpg + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpg

+
+
val cpg: TranslationResult(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/index.html new file mode 100644 index 000000000..0718e21d8 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/index.html @@ -0,0 +1,164 @@ + + + + + CPGBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGBackend

+

A plain CPG backend providing only the TranslationResult in the cpg property.

Inheritors

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(config: BackendConfiguration)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val artifacts: Map<Path, Artifact>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val backendData: TranslationResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val cpg: TranslationResult
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val toolInfo: ToolComponent
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/tool-info.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/tool-info.html new file mode 100644 index 000000000..bf59db682 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-backend/tool-info.html @@ -0,0 +1,76 @@ + + + + + toolInfo + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toolInfo

+
+
open override val toolInfo: ToolComponent(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/-c-p-g-configuration.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/-c-p-g-configuration.html new file mode 100644 index 000000000..460f83f79 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/-c-p-g-configuration.html @@ -0,0 +1,76 @@ + + + + + CPGConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGConfiguration

+
+
constructor(source: List<Path>, useUnityBuild: Boolean, typeSystemActiveInFrontend: Boolean, debugParser: Boolean, disableCleanup: Boolean, codeInNodes: Boolean, matchCommentsToNodes: Boolean, processAnnotations: Boolean, failOnError: Boolean, useParallelFrontends: Boolean, defaultPasses: Boolean, additionalLanguages: Set<String>, symbols: Map<String, String>, passes: List<KClass<out Pass<*>>>, loadIncludes: Boolean, includePaths: List<Path>, includeAllowlist: List<Path>, includeBlocklist: List<Path>)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/additional-languages.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/additional-languages.html new file mode 100644 index 000000000..beec1839c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/additional-languages.html @@ -0,0 +1,76 @@ + + + + + additionalLanguages + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

additionalLanguages

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/code-in-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/code-in-nodes.html new file mode 100644 index 000000000..8f49c6ac1 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/code-in-nodes.html @@ -0,0 +1,76 @@ + + + + + codeInNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

codeInNodes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/debug-parser.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/debug-parser.html new file mode 100644 index 000000000..d2ed9909b --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/debug-parser.html @@ -0,0 +1,76 @@ + + + + + debugParser + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

debugParser

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/default-passes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/default-passes.html new file mode 100644 index 000000000..b565ee06c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/default-passes.html @@ -0,0 +1,76 @@ + + + + + defaultPasses + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

defaultPasses

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/disable-cleanup.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/disable-cleanup.html new file mode 100644 index 000000000..360289d0e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/disable-cleanup.html @@ -0,0 +1,76 @@ + + + + + disableCleanup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disableCleanup

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/fail-on-error.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/fail-on-error.html new file mode 100644 index 000000000..a1a8b2d3d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/fail-on-error.html @@ -0,0 +1,76 @@ + + + + + failOnError + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

failOnError

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-allowlist.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-allowlist.html new file mode 100644 index 000000000..d527a8f48 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-allowlist.html @@ -0,0 +1,76 @@ + + + + + includeAllowlist + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includeAllowlist

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-blocklist.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-blocklist.html new file mode 100644 index 000000000..5b5b573c2 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-blocklist.html @@ -0,0 +1,76 @@ + + + + + includeBlocklist + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includeBlocklist

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-paths.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-paths.html new file mode 100644 index 000000000..df5e5d634 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/include-paths.html @@ -0,0 +1,76 @@ + + + + + includePaths + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includePaths

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/index.html new file mode 100644 index 000000000..28eeaa5e7 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/index.html @@ -0,0 +1,393 @@ + + + + + CPGConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGConfiguration

+
data class CPGConfiguration(val source: List<Path>, val useUnityBuild: Boolean, val typeSystemActiveInFrontend: Boolean, val debugParser: Boolean, val disableCleanup: Boolean, val codeInNodes: Boolean, val matchCommentsToNodes: Boolean, val processAnnotations: Boolean, val failOnError: Boolean, val useParallelFrontends: Boolean, val defaultPasses: Boolean, val additionalLanguages: Set<String>, val symbols: Map<String, String>, val passes: List<KClass<out Pass<*>>>, val loadIncludes: Boolean, val includePaths: List<Path>, val includeAllowlist: List<Path>, val includeBlocklist: List<Path>) : BackendConfiguration(source)

Holds the CPG configuration to run the CPG backend with

To add a new configuration option do the following:

  1. add a property to CPGConfiguration

  2. add a new CLI option to the CPGOptionGroup

  3. update the BackendCommand.getBackend methods for all implementations of that interface e.g., BaseCpgBackend

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(source: List<Path>, useUnityBuild: Boolean, typeSystemActiveInFrontend: Boolean, debugParser: Boolean, disableCleanup: Boolean, codeInNodes: Boolean, matchCommentsToNodes: Boolean, processAnnotations: Boolean, failOnError: Boolean, useParallelFrontends: Boolean, defaultPasses: Boolean, additionalLanguages: Set<String>, symbols: Map<String, String>, passes: List<KClass<out Pass<*>>>, loadIncludes: Boolean, includePaths: List<Path>, includeAllowlist: List<Path>, includeBlocklist: List<Path>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val passes: List<KClass<out Pass<*>>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/load-includes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/load-includes.html new file mode 100644 index 000000000..eeb3650c1 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/load-includes.html @@ -0,0 +1,76 @@ + + + + + loadIncludes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

loadIncludes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/match-comments-to-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/match-comments-to-nodes.html new file mode 100644 index 000000000..c65f12c0b --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/match-comments-to-nodes.html @@ -0,0 +1,76 @@ + + + + + matchCommentsToNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

matchCommentsToNodes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/normalize.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/normalize.html new file mode 100644 index 000000000..13c2a671b --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/normalize.html @@ -0,0 +1,76 @@ + + + + + normalize + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

normalize

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/passes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/passes.html new file mode 100644 index 000000000..54f311f53 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/passes.html @@ -0,0 +1,76 @@ + + + + + passes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

passes

+
+
val passes: List<KClass<out Pass<*>>>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/process-annotations.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/process-annotations.html new file mode 100644 index 000000000..85c43538e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/process-annotations.html @@ -0,0 +1,76 @@ + + + + + processAnnotations + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

processAnnotations

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/source.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/source.html new file mode 100644 index 000000000..f60e8fcbb --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/source.html @@ -0,0 +1,76 @@ + + + + + source + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

source

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/symbols.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/symbols.html new file mode 100644 index 000000000..3761c9690 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/symbols.html @@ -0,0 +1,76 @@ + + + + + symbols + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

symbols

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/type-system-active-in-frontend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/type-system-active-in-frontend.html new file mode 100644 index 000000000..b9a980cd4 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/type-system-active-in-frontend.html @@ -0,0 +1,76 @@ + + + + + typeSystemActiveInFrontend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

typeSystemActiveInFrontend

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-parallel-frontends.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-parallel-frontends.html new file mode 100644 index 000000000..06fa2398f --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-parallel-frontends.html @@ -0,0 +1,76 @@ + + + + + useParallelFrontends + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useParallelFrontends

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-unity-build.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-unity-build.html new file mode 100644 index 000000000..cc43b522d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-configuration/use-unity-build.html @@ -0,0 +1,76 @@ + + + + + useUnityBuild + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useUnityBuild

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/-c-p-g-option-group.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/-c-p-g-option-group.html new file mode 100644 index 000000000..ed1936c7d --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/-c-p-g-option-group.html @@ -0,0 +1,76 @@ + + + + + CPGOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGOptionGroup

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/additional-languages.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/additional-languages.html new file mode 100644 index 000000000..efa28b0e7 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/additional-languages.html @@ -0,0 +1,76 @@ + + + + + additionalLanguages + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

additionalLanguages

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/code-in-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/code-in-nodes.html new file mode 100644 index 000000000..17930d5cf --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/code-in-nodes.html @@ -0,0 +1,76 @@ + + + + + codeInNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

codeInNodes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/debug-parser.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/debug-parser.html new file mode 100644 index 000000000..d77416b22 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/debug-parser.html @@ -0,0 +1,76 @@ + + + + + debugParser + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

debugParser

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/default-passes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/default-passes.html new file mode 100644 index 000000000..2cd8cae3c --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/default-passes.html @@ -0,0 +1,76 @@ + + + + + defaultPasses + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

defaultPasses

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/disable-cleanup.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/disable-cleanup.html new file mode 100644 index 000000000..4cddf5e35 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/disable-cleanup.html @@ -0,0 +1,76 @@ + + + + + disableCleanup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disableCleanup

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/fail-on-error.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/fail-on-error.html new file mode 100644 index 000000000..9a3813871 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/fail-on-error.html @@ -0,0 +1,76 @@ + + + + + failOnError + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

failOnError

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-allowlist.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-allowlist.html new file mode 100644 index 000000000..e9697ecc8 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-allowlist.html @@ -0,0 +1,76 @@ + + + + + includeAllowlist + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includeAllowlist

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-blocklist.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-blocklist.html new file mode 100644 index 000000000..e75114945 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-blocklist.html @@ -0,0 +1,76 @@ + + + + + includeBlocklist + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includeBlocklist

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-paths.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-paths.html new file mode 100644 index 000000000..999839b37 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/include-paths.html @@ -0,0 +1,76 @@ + + + + + includePaths + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

includePaths

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/index.html new file mode 100644 index 000000000..552fe4fd3 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/index.html @@ -0,0 +1,468 @@ + + + + + CPGOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CPGOptionGroup

+

Holds the common CLI options for all CPG based Codyze backends. Used in e.g., BaseCpgBackend and CokoCpgBackend.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupHelp: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupName: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val passes: List<KClass<out Pass<*>>>

Lazy property that combines all symbols from the different options into a single map.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lazy property that combines all given sources from the different options into a list of files to analyze.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Lazy property that combines all symbols from the different options into a single map.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun finalize(context: Context, invocationsByOption: Map<Option, List<Invocation>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parameterHelp(context: Context): HelpFormatter.ParameterHelp.Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun postValidate(context: Context)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/load-includes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/load-includes.html new file mode 100644 index 000000000..aa9a689ae --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/load-includes.html @@ -0,0 +1,76 @@ + + + + + loadIncludes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

loadIncludes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/match-comments-to-nodes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/match-comments-to-nodes.html new file mode 100644 index 000000000..8dcb01378 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/match-comments-to-nodes.html @@ -0,0 +1,76 @@ + + + + + matchCommentsToNodes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

matchCommentsToNodes

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/passes.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/passes.html new file mode 100644 index 000000000..6272db6a9 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/passes.html @@ -0,0 +1,76 @@ + + + + + passes + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

passes

+
+
val passes: List<KClass<out Pass<*>>>(source)

Lazy property that combines all symbols from the different options into a single map.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/process-annotations.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/process-annotations.html new file mode 100644 index 000000000..784356c15 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/process-annotations.html @@ -0,0 +1,76 @@ + + + + + processAnnotations + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

processAnnotations

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/source.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/source.html new file mode 100644 index 000000000..d80e7f7af --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/source.html @@ -0,0 +1,76 @@ + + + + + source + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

source

+
+

Lazy property that combines all given sources from the different options into a list of files to analyze.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/symbols.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/symbols.html new file mode 100644 index 000000000..90a58d909 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/symbols.html @@ -0,0 +1,76 @@ + + + + + symbols + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

symbols

+
+

Lazy property that combines all symbols from the different options into a single map.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/type-system-active-in-frontend.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/type-system-active-in-frontend.html new file mode 100644 index 000000000..1dd3f8148 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/type-system-active-in-frontend.html @@ -0,0 +1,76 @@ + + + + + typeSystemActiveInFrontend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

typeSystemActiveInFrontend

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-parallel-frontends.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-parallel-frontends.html new file mode 100644 index 000000000..5b66f3762 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-parallel-frontends.html @@ -0,0 +1,76 @@ + + + + + useParallelFrontends + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useParallelFrontends

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-unity-build.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-unity-build.html new file mode 100644 index 000000000..abd4d565e --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/-c-p-g-option-group/use-unity-build.html @@ -0,0 +1,76 @@ + + + + + useUnityBuild + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

useUnityBuild

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/index.html b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/index.html new file mode 100644 index 000000000..82ded9445 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/de.fraunhofer.aisec.codyze.backends.cpg/index.html @@ -0,0 +1,129 @@ + + + + + de.fraunhofer.aisec.codyze.backends.cpg + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

A plain CPG backend providing only the TranslationResult in the cpg property.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class CPGConfiguration(val source: List<Path>, val useUnityBuild: Boolean, val typeSystemActiveInFrontend: Boolean, val debugParser: Boolean, val disableCleanup: Boolean, val codeInNodes: Boolean, val matchCommentsToNodes: Boolean, val processAnnotations: Boolean, val failOnError: Boolean, val useParallelFrontends: Boolean, val defaultPasses: Boolean, val additionalLanguages: Set<String>, val symbols: Map<String, String>, val passes: List<KClass<out Pass<*>>>, val loadIncludes: Boolean, val includePaths: List<Path>, val includeAllowlist: List<Path>, val includeBlocklist: List<Path>) : BackendConfiguration

Holds the CPG configuration to run the CPG backend with

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Holds the common CLI options for all CPG based Codyze backends. Used in e.g., BaseCpgBackend and CokoCpgBackend.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/index.html b/api/codyze/codyze-backends/cpg/index.html new file mode 100644 index 000000000..d112c7b12 --- /dev/null +++ b/api/codyze/codyze-backends/cpg/index.html @@ -0,0 +1,185 @@ + + + + + cpg + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cpg

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-backends/cpg/navigation.html b/api/codyze/codyze-backends/cpg/navigation.html new file mode 100644 index 000000000..0c2f6a8fa --- /dev/null +++ b/api/codyze/codyze-backends/cpg/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/-codyze-cli.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/-codyze-cli.html new file mode 100644 index 000000000..fbca5e4f5 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/-codyze-cli.html @@ -0,0 +1,76 @@ + + + + + CodyzeCli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeCli

+
+
constructor(configFile: Path?)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/codyze-options.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/codyze-options.html new file mode 100644 index 000000000..ebab56f73 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/codyze-options.html @@ -0,0 +1,76 @@ + + + + + codyzeOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

codyzeOptions

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/config-file.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/config-file.html new file mode 100644 index 000000000..d238e0dfa --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/config-file.html @@ -0,0 +1,76 @@ + + + + + configFile + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configFile

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/index.html new file mode 100644 index 000000000..3c8d0a2a3 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-cli/index.html @@ -0,0 +1,603 @@ + + + + + CodyzeCli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeCli

+
class CodyzeCli(val configFile: Path?) : NoOpCliktCommand(source)

Main CliktCommand. Provides the common Codyze options. Each executor must provide a CliktCommand that is registered as a subcommand on CodyzeCli.

The configFile is actually parsed in the ConfigFileParser command and then passed to this class as an argument

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(configFile: Path?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CliktCommand.configFileOption(): OptionWithValues<Path, Path, Path>

The Clikt option for the config file. Defined as extension function because it is used in multiple CliktCommands.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/-codyze-option-group.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/-codyze-option-group.html new file mode 100644 index 000000000..7d10fe566 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/-codyze-option-group.html @@ -0,0 +1,76 @@ + + + + + CodyzeOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeOptionGroup

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/as-configuration.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/as-configuration.html new file mode 100644 index 000000000..5c6ee9f36 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/as-configuration.html @@ -0,0 +1,76 @@ + + + + + asConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

asConfiguration

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/good-findings.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/good-findings.html new file mode 100644 index 000000000..45f73d216 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/good-findings.html @@ -0,0 +1,76 @@ + + + + + goodFindings + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

goodFindings

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/index.html new file mode 100644 index 000000000..2713a11b1 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/index.html @@ -0,0 +1,273 @@ + + + + + CodyzeOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CodyzeOptionGroup

+
class CodyzeOptionGroup : OptionGroup(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupHelp: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupName: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun finalize(context: Context, invocationsByOption: Map<Option, List<Invocation>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parameterHelp(context: Context): HelpFormatter.ParameterHelp.Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun postValidate(context: Context)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output-builder.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output-builder.html new file mode 100644 index 000000000..e34513084 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output-builder.html @@ -0,0 +1,76 @@ + + + + + outputBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

outputBuilder

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output.html new file mode 100644 index 000000000..bf0e6b370 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/output.html @@ -0,0 +1,76 @@ + + + + + output + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

output

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/pedantic.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/pedantic.html new file mode 100644 index 000000000..32037bbc0 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-codyze-option-group/pedantic.html @@ -0,0 +1,76 @@ + + + + + pedantic + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

pedantic

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/-config-file-parser.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/-config-file-parser.html new file mode 100644 index 000000000..95172ae5e --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/-config-file-parser.html @@ -0,0 +1,76 @@ + + + + + ConfigFileParser + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ConfigFileParser

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/arguments.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/arguments.html new file mode 100644 index 000000000..d496b2c4c --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/arguments.html @@ -0,0 +1,76 @@ + + + + + arguments + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

arguments

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/config-file.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/config-file.html new file mode 100644 index 000000000..ff754a914 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/config-file.html @@ -0,0 +1,76 @@ + + + + + configFile + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configFile

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/index.html new file mode 100644 index 000000000..fb2b4b341 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/index.html @@ -0,0 +1,603 @@ + + + + + ConfigFileParser + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ConfigFileParser

+
class ConfigFileParser : CliktCommand(source)

A CliktCommand to parse the --config option.

This class is only used as a pre-parser to parse the --config option and provide the received config[Path] as context to the [CodyzeCli] command.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CliktCommand.configFileOption(): OptionWithValues<Path, Path, Path>

The Clikt option for the config file. Defined as extension function because it is used in multiple CliktCommands.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/run.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/run.html new file mode 100644 index 000000000..accf1b36c --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-config-file-parser/run.html @@ -0,0 +1,76 @@ + + + + + run + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

run

+
+
open override fun run()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/from.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/from.html new file mode 100644 index 000000000..2740d7426 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/from.html @@ -0,0 +1,76 @@ + + + + + from + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

from

+
+
fun from(file: Path, requireValid: Boolean = false): JsonValueSource(source)
fun from(file: String, requireValid: Boolean = false): JsonValueSource(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/index.html new file mode 100644 index 000000000..eeafc4afe --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-companion/index.html @@ -0,0 +1,100 @@ + + + + + Companion + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun from(file: Path, requireValid: Boolean = false): JsonValueSource
fun from(file: String, requireValid: Boolean = false): JsonValueSource
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-json-value-source.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-json-value-source.html new file mode 100644 index 000000000..ae045fab3 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/-json-value-source.html @@ -0,0 +1,76 @@ + + + + + JsonValueSource + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JsonValueSource

+
+
constructor(filePath: Path, root: JsonObject)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/get-values.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/get-values.html new file mode 100644 index 000000000..ac697f9b1 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/get-values.html @@ -0,0 +1,76 @@ + + + + + getValues + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getValues

+
+
open override fun getValues(context: Context, option: Option): List<ValueSource.Invocation>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/index.html new file mode 100644 index 000000000..b721714e5 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/-json-value-source/index.html @@ -0,0 +1,138 @@ + + + + + JsonValueSource + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

JsonValueSource

+
class JsonValueSource(filePath: Path, root: JsonObject) : ValueSource(source)

A ValueSource that uses Kotlin serialization to parse JSON config files as context to Clikt commands.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(filePath: Path, root: JsonObject)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun getValues(context: Context, option: Option): List<ValueSource.Invocation>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/backend-commands.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/backend-commands.html new file mode 100644 index 000000000..04794a4aa --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/backend-commands.html @@ -0,0 +1,76 @@ + + + + + backendCommands + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backendCommands

+
+
val backendCommands: Module(source)

Every Backend must provide BackendCommand to be selectable in the CLI.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/config-file-option.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/config-file-option.html new file mode 100644 index 000000000..b39bdd1bf --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/config-file-option.html @@ -0,0 +1,76 @@ + + + + + configFileOption + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configFileOption

+
+
fun CliktCommand.configFileOption(): OptionWithValues<Path, Path, Path>(source)

The Clikt option for the config file. Defined as extension function because it is used in multiple CliktCommands.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/executor-commands.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/executor-commands.html new file mode 100644 index 000000000..6dfbdd0d6 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/executor-commands.html @@ -0,0 +1,76 @@ + + + + + executorCommands + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

executorCommands

+
+

Each Executor must provide a ExecutorCommand to be selectable in the CLI.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/index.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/index.html new file mode 100644 index 000000000..8c60fa134 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/index.html @@ -0,0 +1,227 @@ + + + + + de.fraunhofer.aisec.codyze.cli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class CodyzeCli(val configFile: Path?) : NoOpCliktCommand

Main CliktCommand. Provides the common Codyze options. Each executor must provide a CliktCommand that is registered as a subcommand on CodyzeCli.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class CodyzeOptionGroup : OptionGroup
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class ConfigFileParser : CliktCommand

A CliktCommand to parse the --config option.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class JsonValueSource(filePath: Path, root: JsonObject) : ValueSource

A ValueSource that uses Kotlin serialization to parse JSON config files as context to Clikt commands.

+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val backendCommands: Module

Every Backend must provide BackendCommand to be selectable in the CLI.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val executorCommands: Module

Each Executor must provide a ExecutorCommand to be selectable in the CLI.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val outputBuilders: Module

List all available OutputBuilders. They convert the internally used SARIF format into the final output.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun CliktCommand.configFileOption(): OptionWithValues<Path, Path, Path>

The Clikt option for the config file. Defined as extension function because it is used in multiple CliktCommands.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(args: Array<String>)

Entry point for Codyze.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/main.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/main.html new file mode 100644 index 000000000..7840ba176 --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/main.html @@ -0,0 +1,76 @@ + + + + + main + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

main

+
+
fun main(args: Array<String>)(source)

Entry point for Codyze.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/output-builders.html b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/output-builders.html new file mode 100644 index 000000000..a8431bb1d --- /dev/null +++ b/api/codyze/codyze-cli/de.fraunhofer.aisec.codyze.cli/output-builders.html @@ -0,0 +1,76 @@ + + + + + outputBuilders + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

outputBuilders

+
+
val outputBuilders: Module(source)

List all available OutputBuilders. They convert the internally used SARIF format into the final output.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/index.html b/api/codyze/codyze-cli/index.html new file mode 100644 index 000000000..4a0f25818 --- /dev/null +++ b/api/codyze/codyze-cli/index.html @@ -0,0 +1,95 @@ + + + + + codyze-cli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

codyze-cli

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-cli/navigation.html b/api/codyze/codyze-cli/navigation.html new file mode 100644 index 000000000..0c2f6a8fa --- /dev/null +++ b/api/codyze/codyze-cli/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/-backend-command.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/-backend-command.html new file mode 100644 index 000000000..afede629f --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/-backend-command.html @@ -0,0 +1,76 @@ + + + + + BackendCommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BackendCommand

+
+
constructor(cliName: String? = null)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/backend.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/backend.html new file mode 100644 index 000000000..d78e8e55d --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/backend.html @@ -0,0 +1,76 @@ + + + + + backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backend

+
+
abstract val backend: KClass<T>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/get-backend.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/get-backend.html new file mode 100644 index 000000000..899780388 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/get-backend.html @@ -0,0 +1,76 @@ + + + + + getBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getBackend

+
+
abstract fun getBackend(): T(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/index.html new file mode 100644 index 000000000..1ee29bd7f --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-command/index.html @@ -0,0 +1,588 @@ + + + + + BackendCommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BackendCommand

+
abstract class BackendCommand<T : Backend>(cliName: String? = null) : NoOpCliktCommand(source)

This abstract class must be implemented by all Backends that want to be selectable in the codyze-cli. Remember to add the newly created BackendCommand to the dependency injection.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cliName: String? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val backend: KClass<T>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun getBackend(): T
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-configuration/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-configuration/index.html new file mode 100644 index 000000000..1dcdbb831 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-configuration/index.html @@ -0,0 +1,80 @@ + + + + + BackendConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BackendConfiguration

+

This interface should be implemented as a data class to contain all the configuration options of a Backend.

When using Codyze as a CLI program, the BackendCommand is responsible to instantiate the respective Backend. However, to facilitate the usage of Codyze as a library, a Backend should have a configuration object as its only constructor argument.

+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/-backend-options.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/-backend-options.html new file mode 100644 index 000000000..24be6fb88 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/-backend-options.html @@ -0,0 +1,76 @@ + + + + + BackendOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BackendOptions

+
+
constructor(helpName: String?)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/index.html new file mode 100644 index 000000000..a02f4793d --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend-options/index.html @@ -0,0 +1,198 @@ + + + + + BackendOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BackendOptions

+
open class BackendOptions(helpName: String?) : OptionGroup(source)

The base class for all OptionGroups in Codyze backends.

If your BackendCommand does not need any OptionGroups, there is no need to implement this interface.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(helpName: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupHelp: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupName: String?
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun finalize(context: Context, invocationsByOption: Map<Option, List<Invocation>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parameterHelp(context: Context): HelpFormatter.ParameterHelp.Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun postValidate(context: Context)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/artifacts.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/artifacts.html new file mode 100644 index 000000000..b4d715602 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/artifacts.html @@ -0,0 +1,76 @@ + + + + + artifacts + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

artifacts

+
+
abstract val artifacts: Map<Path, Artifact>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/backend-data.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/backend-data.html new file mode 100644 index 000000000..538e1eb69 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/backend-data.html @@ -0,0 +1,76 @@ + + + + + backendData + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backendData

+
+
abstract val backendData: Any(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/index.html new file mode 100644 index 000000000..0787304aa --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/index.html @@ -0,0 +1,130 @@ + + + + + Backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Backend

+
interface Backend(source)

Interface for all Codyze Backends.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val artifacts: Map<Path, Artifact>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val backendData: Any
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val toolInfo: ToolComponent
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/tool-info.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/tool-info.html new file mode 100644 index 000000000..95b3f9cad --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/-backend/tool-info.html @@ -0,0 +1,76 @@ + + + + + toolInfo + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toolInfo

+
+
abstract val toolInfo: ToolComponent(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/index.html new file mode 100644 index 000000000..640487168 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.backend/index.html @@ -0,0 +1,144 @@ + + + + + de.fraunhofer.aisec.codyze.core.backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Backend

Interface for all Codyze Backends.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract class BackendCommand<T : Backend>(cliName: String? = null) : NoOpCliktCommand

This abstract class must be implemented by all Backends that want to be selectable in the codyze-cli. Remember to add the newly created BackendCommand to the dependency injection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

This interface should be implemented as a data class to contain all the configuration options of a Backend.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class BackendOptions(helpName: String?) : OptionGroup

The base class for all OptionGroups in Codyze backends.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/-configuration.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/-configuration.html new file mode 100644 index 000000000..a27b8b91c --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/-configuration.html @@ -0,0 +1,76 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Configuration

+
+
constructor(output: Path, outputBuilder: OutputBuilder, goodFindings: Boolean, pedantic: Boolean)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/good-findings.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/good-findings.html new file mode 100644 index 000000000..3cbbbb627 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/good-findings.html @@ -0,0 +1,76 @@ + + + + + goodFindings + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

goodFindings

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/index.html new file mode 100644 index 000000000..51599779c --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/index.html @@ -0,0 +1,164 @@ + + + + + Configuration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Configuration

+
data class Configuration(val output: Path, val outputBuilder: OutputBuilder, val goodFindings: Boolean, val pedantic: Boolean)(source)

Holds the main configuration to run Codyze with

To add a new CPG configuration option do the following:

  1. add a property to Configuration

  2. add a new CLI option to the CodyzeOptionGroup

  3. update the CodyzeOptionGroup.asConfiguration method

  4. Optionally: Add the newly added option as an argument to ExecutorCommand.getExecutor to pass it to Executors.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(output: Path, outputBuilder: OutputBuilder, goodFindings: Boolean, pedantic: Boolean)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output-builder.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output-builder.html new file mode 100644 index 000000000..7dd94226a --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output-builder.html @@ -0,0 +1,76 @@ + + + + + outputBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

outputBuilder

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output.html new file mode 100644 index 000000000..eac9b4f28 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/output.html @@ -0,0 +1,76 @@ + + + + + output + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

output

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/pedantic.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/pedantic.html new file mode 100644 index 000000000..fd26e606b --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/-configuration/pedantic.html @@ -0,0 +1,76 @@ + + + + + pedantic + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

pedantic

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/combine-sources.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/combine-sources.html new file mode 100644 index 000000000..27fbcf53a --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/combine-sources.html @@ -0,0 +1,76 @@ + + + + + combineSources + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

combineSources

+
+
fun combineSources(vararg sources: List<Path>): Set<Path>(source)

Combine all given sources by going through the given Paths recursively.

This function normalizes the given paths to filter out duplicates and only returns files and not directories.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/index.html new file mode 100644 index 000000000..3ce641671 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/index.html @@ -0,0 +1,133 @@ + + + + + de.fraunhofer.aisec.codyze.core.config + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class Configuration(val output: Path, val outputBuilder: OutputBuilder, val goodFindings: Boolean, val pedantic: Boolean)

Holds the main configuration to run Codyze with

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun combineSources(vararg sources: List<Path>): Set<Path>

Combine all given sources by going through the given Paths recursively.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun resolvePaths(source: List<Path>, sourceAdditions: List<Path>, disabledSource: List<Path>, disabledSourceAdditions: List<Path>): List<Path>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/resolve-paths.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/resolve-paths.html new file mode 100644 index 000000000..5b55ac20e --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.config/resolve-paths.html @@ -0,0 +1,76 @@ + + + + + resolvePaths + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resolvePaths

+
+
fun resolvePaths(source: List<Path>, sourceAdditions: List<Path>, disabledSource: List<Path>, disabledSourceAdditions: List<Path>): List<Path>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/-executor-command.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/-executor-command.html new file mode 100644 index 000000000..40c6a2354 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/-executor-command.html @@ -0,0 +1,76 @@ + + + + + ExecutorCommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ExecutorCommand

+
+
constructor(cliName: String? = null)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/get-executor.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/get-executor.html new file mode 100644 index 000000000..6b5bf690d --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/get-executor.html @@ -0,0 +1,76 @@ + + + + + getExecutor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getExecutor

+
+
abstract fun getExecutor(goodFindings: Boolean, pedantic: Boolean, backend: Backend?): T(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/index.html new file mode 100644 index 000000000..890ba5dce --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/index.html @@ -0,0 +1,588 @@ + + + + + ExecutorCommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ExecutorCommand

+
abstract class ExecutorCommand<T : Executor>(cliName: String? = null) : NoOpCliktCommand(source)

This abstract class must be implemented by all Executors that want to be selectable in the codyze-cli. Remember to add the newly created ExecutorCommand to the dependency injection.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(cliName: String? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun getExecutor(goodFindings: Boolean, pedantic: Boolean, backend: Backend?): T
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T> registerBackendOptions()

This should be called in each ExecutorCommand to register possible backends. The registered BackendOptions are filtered such that only BackendOptions providing a backend of type T are registered.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/register-backend-options.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/register-backend-options.html new file mode 100644 index 000000000..083889f13 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-command/register-backend-options.html @@ -0,0 +1,76 @@ + + + + + registerBackendOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

registerBackendOptions

+
+

This should be called in each ExecutorCommand to register possible backends. The registered BackendOptions are filtered such that only BackendOptions providing a backend of type T are registered.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-configuration/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-configuration/index.html new file mode 100644 index 000000000..479e9171b --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-configuration/index.html @@ -0,0 +1,80 @@ + + + + + ExecutorConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ExecutorConfiguration

+

This interface should be implemented as a data class to contain all the configuration options of an Executor. An ExecutorConfiguration should also contain the shared codyze options passed to ExecutorCommand.getExecutor.

When using Codyze as a CLI program, the ExecutorCommand is responsible to instantiate the respective Executor. However, to facilitate the usage of Codyze as a library, an Executor should have a configuration object and a Backend as its two constructor arguments.

+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/-executor-options.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/-executor-options.html new file mode 100644 index 000000000..0817d06c0 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/-executor-options.html @@ -0,0 +1,76 @@ + + + + + ExecutorOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ExecutorOptions

+
+
constructor(helpName: String?)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/index.html new file mode 100644 index 000000000..86878afe4 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor-options/index.html @@ -0,0 +1,198 @@ + + + + + ExecutorOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ExecutorOptions

+
open class ExecutorOptions(helpName: String?) : OptionGroup(source)

The base class for all OptionGroups in Codyze backends.

If your ExecutorCommand does not need any OptionGroups, there is no need to implement this interface.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(helpName: String?)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupHelp: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupName: String?
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun finalize(context: Context, invocationsByOption: Map<Option, List<Invocation>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parameterHelp(context: Context): HelpFormatter.ParameterHelp.Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun postValidate(context: Context)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/evaluate.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/evaluate.html new file mode 100644 index 000000000..dd4058073 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
abstract fun evaluate(): Run(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/index.html new file mode 100644 index 000000000..b55c77982 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/-executor/index.html @@ -0,0 +1,100 @@ + + + + + Executor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Executor

+
fun interface Executor(source)

An executor performs the evaluation of a specification language against source code and provides evaluation results in the form of a SARIF Run.

To facilitate the usage of Codyze as a library, an Executor should have a ExecutorConfiguration object and a Backend as its only two constructor arguments

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun evaluate(): Run
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/index.html new file mode 100644 index 000000000..5fe710adb --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.executor/index.html @@ -0,0 +1,144 @@ + + + + + de.fraunhofer.aisec.codyze.core.executor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun interface Executor

An executor performs the evaluation of a specification language against source code and provides evaluation results in the form of a SARIF Run.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract class ExecutorCommand<T : Executor>(cliName: String? = null) : NoOpCliktCommand

This abstract class must be implemented by all Executors that want to be selectable in the codyze-cli. Remember to add the newly created ExecutorCommand to the dependency injection.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

This interface should be implemented as a data class to contain all the configuration options of an Executor. An ExecutorConfiguration should also contain the shared codyze options passed to ExecutorCommand.getExecutor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class ExecutorOptions(helpName: String?) : OptionGroup

The base class for all OptionGroups in Codyze backends.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/cli-name.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/cli-name.html new file mode 100644 index 000000000..6a622c55d --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/cli-name.html @@ -0,0 +1,76 @@ + + + + + cliName + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cliName

+
+
abstract val cliName: String(source)

the name this output format has in the codyze-cli.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/index.html new file mode 100644 index 000000000..46b78062a --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/index.html @@ -0,0 +1,119 @@ + + + + + OutputBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OutputBuilder

+

The interface to all OutputBuilders. They convert the internally used SARIF Run into the chosen output format.

Inheritors

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val cliName: String

the name this output format has in the codyze-cli.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun toFile(run: Run, path: Path)

Convert the SARIF Run to the format of this OutputBuilder and write it as file to the given path.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/to-file.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/to-file.html new file mode 100644 index 000000000..1cd45ddab --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-output-builder/to-file.html @@ -0,0 +1,76 @@ + + + + + toFile + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toFile

+
+
abstract fun toFile(run: Run, path: Path)(source)

Convert the SARIF Run to the format of this OutputBuilder and write it as file to the given path.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/-sarif-builder.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/-sarif-builder.html new file mode 100644 index 000000000..99a20825d --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/-sarif-builder.html @@ -0,0 +1,76 @@ + + + + + SarifBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SarifBuilder

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/cli-name.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/cli-name.html new file mode 100644 index 000000000..b338f0e63 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/cli-name.html @@ -0,0 +1,76 @@ + + + + + cliName + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

cliName

+
+
open override val cliName: String(source)

the name this output format has in the codyze-cli.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/index.html new file mode 100644 index 000000000..234ed8986 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/index.html @@ -0,0 +1,138 @@ + + + + + SarifBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SarifBuilder

+

An OutputBuilder for the SARIF format.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val cliName: String

the name this output format has in the codyze-cli.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toFile(run: Run, path: Path)

Convert the SARIF Run to the format of this OutputBuilder and write it as file to the given path.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/to-file.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/to-file.html new file mode 100644 index 000000000..db1766e34 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/-sarif-builder/to-file.html @@ -0,0 +1,76 @@ + + + + + toFile + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toFile

+
+
open override fun toFile(run: Run, path: Path)(source)

Convert the SARIF Run to the format of this OutputBuilder and write it as file to the given path.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/index.html new file mode 100644 index 000000000..c7575d12f --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core.output/index.html @@ -0,0 +1,114 @@ + + + + + de.fraunhofer.aisec.codyze.core.output + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface OutputBuilder

The interface to all OutputBuilders. They convert the internally used SARIF Run into the chosen output format.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

An OutputBuilder for the SARIF format.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/get-version.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/get-version.html new file mode 100644 index 000000000..216ed4cdf --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/get-version.html @@ -0,0 +1,76 @@ + + + + + getVersion + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getVersion

+
+
fun getVersion(moduleName: String): String(source)

Get the version of a Codyze module.

Parameters

moduleName

The name of the module

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/index.html new file mode 100644 index 000000000..9c600f391 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/-version-provider/index.html @@ -0,0 +1,100 @@ + + + + + VersionProvider + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

VersionProvider

+

Provides the version for Codyze modules. The versions are read from a properties file.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getVersion(moduleName: String): String

Get the version of a Codyze module.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/index.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/index.html new file mode 100644 index 000000000..3d622a387 --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/index.html @@ -0,0 +1,118 @@ + + + + + de.fraunhofer.aisec.codyze.core + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Provides the version for Codyze modules. The versions are read from a properties file.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T> timed(message: (Duration) -> Unit, block: () -> T): T

Simple helper function to log how long a given task took.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/timed.html b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/timed.html new file mode 100644 index 000000000..9df6538ef --- /dev/null +++ b/api/codyze/codyze-core/de.fraunhofer.aisec.codyze.core/timed.html @@ -0,0 +1,76 @@ + + + + + timed + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

timed

+
+
fun <T> timed(message: (Duration) -> Unit, block: () -> T): T(source)

Simple helper function to log how long a given task took.

Return

The result of the given block

Parameters

message

The lambda invoked with the measured duration (Duration) of the given block.

block

The code block to time.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/index.html b/api/codyze/codyze-core/index.html new file mode 100644 index 000000000..f887a130a --- /dev/null +++ b/api/codyze/codyze-core/index.html @@ -0,0 +1,167 @@ + + + + + codyze-core + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

codyze-core

+
+

Packages

+
+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-core/navigation.html b/api/codyze/codyze-core/navigation.html new file mode 100644 index 000000000..0c2f6a8fa --- /dev/null +++ b/api/codyze/codyze-core/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/add.html new file mode 100644 index 000000000..1b53f9bd1 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+
fun add(signature: Signature)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/class-fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/class-fqn.html new file mode 100644 index 000000000..04564f710 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/class-fqn.html @@ -0,0 +1,76 @@ + + + + + classFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

classFqn

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/equals.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/equals.html new file mode 100644 index 000000000..a44cee052 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/equals.html @@ -0,0 +1,76 @@ + + + + + equals + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/hash-code.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/hash-code.html new file mode 100644 index 000000000..c1d2b9a8d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/hash-code.html @@ -0,0 +1,76 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/index.html new file mode 100644 index 000000000..41e7f958e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/index.html @@ -0,0 +1,239 @@ + + + + + ConstructorOp + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ConstructorOp

+

Represents the constructor of a class.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val ownerClassFqn: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

stores all different signatures of the constructor.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(signature: Signature)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ConstructorOp.signature(vararg parameters: Parameter): Signature

Create a Signature which can be added to the ConstructorOp. The Parameters are passed through the vararg.

inline fun ConstructorOp.signature(block: Signature.() -> Unit): Signature

Create a Signature which can be added to the ConstructorOp. The Parameters are defined in the block.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): TerminalOrderNode

Convert this OrderFragment to a binary syntax tree

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/owner-class-fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/owner-class-fqn.html new file mode 100644 index 000000000..f684edb25 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/owner-class-fqn.html @@ -0,0 +1,76 @@ + + + + + ownerClassFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ownerClassFqn

+
+
open override val ownerClassFqn: String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/signatures.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/signatures.html new file mode 100644 index 000000000..f3a017fde --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/signatures.html @@ -0,0 +1,76 @@ + + + + + signatures + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

signatures

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/to-string.html new file mode 100644 index 000000000..fc24b3566 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-constructor-op/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/add.html new file mode 100644 index 000000000..6128c320b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+
fun add(definition: Definition)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/definitions.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/definitions.html new file mode 100644 index 000000000..92dad5768 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/definitions.html @@ -0,0 +1,76 @@ + + + + + definitions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

definitions

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/equals.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/equals.html new file mode 100644 index 000000000..673be63bf --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/equals.html @@ -0,0 +1,76 @@ + + + + + equals + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean(source)

Two FunctionOps will be considered equal if they have the same definitions. This means that structure of the FunctionOps have to be equal as well as the Definition.fqns but not the actual Parameters that are stored in the Signatures.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/hash-code.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/hash-code.html new file mode 100644 index 000000000..76c9fb005 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/hash-code.html @@ -0,0 +1,76 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/index.html new file mode 100644 index 000000000..62b87bf9c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/index.html @@ -0,0 +1,239 @@ + + + + + FunctionOp + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

FunctionOp

+

Represents a group of functions that serve the same purpose in the API.

Two FunctionOps will be considered equal if they have the same definitions. This means that structure of the FunctionOps have to be equal as well as the Definition.fqns but not the actual Parameters that are stored in the Signatures.

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

stores all definitions for the different functions

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val ownerClassFqn: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(definition: Definition)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun FunctionOp.definition(fqn: String, block: Definition.() -> Unit): Definition

Create a Definition which can be added to the FunctionOp.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean

Two FunctionOps will be considered equal if they have the same definitions. This means that structure of the FunctionOps have to be equal as well as the Definition.fqns but not the actual Parameters that are stored in the Signatures.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun String.invoke(block: Definition.() -> Unit): Definition
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): TerminalOrderNode

Convert this OrderFragment to a binary syntax tree

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/invoke.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/invoke.html new file mode 100644 index 000000000..17fa81b39 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/invoke.html @@ -0,0 +1,76 @@ + + + + + invoke + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

invoke

+
+
operator fun String.invoke(block: Definition.() -> Unit): Definition(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/owner-class-fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/owner-class-fqn.html new file mode 100644 index 000000000..66c1fc5f1 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/owner-class-fqn.html @@ -0,0 +1,76 @@ + + + + + ownerClassFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ownerClassFqn

+
+
open override val ownerClassFqn: String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/to-string.html new file mode 100644 index 000000000..4539ac2ed --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-function-op/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/index.html new file mode 100644 index 000000000..df143dcb4 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/index.html @@ -0,0 +1,100 @@ + + + + + Import + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Import

+
@Target(allowedTargets = [AnnotationTarget.FILE])
annotation class Import(val paths: String)(source)

Import other coko script(s)

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val paths: Array<out String>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/paths.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/paths.html new file mode 100644 index 000000000..80080889d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-import/paths.html @@ -0,0 +1,76 @@ + + + + + paths + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

paths

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/index.html new file mode 100644 index 000000000..ca81c0515 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/index.html @@ -0,0 +1,134 @@ + + + + + Op + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Op

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val ownerClassFqn: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): TerminalOrderNode

Convert this OrderFragment to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/owner-class-fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/owner-class-fqn.html new file mode 100644 index 000000000..60356e996 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/owner-class-fqn.html @@ -0,0 +1,76 @@ + + + + + ownerClassFqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ownerClassFqn

+
+
abstract val ownerClassFqn: String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/to-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/to-node.html new file mode 100644 index 000000000..db70cbcfe --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-op/to-node.html @@ -0,0 +1,76 @@ + + + + + toNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNode

+
+
open override fun toNode(): TerminalOrderNode(source)

Convert this OrderFragment to a binary syntax tree

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/-order.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/-order.html new file mode 100644 index 000000000..e320cbb1a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/-order.html @@ -0,0 +1,76 @@ + + + + + Order + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Order

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/index.html new file mode 100644 index 000000000..bf5c62379 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-order/index.html @@ -0,0 +1,213 @@ + + + + + Order + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Order

+

OrderBuilder subclass to hide some implementation details of OrderBuilder to coko users.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(op: Op): OrderNode

Add an Op to the userDefinedOps.

fun add(fragment: OrderFragment): OrderNode

Add an OrderFragment to the orderNodes. All instances of the fragment object are removed from the list before the OrderNode from fragment is added.

fun add(token: OrderToken): OrderNode

Add an OrderToken to the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderBuilder.group(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun remove(fragment: OrderFragment)

Remove all instance of fragment from the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Represent this OrderFragment as a binary syntax tree.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Op.unaryMinus(): OrderNode

Add an Op to the userDefinedOps

Add an OrderToken to the orderNodes

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/-param-with-type.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/-param-with-type.html new file mode 100644 index 000000000..1f08a25df --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/-param-with-type.html @@ -0,0 +1,76 @@ + + + + + ParamWithType + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ParamWithType

+
+
constructor(param: Any, type: Type)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/index.html new file mode 100644 index 000000000..b624b6570 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/index.html @@ -0,0 +1,134 @@ + + + + + ParamWithType + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ParamWithType

+
data class ParamWithType(val param: Any, val type: Type)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(param: Any, type: Type)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val param: Any
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val type: Type
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/param.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/param.html new file mode 100644 index 000000000..941b6bd1f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/param.html @@ -0,0 +1,76 @@ + + + + + param + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

param

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/type.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/type.html new file mode 100644 index 000000000..005e3b843 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-param-with-type/type.html @@ -0,0 +1,76 @@ + + + + + type + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

type

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-h-i-g-h/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-h-i-g-h/index.html new file mode 100644 index 000000000..af8c9138f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-h-i-g-h/index.html @@ -0,0 +1,115 @@ + + + + + HIGH + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

HIGH

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-l-o-w/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-l-o-w/index.html new file mode 100644 index 000000000..3fe40a19d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-l-o-w/index.html @@ -0,0 +1,115 @@ + + + + + LOW + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

LOW

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-m-e-d-i-u-m/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-m-e-d-i-u-m/index.html new file mode 100644 index 000000000..91177868d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-m-e-d-i-u-m/index.html @@ -0,0 +1,115 @@ + + + + + MEDIUM + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MEDIUM

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-u-n-k-n-o-w-n/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-u-n-k-n-o-w-n/index.html new file mode 100644 index 000000000..370fd4ce0 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-u-n-k-n-o-w-n/index.html @@ -0,0 +1,115 @@ + + + + + UNKNOWN + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

UNKNOWN

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-v-e-r-y_-h-i-g-h/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-v-e-r-y_-h-i-g-h/index.html new file mode 100644 index 000000000..c7d464d70 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/-v-e-r-y_-h-i-g-h/index.html @@ -0,0 +1,115 @@ + + + + + VERY_HIGH + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

VERY_HIGH

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/entries.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/entries.html new file mode 100644 index 000000000..3b0e7d134 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/entries.html @@ -0,0 +1,76 @@ + + + + + entries + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/index.html new file mode 100644 index 000000000..aeed3d0ba --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/index.html @@ -0,0 +1,243 @@ + + + + + Precision + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Precision

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun valueOf(value: String): Precision

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/value-of.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/value-of.html new file mode 100644 index 000000000..0a6c05a44 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/value-of.html @@ -0,0 +1,76 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/values.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/values.html new file mode 100644 index 000000000..8292be00a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-precision/values.html @@ -0,0 +1,76 @@ + + + + + values + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/description.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/description.html new file mode 100644 index 000000000..954b4f39e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/description.html @@ -0,0 +1,76 @@ + + + + + description + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

description

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/fail-message.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/fail-message.html new file mode 100644 index 000000000..047077ea8 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/fail-message.html @@ -0,0 +1,76 @@ + + + + + failMessage + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

failMessage

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/help.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/help.html new file mode 100644 index 000000000..84c0c1b3c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/help.html @@ -0,0 +1,76 @@ + + + + + help + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

help

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/index.html new file mode 100644 index 000000000..f509ce458 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/index.html @@ -0,0 +1,205 @@ + + + + + Rule + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Rule

+
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class Rule(val description: String = "", val shortDescription: String = "", val severity: Severity = Severity.WARNING, val passMessage: String = "", val failMessage: String = "", val help: String = "", val tags: Array<String> = [], val precision: Precision = Precision.UNKNOWN)(source)

Marks a function that should be evaluated as a rule by Codyze

+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/pass-message.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/pass-message.html new file mode 100644 index 000000000..0af3dabdd --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/pass-message.html @@ -0,0 +1,76 @@ + + + + + passMessage + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

passMessage

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/precision.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/precision.html new file mode 100644 index 000000000..d77fe5d5d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/precision.html @@ -0,0 +1,76 @@ + + + + + precision + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

precision

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/severity.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/severity.html new file mode 100644 index 000000000..096fdc95a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/severity.html @@ -0,0 +1,76 @@ + + + + + severity + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

severity

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/short-description.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/short-description.html new file mode 100644 index 000000000..c40a3bda9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/short-description.html @@ -0,0 +1,76 @@ + + + + + shortDescription + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

shortDescription

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/tags.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/tags.html new file mode 100644 index 000000000..1a412a9c3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-rule/tags.html @@ -0,0 +1,76 @@ + + + + + tags + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

tags

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-e-r-r-o-r/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-e-r-r-o-r/index.html new file mode 100644 index 000000000..5639b93c6 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-e-r-r-o-r/index.html @@ -0,0 +1,115 @@ + + + + + ERROR + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ERROR

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-i-n-f-o/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-i-n-f-o/index.html new file mode 100644 index 000000000..6df1ca37b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-i-n-f-o/index.html @@ -0,0 +1,115 @@ + + + + + INFO + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

INFO

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-w-a-r-n-i-n-g/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-w-a-r-n-i-n-g/index.html new file mode 100644 index 000000000..5fdfd9bca --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/-w-a-r-n-i-n-g/index.html @@ -0,0 +1,115 @@ + + + + + WARNING + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

WARNING

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/entries.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/entries.html new file mode 100644 index 000000000..d2cb92b64 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/entries.html @@ -0,0 +1,76 @@ + + + + + entries + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/index.html new file mode 100644 index 000000000..8ea33bb07 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/index.html @@ -0,0 +1,228 @@ + + + + + Severity + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Severity

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Severity.toResultLevel(): Level
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun valueOf(value: String): Severity

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/value-of.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/value-of.html new file mode 100644 index 000000000..6a9d013cf --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/value-of.html @@ -0,0 +1,76 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/values.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/values.html new file mode 100644 index 000000000..bec907335 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-severity/values.html @@ -0,0 +1,76 @@ + + + + + values + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/-type.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/-type.html new file mode 100644 index 000000000..6d094ce65 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/-type.html @@ -0,0 +1,76 @@ + + + + + Type + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Type

+
+
constructor(fqn: String)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/fqn.html new file mode 100644 index 000000000..928c34dc4 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/fqn.html @@ -0,0 +1,76 @@ + + + + + fqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

fqn

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/index.html new file mode 100644 index 000000000..d3f449548 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-type/index.html @@ -0,0 +1,119 @@ + + + + + Type + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Type

+
data class Type(val fqn: String)(source)

Stores the fully qualified name of a class

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(fqn: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val fqn: String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/index.html new file mode 100644 index 000000000..130854bc9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/index.html @@ -0,0 +1,100 @@ + + + + + Wildcard + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Wildcard

+

Matches any value.

+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/to-string.html new file mode 100644 index 000000000..dc995f8f3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/-wildcard/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/at-least.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/at-least.html new file mode 100644 index 000000000..d260773c3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/at-least.html @@ -0,0 +1,76 @@ + + + + + atLeast + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

atLeast

+
+
inline fun atLeast(count: Int, block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the atLeast qualifier. See group


fun atLeast(min: Int, vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the atLeast qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/between.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/between.html new file mode 100644 index 000000000..745ac4586 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/between.html @@ -0,0 +1,76 @@ + + + + + between + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

between

+
+
inline fun between(range: IntRange, block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the between qualifier. See group


fun between(range: IntRange, vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the between qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/constructor.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/constructor.html new file mode 100644 index 000000000..fe7e4ff96 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/constructor.html @@ -0,0 +1,76 @@ + + + + + constructor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

constructor

+
+
fun constructor(classFqn: String, block: ConstructorOp.() -> Unit): ConstructorOp(source)

Create a ConstructorOp.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/count.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/count.html new file mode 100644 index 000000000..92d734d7f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/count.html @@ -0,0 +1,76 @@ + + + + + count + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

count

+
+
inline fun count(count: Int, block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the count qualifier. See group


fun count(count: Int, vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the count qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/definition.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/definition.html new file mode 100644 index 000000000..6297f8e3f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/definition.html @@ -0,0 +1,76 @@ + + + + + definition + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

definition

+
+
inline fun FunctionOp.definition(fqn: String, block: Definition.() -> Unit): Definition(source)

Create a Definition which can be added to the FunctionOp.

A minimal example

function {
definition("my.fully.qualified.name") {}
}

Parameters

fqn

the fully qualified name of the function this Definition is representing

block

defines the Signatures of this Definition

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/group.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/group.html new file mode 100644 index 000000000..30cf20536 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/group.html @@ -0,0 +1,76 @@ + + + + + group + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

group

+
+
fun Signature.group(vararg parameters: Parameter): ParameterGroup(source)

Create a ParameterGroup which can be added to the Signature.


inline fun group(block: OrderGroup.() -> Unit): <Error class: unknown class>(source)

Add a group containing any valid OrderDsl provided as a lambda

order {
group {
- arg1::func1
many(arg1::func2)
option {
- arg1::func2
- arg1::func3
}
}
}

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

order {
group(arg1::func1, arg1::func2, arg1::func3)
}
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/index.html new file mode 100644 index 000000000..39432324b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/index.html @@ -0,0 +1,527 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents the constructor of a class.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class FunctionOp : Op

Represents a group of functions that serve the same purpose in the API.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Target(allowedTargets = [AnnotationTarget.FILE])
annotation class Import(val paths: String)

Import other coko script(s)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Op : OrderFragment
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

OrderBuilder subclass to hide some implementation details of OrderBuilder to coko users.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class ParamWithType(val param: Any, val type: Type)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class Rule(val description: String = "", val shortDescription: String = "", val severity: Severity = Severity.WARNING, val passMessage: String = "", val failMessage: String = "", val help: String = "", val tags: Array<String> = [], val precision: Precision = Precision.UNKNOWN)

Marks a function that should be evaluated as a rule by Codyze

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class Type(val fqn: String)

Stores the fully qualified name of a class

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Wildcard

Matches any value.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias wildcard = Wildcard
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Use this to create a set with the OrderSetGetOperator.get operator.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun atLeast(min: Int, vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the atLeast qualifier. See group.

inline fun atLeast(count: Int, block: OrderGroup.() -> Unit): OrderNode

Adds a group with the atLeast qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun between(range: IntRange, vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the between qualifier. See group.

inline fun between(range: IntRange, block: OrderGroup.() -> Unit): OrderNode

Adds a group with the between qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun constructor(classFqn: String, block: ConstructorOp.() -> Unit): ConstructorOp

Create a ConstructorOp.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun count(count: Int, vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the count qualifier. See group.

inline fun count(count: Int, block: OrderGroup.() -> Unit): OrderNode

Adds a group with the count qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun FunctionOp.definition(fqn: String, block: Definition.() -> Unit): Definition

Create a Definition which can be added to the FunctionOp.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun group(block: OrderGroup.() -> Unit): <Error class: unknown class>

Add a group containing any valid OrderDsl provided as a lambda

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Signature.group(vararg parameters: Parameter): ParameterGroup

Create a ParameterGroup which can be added to the Signature.

fun OrderBuilder.group(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun maybe(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the maybe ('*') qualifier. See group.

inline fun maybe(block: OrderGroup.() -> Unit): OrderNode

Adds a group with the maybe ('*') qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun op(block: FunctionOp.() -> Unit): FunctionOp

Create a FunctionOp.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun option(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the option ('?') qualifier. See group.

inline fun option(block: OrderGroup.() -> Unit): OrderNode

Adds a group with the option ('?') qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

Adds an alternation token (|) between the current OrderToken and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun set(block: OrderSet.() -> Unit): OrderSet

Add a set to the Order containing any valid OrderDsl provided by a lambda (see group).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun ConstructorOp.signature(vararg parameters: Parameter): Signature

Create a Signature which can be added to the ConstructorOp. The Parameters are passed through the vararg.

inline fun ConstructorOp.signature(block: Signature.() -> Unit): Signature

Create a Signature which can be added to the ConstructorOp. The Parameters are defined in the block.

fun Definition.signature(vararg parameters: Parameter): Signature

Create a Signature which can be added to the Definition. The Parameters are passed through the vararg.

inline fun Definition.signature(unordered: Array<out Parameter> = emptyArray(), block: Signature.() -> Unit): Signature

Create a Signature which can be added to the Definition. The Parameters are defined in the block.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun some(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with the some ('+') qualifier. See group.

inline fun some(block: OrderGroup.() -> Unit): OrderNode

Adds a group with the some ('+') qualifier. See group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun unordered(vararg unordered: Parameter): <Error class: unknown class>

Add unordered Parameters to the Signature.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
infix fun Any.withType(fqn: String): ParamWithType
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/maybe.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/maybe.html new file mode 100644 index 000000000..7bd6c2b8f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/maybe.html @@ -0,0 +1,76 @@ + + + + + maybe + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

maybe

+
+
inline fun maybe(block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the maybe ('*') qualifier. See group


fun maybe(vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the maybe ('*') qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/op.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/op.html new file mode 100644 index 000000000..cd1854f9c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/op.html @@ -0,0 +1,76 @@ + + + + + op + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

op

+
+
fun op(block: FunctionOp.() -> Unit): FunctionOp(source)

Create a FunctionOp.

A full example:

op {
definition("my.fully.qualified.name") {
signature {
- arg1
- arg2
- arg3
}
signature(arg1, arg2)
signature {
- arg2
- arg3
}
}
"my.other.function" { // the call to 'definition' can be omitted
signature(arg2, arg1)
}
}

This would model the functions:

my.fully.qualified.name(arg1,arg2, arg3)
my.fully.qualified.name(arg1,arg2)
my.fully.qualified.name(arg2, arg3)

my.other.function(arg2, arg1)

Parameters

block

defines the Definitions of this FunctionOp

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/option.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/option.html new file mode 100644 index 000000000..04885edd3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/option.html @@ -0,0 +1,76 @@ + + + + + option + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

option

+
+
inline fun option(block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the option ('?') qualifier. See group


fun option(vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the option ('?') qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/or.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/or.html new file mode 100644 index 000000000..fa70350da --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/or.html @@ -0,0 +1,76 @@ + + + + + or + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

or

+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

Acts like a boolean OR. Matches the expression before or after the |.

It can operate within a group, or on a whole expression. The patterns will be tested in order.


Adds an alternation token (|) between the current OrderToken and other. All OrderToken are converted into OrderFragments.

Acts like a boolean OR. Matches the expression before or after the |.

It can operate within a group, or on a whole expression. The patterns will be tested in order.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/set.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/set.html new file mode 100644 index 000000000..b3c8de6aa --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/set.html @@ -0,0 +1,76 @@ + + + + + set + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

set

+
+
inline fun set(block: OrderSet.() -> Unit): OrderSet(source)

Add a set to the Order containing any valid OrderDsl provided by a lambda (see group).

Match any OrderToken in the set.


Use this to create a set with the OrderSetGetOperator.get operator.

Like the minimalist group constructor, this also only works with OrderTokens

order {
set[arg1::func1, arg1::func2, arg1::func4]
}
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/signature.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/signature.html new file mode 100644 index 000000000..303d26570 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/signature.html @@ -0,0 +1,76 @@ + + + + + signature + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

signature

+
+
inline fun Definition.signature(unordered: Array<out Parameter> = emptyArray(), block: Signature.() -> Unit): Signature(source)

Create a Signature which can be added to the Definition. The Parameters are defined in the block.

Parameters

unordered

are all Parameters for which the order is irrelevant and that only need to


fun Definition.signature(vararg parameters: Parameter): Signature(source)

Create a Signature which can be added to the Definition. The Parameters are passed through the vararg.


Create a Signature which can be added to the ConstructorOp. The Parameters are defined in the block.


Create a Signature which can be added to the ConstructorOp. The Parameters are passed through the vararg.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/some.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/some.html new file mode 100644 index 000000000..450737e39 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/some.html @@ -0,0 +1,76 @@ + + + + + some + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

some

+
+
inline fun some(block: OrderGroup.() -> Unit): OrderNode(source)

Adds a group with the some ('+') qualifier. See group


fun some(vararg tokens: OrderToken): OrderNode(source)

Minimalist way to create a group with the some ('+') qualifier. See group.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/unordered.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/unordered.html new file mode 100644 index 000000000..0a0a75d6c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/unordered.html @@ -0,0 +1,76 @@ + + + + + unordered + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unordered

+
+
fun unordered(vararg unordered: Parameter): <Error class: unknown class>(source)

Add unordered Parameters to the Signature.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/wildcard/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/wildcard/index.html new file mode 100644 index 000000000..82b899718 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/wildcard/index.html @@ -0,0 +1,80 @@ + + + + + wildcard + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

wildcard

+
typealias wildcard = Wildcard(source)
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/with-type.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/with-type.html new file mode 100644 index 000000000..ffb504c14 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl/with-type.html @@ -0,0 +1,76 @@ + + + + + withType + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

withType

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/-definition.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/-definition.html new file mode 100644 index 000000000..de94a9262 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/-definition.html @@ -0,0 +1,76 @@ + + + + + Definition + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Definition

+
+
constructor(fqn: String)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/add.html new file mode 100644 index 000000000..591028330 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+
fun add(signature: Signature)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/equals.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/equals.html new file mode 100644 index 000000000..a47c1061f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/equals.html @@ -0,0 +1,76 @@ + + + + + equals + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/fqn.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/fqn.html new file mode 100644 index 000000000..d36b468de --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/fqn.html @@ -0,0 +1,76 @@ + + + + + fqn + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

fqn

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/hash-code.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/hash-code.html new file mode 100644 index 000000000..b5fdd0f92 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/hash-code.html @@ -0,0 +1,76 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/index.html new file mode 100644 index 000000000..a6abdd40e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/index.html @@ -0,0 +1,213 @@ + + + + + Definition + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Definition

+
class Definition(val fqn: String)(source)

Represents the definitions of a function with the fully qualified name fqn.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(fqn: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val fqn: String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

stores all possible Signatures for this function

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(signature: Signature)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Definition.signature(vararg parameters: Parameter): Signature

Create a Signature which can be added to the Definition. The Parameters are passed through the vararg.

inline fun Definition.signature(unordered: Array<out Parameter> = emptyArray(), block: Signature.() -> Unit): Signature

Create a Signature which can be added to the Definition. The Parameters are defined in the block.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/signatures.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/signatures.html new file mode 100644 index 000000000..5e8abe584 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/signatures.html @@ -0,0 +1,76 @@ + + + + + signatures + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

signatures

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/to-string.html new file mode 100644 index 000000000..a35f58f1c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-definition/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/-parameter-group.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/-parameter-group.html new file mode 100644 index 000000000..21bb50219 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/-parameter-group.html @@ -0,0 +1,76 @@ + + + + + ParameterGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ParameterGroup

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/add.html new file mode 100644 index 000000000..a91004b75 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+
fun add(parameter: Parameter)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/equals.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/equals.html new file mode 100644 index 000000000..3e9723e1a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/equals.html @@ -0,0 +1,76 @@ + + + + + equals + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/hash-code.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/hash-code.html new file mode 100644 index 000000000..9dfa7444a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/hash-code.html @@ -0,0 +1,76 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/index.html new file mode 100644 index 000000000..9a12a38ba --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/index.html @@ -0,0 +1,198 @@ + + + + + ParameterGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ParameterGroup

+

Represents a group of parameters that all belong to the same index

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(parameter: Parameter)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Parameter.unaryMinus()
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/parameters.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/parameters.html new file mode 100644 index 000000000..f89543a0c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/parameters.html @@ -0,0 +1,76 @@ + + + + + parameters + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parameters

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/to-string.html new file mode 100644 index 000000000..45ff02ab2 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/unary-minus.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/unary-minus.html new file mode 100644 index 000000000..1389f820a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter-group/unary-minus.html @@ -0,0 +1,76 @@ + + + + + unaryMinus + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unaryMinus

+
+
operator fun Parameter.unaryMinus()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter/index.html new file mode 100644 index 000000000..7fd6ede36 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-parameter/index.html @@ -0,0 +1,80 @@ + + + + + Parameter + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Parameter

+
typealias Parameter = Any?(source)

Represents a parameter in the Signature

+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/-signature.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/-signature.html new file mode 100644 index 000000000..01ce799fd --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/-signature.html @@ -0,0 +1,76 @@ + + + + + Signature + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Signature

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/add.html new file mode 100644 index 000000000..634642f13 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+
fun add(parameter: Parameter)(source)
fun add(parameterGroup: ParameterGroup)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/equals.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/equals.html new file mode 100644 index 000000000..2754e6c75 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/equals.html @@ -0,0 +1,76 @@ + + + + + equals + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

equals

+
+
open operator override fun equals(other: Any?): Boolean(source)

Two Signatures are considered equal if they have the same amount of parameters and unorderedParameters. The equals function will not check the content of parameters and unorderedParameters.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/hash-code.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/hash-code.html new file mode 100644 index 000000000..7167bdd60 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/hash-code.html @@ -0,0 +1,76 @@ + + + + + hashCode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

hashCode

+
+
open override fun hashCode(): Int(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/index.html new file mode 100644 index 000000000..e54ef79ce --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/index.html @@ -0,0 +1,228 @@ + + + + + Signature + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Signature

+

Represents a signature of a function.

Two Signatures are considered equal if they have the same amount of parameters and unorderedParameters. The equals function will not check the content of parameters and unorderedParameters.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

stores Parameters of this signature in the correct order

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

store all unordered Parameters of this signature. These Parameters don't correspond to a fixed index in the signature but need to flow to the function.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(parameterGroup: ParameterGroup)
fun add(parameter: Parameter)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean

Two Signatures are considered equal if they have the same amount of parameters and unorderedParameters. The equals function will not check the content of parameters and unorderedParameters.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Signature.group(vararg parameters: Parameter): ParameterGroup

Create a ParameterGroup which can be added to the Signature.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Parameter.unaryMinus()
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/parameters.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/parameters.html new file mode 100644 index 000000000..f69407f76 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/parameters.html @@ -0,0 +1,76 @@ + + + + + parameters + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parameters

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/to-string.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/to-string.html new file mode 100644 index 000000000..82cecb0a2 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/to-string.html @@ -0,0 +1,76 @@ + + + + + toString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toString

+
+
open override fun toString(): String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unary-minus.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unary-minus.html new file mode 100644 index 000000000..3d1235acc --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unary-minus.html @@ -0,0 +1,76 @@ + + + + + unaryMinus + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unaryMinus

+
+
operator fun Parameter.unaryMinus()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unordered-parameters.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unordered-parameters.html new file mode 100644 index 000000000..ddb156966 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/-signature/unordered-parameters.html @@ -0,0 +1,76 @@ + + + + + unorderedParameters + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unorderedParameters

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/index.html new file mode 100644 index 000000000..a68c8386f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling/index.html @@ -0,0 +1,144 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Definition(val fqn: String)

Represents the definitions of a function with the fully qualified name fqn.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias Parameter = Any?

Represents a parameter in the Signature

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a group of parameters that all belong to the same index

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class Signature

Represents a signature of a function.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/-alternative-order-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/-alternative-order-node.html new file mode 100644 index 000000000..75c23c2c9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/-alternative-order-node.html @@ -0,0 +1,76 @@ + + + + + AlternativeOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

AlternativeOrderNode

+
+
constructor(left: OrderNode, right: OrderNode)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/index.html new file mode 100644 index 000000000..40c01700f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/index.html @@ -0,0 +1,183 @@ + + + + + AlternativeOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

AlternativeOrderNode

+
data class AlternativeOrderNode(val left: OrderNode, val right: OrderNode) : OrderNode(source)

Represents a regex OR ('|')

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(left: OrderNode, right: OrderNode)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun applyToAll(block: OrderNode.() -> Unit)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Convert this OrderNode to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/left.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/left.html new file mode 100644 index 000000000..249d2e74f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/left.html @@ -0,0 +1,76 @@ + + + + + left + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/right.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/right.html new file mode 100644 index 000000000..ad6635db8 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-alternative-order-node/right.html @@ -0,0 +1,76 @@ + + + + + right + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/-order-builder.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/-order-builder.html new file mode 100644 index 000000000..cbdd72bd3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/-order-builder.html @@ -0,0 +1,76 @@ + + + + + OrderBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderBuilder

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/add.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/add.html new file mode 100644 index 000000000..785bb0ef2 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/add.html @@ -0,0 +1,76 @@ + + + + + add + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

add

+
+

Add an OrderToken to the orderNodes


Add an OrderFragment to the orderNodes. All instances of the fragment object are removed from the list before the OrderNode from fragment is added.

The reason why all instances of fragment are removed is to ensure consistent behavior of de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl.or. de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl.or might receive OrderFragments as arguments. OrderFragments can only be built with Order DSL functions which will add their resulting OrderFragment directly to the orderNodes list. This means that de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl.or must remove the OrderFragments from the orderNodes list to prevent them from appearing multiple times. An example would be:

order {
maybe(TestClass::a)
maybe(TestClass::a) or some(TestClass::b)
}

The regex would be (a* (a* | b+)). If the OrderFragments from maybe(TestClass::a) and some(TestClass::b) were not removed from the orderNodes, the regex would be (a* a* b+ (a* | b+)) which is incorrect.

However, problems arise if we consider a second example:

order {
val maybeA = maybe(TestClass::a)
maybeA or some(TestClass::b)
}

The desired regex would still be (a* (a* | b+)). However, this is a problem for de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl.or. It cannot differentiate if a OrderFragment was stored in a variable or not. Therefore, the OrderFragment is always removed. This means that the resulting regex is actually (a* | b+).

To resolve this inconsistency, we decided to disallow the same OrderFragment object (object reference equality, not functional equality) appearing multiple times in the orderNodes list. Instead, the last appearance is used as position for the OrderFragment object. This means, that for the example:

order {
val maybeA = maybe(TestClass::a)
add(maybeA)
some(TestClass::b)
add(maybeA)
}

the regex is (b+ a*).

If the desired regex is (a* a* b+ a*), please declare the a* with separate function calls like:

order {
maybe(TestClass::a)
maybe(TestClass::a)
some(TestClass::b)
maybe(TestClass::a)
}

fun add(op: Op): OrderNode(source)

Add an Op to the userDefinedOps.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/index.html new file mode 100644 index 000000000..4121085be --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/index.html @@ -0,0 +1,213 @@ + + + + + OrderBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderBuilder

+

Base class for Order, OrderGroup and OrderSet. Creates a binary tree of the given regex with its toNode method.

Inheritors

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(op: Op): OrderNode

Add an Op to the userDefinedOps.

fun add(fragment: OrderFragment): OrderNode

Add an OrderFragment to the orderNodes. All instances of the fragment object are removed from the list before the OrderNode from fragment is added.

fun add(token: OrderToken): OrderNode

Add an OrderToken to the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderBuilder.group(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun remove(fragment: OrderFragment)

Remove all instance of fragment from the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Represent this OrderFragment as a binary syntax tree.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Op.unaryMinus(): OrderNode

Add an Op to the userDefinedOps

Add an OrderToken to the orderNodes

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/remove.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/remove.html new file mode 100644 index 000000000..5efb1ab4e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/remove.html @@ -0,0 +1,76 @@ + + + + + remove + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

remove

+
+
fun remove(fragment: OrderFragment)(source)

Remove all instance of fragment from the orderNodes

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/to-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/to-node.html new file mode 100644 index 000000000..5ee24cef5 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/to-node.html @@ -0,0 +1,76 @@ + + + + + toNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNode

+
+
open override fun toNode(): OrderNode(source)

Represent this OrderFragment as a binary syntax tree.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/unary-minus.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/unary-minus.html new file mode 100644 index 000000000..eebbeec2b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/unary-minus.html @@ -0,0 +1,76 @@ + + + + + unaryMinus + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

unaryMinus

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/user-defined-ops.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/user-defined-ops.html new file mode 100644 index 000000000..a180b1eea --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-builder/user-defined-ops.html @@ -0,0 +1,76 @@ + + + + + userDefinedOps + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

userDefinedOps

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/index.html new file mode 100644 index 000000000..776423a97 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/index.html @@ -0,0 +1,115 @@ + + + + + OrderFragment + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderFragment

+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun toNode(): OrderNode

Convert this OrderFragment to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/to-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/to-node.html new file mode 100644 index 000000000..92ce5378d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-fragment/to-node.html @@ -0,0 +1,76 @@ + + + + + toNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNode

+
+
abstract fun toNode(): OrderNode(source)

Convert this OrderFragment to a binary syntax tree

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/-order-group.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/-order-group.html new file mode 100644 index 000000000..991f68512 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/-order-group.html @@ -0,0 +1,76 @@ + + + + + OrderGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderGroup

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/index.html new file mode 100644 index 000000000..0b26cecc8 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-group/index.html @@ -0,0 +1,213 @@ + + + + + OrderGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderGroup

+

Represents a regex group

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(op: Op): OrderNode

Add an Op to the userDefinedOps.

fun add(fragment: OrderFragment): OrderNode

Add an OrderFragment to the orderNodes. All instances of the fragment object are removed from the list before the OrderNode from fragment is added.

fun add(token: OrderToken): OrderNode

Add an OrderToken to the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderBuilder.group(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun remove(fragment: OrderFragment)

Remove all instance of fragment from the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Represent this OrderFragment as a binary syntax tree.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Op.unaryMinus(): OrderNode

Add an Op to the userDefinedOps

Add an OrderToken to the orderNodes

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/apply-to-all.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/apply-to-all.html new file mode 100644 index 000000000..ae622837a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/apply-to-all.html @@ -0,0 +1,76 @@ + + + + + applyToAll + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

applyToAll

+
+
open fun applyToAll(block: OrderNode.() -> Unit)(source)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/index.html new file mode 100644 index 000000000..760f92279 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/index.html @@ -0,0 +1,130 @@ + + + + + OrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ + +
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun applyToAll(block: OrderNode.() -> Unit)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Convert this OrderNode to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/to-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/to-node.html new file mode 100644 index 000000000..f13086348 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-node/to-node.html @@ -0,0 +1,76 @@ + + + + + toNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNode

+
+
open override fun toNode(): OrderNode(source)

Convert this OrderNode to a binary syntax tree

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-a-t-l-e-a-s-t/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-a-t-l-e-a-s-t/index.html new file mode 100644 index 000000000..9d3c79183 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-a-t-l-e-a-s-t/index.html @@ -0,0 +1,115 @@ + + + + + ATLEAST + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ATLEAST

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-b-e-t-w-e-e-n/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-b-e-t-w-e-e-n/index.html new file mode 100644 index 000000000..24811b1a4 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-b-e-t-w-e-e-n/index.html @@ -0,0 +1,115 @@ + + + + + BETWEEN + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

BETWEEN

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-c-o-u-n-t/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-c-o-u-n-t/index.html new file mode 100644 index 000000000..9b3b27f58 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-c-o-u-n-t/index.html @@ -0,0 +1,115 @@ + + + + + COUNT + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

COUNT

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-m-a-y-b-e/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-m-a-y-b-e/index.html new file mode 100644 index 000000000..687c462c1 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-m-a-y-b-e/index.html @@ -0,0 +1,115 @@ + + + + + MAYBE + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

MAYBE

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-o-p-t-i-o-n/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-o-p-t-i-o-n/index.html new file mode 100644 index 000000000..d9a6b0bf5 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/-o-p-t-i-o-n/index.html @@ -0,0 +1,115 @@ + + + + + OPTION + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OPTION

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/entries.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/entries.html new file mode 100644 index 000000000..ae0087f37 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/entries.html @@ -0,0 +1,76 @@ + + + + + entries + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/index.html new file mode 100644 index 000000000..145d514fa --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/index.html @@ -0,0 +1,243 @@ + + + + + OrderQuantifier + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderQuantifier

+

All the available quantifiers for this simple regex like DSL.

+
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/value-of.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/value-of.html new file mode 100644 index 000000000..0bdc2309a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/value-of.html @@ -0,0 +1,76 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/values.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/values.html new file mode 100644 index 000000000..26491806e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-quantifier/values.html @@ -0,0 +1,76 @@ + + + + + values + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/-order-set-get-operator.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/-order-set-get-operator.html new file mode 100644 index 000000000..61560bf3e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/-order-set-get-operator.html @@ -0,0 +1,76 @@ + + + + + OrderSetGetOperator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderSetGetOperator

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/get.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/get.html new file mode 100644 index 000000000..95dfbd78c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/get.html @@ -0,0 +1,76 @@ + + + + + get + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

get

+
+
operator fun get(vararg tokens: OrderToken): OrderSet(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/index.html new file mode 100644 index 000000000..a0887b35f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set-get-operator/index.html @@ -0,0 +1,119 @@ + + + + + OrderSetGetOperator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderSetGetOperator

+

Allows the syntactic sugar to create a set with the 'get' operator.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun get(vararg tokens: OrderToken): OrderSet
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/-order-set.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/-order-set.html new file mode 100644 index 000000000..de92fd559 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/-order-set.html @@ -0,0 +1,76 @@ + + + + + OrderSet + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderSet

+
+
constructor(negate: Boolean)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/index.html new file mode 100644 index 000000000..3f46452a5 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/index.html @@ -0,0 +1,213 @@ + + + + + OrderSet + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderSet

+

Represents a regex set. Its toNode method converts the set into a group with OR expressions to simplify the resulting binary tree

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(negate: Boolean)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun add(op: Op): OrderNode

Add an Op to the userDefinedOps.

fun add(fragment: OrderFragment): OrderNode

Add an OrderFragment to the orderNodes. All instances of the fragment object are removed from the list before the OrderNode from fragment is added.

fun add(token: OrderToken): OrderNode

Add an OrderToken to the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderBuilder.group(vararg tokens: OrderToken): OrderNode

Minimalist way to create a group with a function call. However, this minimalist group constructor only works with OrderTokens

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun remove(fragment: OrderFragment)

Remove all instance of fragment from the orderNodes

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Represent this OrderSet (OrderFragment) as a binary syntax tree.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun Op.unaryMinus(): OrderNode

Add an Op to the userDefinedOps

Add an OrderToken to the orderNodes

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/to-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/to-node.html new file mode 100644 index 000000000..d885839df --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-set/to-node.html @@ -0,0 +1,76 @@ + + + + + toNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toNode

+
+
open override fun toNode(): OrderNode(source)

Represent this OrderSet (OrderFragment) as a binary syntax tree.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-token/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-token/index.html new file mode 100644 index 000000000..80f38b55d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-order-token/index.html @@ -0,0 +1,80 @@ + + + + + OrderToken + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

OrderToken

+ +
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/-quantifier-order-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/-quantifier-order-node.html new file mode 100644 index 000000000..a69e14abb --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/-quantifier-order-node.html @@ -0,0 +1,76 @@ + + + + + QuantifierOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

QuantifierOrderNode

+
+
constructor(child: OrderNode, type: OrderQuantifier, value: Any? = null)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/child.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/child.html new file mode 100644 index 000000000..94b53a45a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/child.html @@ -0,0 +1,76 @@ + + + + + child + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/index.html new file mode 100644 index 000000000..196fa6bde --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/index.html @@ -0,0 +1,198 @@ + + + + + QuantifierOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

QuantifierOrderNode

+
data class QuantifierOrderNode(val child: OrderNode, val type: OrderQuantifier, val value: Any? = null) : OrderNode(source)

Represents a regex quantifier like: '*', '?', etc.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(child: OrderNode, type: OrderQuantifier, value: Any? = null)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val value: Any? = null
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun applyToAll(block: OrderNode.() -> Unit)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Convert this OrderNode to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/type.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/type.html new file mode 100644 index 000000000..b9929a0e5 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/type.html @@ -0,0 +1,76 @@ + + + + + type + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/value.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/value.html new file mode 100644 index 000000000..d4e5ba20e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-quantifier-order-node/value.html @@ -0,0 +1,76 @@ + + + + + value + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

value

+
+
val value: Any? = null(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/-sequence-order-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/-sequence-order-node.html new file mode 100644 index 000000000..20f855517 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/-sequence-order-node.html @@ -0,0 +1,76 @@ + + + + + SequenceOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SequenceOrderNode

+
+
constructor(left: OrderNode, right: OrderNode)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/index.html new file mode 100644 index 000000000..7234ebbe5 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/index.html @@ -0,0 +1,183 @@ + + + + + SequenceOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SequenceOrderNode

+
data class SequenceOrderNode(val left: OrderNode, val right: OrderNode) : OrderNode(source)

Represents a regex sequence, where one OrderNode must be followed by another OrderNode

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(left: OrderNode, right: OrderNode)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun applyToAll(block: OrderNode.() -> Unit)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Convert this OrderNode to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/left.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/left.html new file mode 100644 index 000000000..0611f7574 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/left.html @@ -0,0 +1,76 @@ + + + + + left + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/right.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/right.html new file mode 100644 index 000000000..6b18b0211 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-sequence-order-node/right.html @@ -0,0 +1,76 @@ + + + + + right + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/-terminal-order-node.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/-terminal-order-node.html new file mode 100644 index 000000000..44e149bef --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/-terminal-order-node.html @@ -0,0 +1,76 @@ + + + + + TerminalOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TerminalOrderNode

+
+
constructor(baseName: String, opName: String)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/base-name.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/base-name.html new file mode 100644 index 000000000..663c7518e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/base-name.html @@ -0,0 +1,76 @@ + + + + + baseName + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

baseName

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/index.html new file mode 100644 index 000000000..38b4ad755 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/index.html @@ -0,0 +1,183 @@ + + + + + TerminalOrderNode + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

TerminalOrderNode

+
data class TerminalOrderNode(val baseName: String, val opName: String) : OrderNode(source)

Represents an OrderToken.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(baseName: String, opName: String)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun applyToAll(block: OrderNode.() -> Unit)

Apply the given block to each OrderNode in this OrderNode. Uses Depth First Search (DFS).

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Adds an alternation token (|) between the current OrderFragment and other. All OrderToken are converted into OrderFragments.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toNode(): OrderNode

Convert this OrderNode to a binary syntax tree

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/op-name.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/op-name.html new file mode 100644 index 000000000..6a2f3b20a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/-terminal-order-node/op-name.html @@ -0,0 +1,76 @@ + + + + + opName + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

opName

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/get-op.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/get-op.html new file mode 100644 index 000000000..cba5ce28a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/get-op.html @@ -0,0 +1,76 @@ + + + + + getOp + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getOp

+
+
fun OrderToken.getOp(vararg arguments: Any? = Array<Any?>(parameters.size) { null }): Op(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/index.html new file mode 100644 index 000000000..66af6598a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering/index.html @@ -0,0 +1,283 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class AlternativeOrderNode(val left: OrderNode, val right: OrderNode) : OrderNode

Represents a regex OR ('|')

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Base class for Order, OrderGroup and OrderSet. Creates a binary tree of the given regex with its toNode method.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface OrderFragment
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Represents a regex group

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

All the available quantifiers for this simple regex like DSL.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class OrderSet(negate: Boolean) : OrderBuilder

Represents a regex set. Its toNode method converts the set into a group with OR expressions to simplify the resulting binary tree

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Allows the syntactic sugar to create a set with the 'get' operator.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
typealias OrderToken = KFunction<Op>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class QuantifierOrderNode(val child: OrderNode, val type: OrderQuantifier, val value: Any? = null) : OrderNode

Represents a regex quantifier like: '*', '?', etc.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class SequenceOrderNode(val left: OrderNode, val right: OrderNode) : OrderNode

Represents a regex sequence, where one OrderNode must be followed by another OrderNode

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class TerminalOrderNode(val baseName: String, val opName: String) : OrderNode

Represents an OrderToken.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun OrderToken.getOp(vararg arguments: Any? = Array<Any?>(parameters.size) { null }): Op
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/followed-by.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/followed-by.html new file mode 100644 index 000000000..c23cc7165 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/followed-by.html @@ -0,0 +1,76 @@ + + + + + followedBy + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

followedBy

+
+
abstract infix fun Op.followedBy(that: Op): Evaluator(source)

For each of the nodes in this, there is a path to at least one of the nodes in that.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/index.html new file mode 100644 index 000000000..b4eff5513 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/index.html @@ -0,0 +1,194 @@ + + + + + CokoBackend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoBackend

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val artifacts: Map<Path, Artifact>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val backendData: Any
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val toolInfo: ToolComponent
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract infix fun Op.followedBy(that: Op): Evaluator

For each of the nodes in this, there is a path to at least one of the nodes in that.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun never(vararg ops: Op): Evaluator

Ensures that there are no calls to the ops which have arguments that fit the parameters specified in ops

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun only(vararg ops: Op): Evaluator

Ensures that all calls to the ops have arguments that fit the parameters specified in ops

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun order(baseNodes: Op, block: Order.() -> Unit): Evaluator
abstract fun order(baseNodes: OrderToken, block: Order.() -> Unit): Evaluator

Ensures the order of nodes as specified in the user configured Order object

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/never.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/never.html new file mode 100644 index 000000000..8f4aeeaae --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/never.html @@ -0,0 +1,76 @@ + + + + + never + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

never

+
+
abstract fun never(vararg ops: Op): Evaluator(source)

Ensures that there are no calls to the ops which have arguments that fit the parameters specified in ops

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/only.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/only.html new file mode 100644 index 000000000..f0a239ab6 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/only.html @@ -0,0 +1,76 @@ + + + + + only + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

only

+
+
abstract fun only(vararg ops: Op): Evaluator(source)

Ensures that all calls to the ops have arguments that fit the parameters specified in ops

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/order.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/order.html new file mode 100644 index 000000000..939620bba --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-backend/order.html @@ -0,0 +1,76 @@ + + + + + order + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

order

+
+
abstract fun order(baseNodes: OrderToken, block: Order.() -> Unit): Evaluator(source)
abstract fun order(baseNodes: Op, block: Order.() -> Unit): Evaluator(source)

Ensures the order of nodes as specified in the user configured Order object

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-marker/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-marker/index.html new file mode 100644 index 000000000..6d36de823 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-marker/index.html @@ -0,0 +1,80 @@ + + + + + CokoMarker + + + + + + + + + + + + + + + + + +
+ +
+ + +
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-rule/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-rule/index.html new file mode 100644 index 000000000..5b6fb388f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-coko-rule/index.html @@ -0,0 +1,80 @@ + + + + + CokoRule + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoRule

+ +
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/-evaluation-context.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/-evaluation-context.html new file mode 100644 index 000000000..691f82179 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/-evaluation-context.html @@ -0,0 +1,76 @@ + + + + + EvaluationContext + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EvaluationContext

+
+
constructor(rule: CokoRule, parameterMap: Map<KParameter, Any>)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/index.html new file mode 100644 index 000000000..8c0540559 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/index.html @@ -0,0 +1,134 @@ + + + + + EvaluationContext + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

EvaluationContext

+
data class EvaluationContext(val rule: CokoRule, val parameterMap: Map<KParameter, Any>)(source)

The context used during rule evaluation.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(rule: CokoRule, parameterMap: Map<KParameter, Any>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/parameter-map.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/parameter-map.html new file mode 100644 index 000000000..d27799eef --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/parameter-map.html @@ -0,0 +1,76 @@ + + + + + parameterMap + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

parameterMap

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/rule.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/rule.html new file mode 100644 index 000000000..2fceb13ae --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluation-context/rule.html @@ -0,0 +1,76 @@ + + + + + rule + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

rule

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/evaluate.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/evaluate.html new file mode 100644 index 000000000..87d0511bb --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/index.html new file mode 100644 index 000000000..af35a1e30 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-evaluator/index.html @@ -0,0 +1,100 @@ + + + + + Evaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Evaluator

+
fun interface Evaluator(source)
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun evaluate(context: EvaluationContext): Collection<Finding>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-fail/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-fail/index.html new file mode 100644 index 000000000..81f9aad82 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-fail/index.html @@ -0,0 +1,130 @@ + + + + + Fail + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Fail

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-informational/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-informational/index.html new file mode 100644 index 000000000..0a33e5961 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-informational/index.html @@ -0,0 +1,130 @@ + + + + + Informational + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Informational

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-not-applicable/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-not-applicable/index.html new file mode 100644 index 000000000..d04a8f227 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-not-applicable/index.html @@ -0,0 +1,130 @@ + + + + + NotApplicable + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

NotApplicable

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-open/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-open/index.html new file mode 100644 index 000000000..18c5fc5e9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-open/index.html @@ -0,0 +1,130 @@ + + + + + Open + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Open

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-pass/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-pass/index.html new file mode 100644 index 000000000..ac3abdc26 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-pass/index.html @@ -0,0 +1,130 @@ + + + + + Pass + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Pass

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-review/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-review/index.html new file mode 100644 index 000000000..3a9a63e4e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/-review/index.html @@ -0,0 +1,130 @@ + + + + + Review + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Review

+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/entries.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/entries.html new file mode 100644 index 000000000..05c761e8c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/entries.html @@ -0,0 +1,76 @@ + + + + + entries + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

entries

+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

This method may be used to iterate over the enum entries.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/index.html new file mode 100644 index 000000000..8a06c5898 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/index.html @@ -0,0 +1,273 @@ + + + + + Kind + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Kind

+ +
+
+
+
+
+

Entries

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns a representation of an immutable list of all enum entries, in the order they're declared.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val resultKind: ResultKind
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Returns an array containing the constants of this enum type, in the order they're declared.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/result-kind.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/result-kind.html new file mode 100644 index 000000000..c65a0f18a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/result-kind.html @@ -0,0 +1,76 @@ + + + + + resultKind + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

resultKind

+
+
val resultKind: ResultKind(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/value-of.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/value-of.html new file mode 100644 index 000000000..214e2a32f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/value-of.html @@ -0,0 +1,76 @@ + + + + + valueOf + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

valueOf

+
+

Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)

Throws

if this enum type has no constant with the specified name

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/values.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/values.html new file mode 100644 index 000000000..90a1f1790 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/-kind/values.html @@ -0,0 +1,76 @@ + + + + + values + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

values

+
+

Returns an array containing the constants of this enum type, in the order they're declared.

This method may be used to iterate over the constants.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/index.html new file mode 100644 index 000000000..59fa00562 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/index.html @@ -0,0 +1,153 @@ + + + + + Finding + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Finding

+
interface Finding(source)

The result of a rule evaluation.

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val kind: Finding.Kind
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract val message: String
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun toSarif(rule: CokoRule, rules: List<CokoRule>, artifacts: Map<Path, Artifact>?): Result
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/kind.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/kind.html new file mode 100644 index 000000000..7de96bab4 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/kind.html @@ -0,0 +1,76 @@ + + + + + kind + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

kind

+
+
abstract val kind: Finding.Kind(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/message.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/message.html new file mode 100644 index 000000000..5515c0ccb --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/message.html @@ -0,0 +1,76 @@ + + + + + message + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

message

+
+
abstract val message: String(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/to-sarif.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/to-sarif.html new file mode 100644 index 000000000..eb69930ee --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/-finding/to-sarif.html @@ -0,0 +1,76 @@ + + + + + toSarif + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toSarif

+
+
abstract fun toSarif(rule: CokoRule, rules: List<CokoRule>, artifacts: Map<Path, Artifact>?): Result(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/index.html new file mode 100644 index 000000000..5dda0eeb6 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/index.html @@ -0,0 +1,193 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.core + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface CokoBackend : Backend
+
+
+
+
+ + + +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class EvaluationContext(val rule: CokoRule, val parameterMap: Map<KParameter, Any>)

The context used during rule evaluation.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun interface Evaluator
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
interface Finding

The result of a rule evaluation.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun Severity.toResultLevel(): Level
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/to-result-level.html b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/to-result-level.html new file mode 100644 index 000000000..23aaf06ea --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/de.fraunhofer.aisec.codyze.specificationLanguages.coko.core/to-result-level.html @@ -0,0 +1,76 @@ + + + + + toResultLevel + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toResultLevel

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/index.html b/api/codyze/codyze-specification-languages/coko/coko-core/index.html new file mode 100644 index 000000000..34990f4b9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/index.html @@ -0,0 +1,149 @@ + + + + + coko-core + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

coko-core

+
+

Packages

+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-core/navigation.html b/api/codyze/codyze-specification-languages/coko/coko-core/navigation.html new file mode 100644 index 000000000..0c2f6a8fa --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-core/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/-coko-option-group.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/-coko-option-group.html new file mode 100644 index 000000000..6dd068842 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/-coko-option-group.html @@ -0,0 +1,76 @@ + + + + + CokoOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoOptionGroup

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/disabled-spec-rules.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/disabled-spec-rules.html new file mode 100644 index 000000000..fc928096b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/disabled-spec-rules.html @@ -0,0 +1,76 @@ + + + + + disabledSpecRules + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disabledSpecRules

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/index.html new file mode 100644 index 000000000..6f51d91d8 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/index.html @@ -0,0 +1,228 @@ + + + + + CokoOptionGroup + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoOptionGroup

+

Contains all the options specific to the CokoExecutor.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupHelp: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override val groupName: String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val spec: List<Path>

Lazy property that combines all given specs from the different options into a list of spec files to use.

+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun finalize(context: Context, invocationsByOption: Map<Option, List<Invocation>>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun parameterHelp(context: Context): HelpFormatter.ParameterHelp.Group?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun postValidate(context: Context)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/spec.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/spec.html new file mode 100644 index 000000000..439abe04f --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-option-group/spec.html @@ -0,0 +1,76 @@ + + + + + spec + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

spec

+
+

Lazy property that combines all given specs from the different options into a list of spec files to use.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/-coko-subcommand.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/-coko-subcommand.html new file mode 100644 index 000000000..03c3c93b3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/-coko-subcommand.html @@ -0,0 +1,76 @@ + + + + + CokoSubcommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoSubcommand

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/executor-options.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/executor-options.html new file mode 100644 index 000000000..2462c4210 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/executor-options.html @@ -0,0 +1,76 @@ + + + + + executorOptions + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

executorOptions

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/get-executor.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/get-executor.html new file mode 100644 index 000000000..f1ec598d9 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/get-executor.html @@ -0,0 +1,76 @@ + + + + + getExecutor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

getExecutor

+
+
open override fun getExecutor(goodFindings: Boolean, pedantic: Boolean, backend: Backend?): CokoExecutor(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/index.html new file mode 100644 index 000000000..3e407f512 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/-coko-subcommand/index.html @@ -0,0 +1,603 @@ + + + + + CokoSubcommand + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoSubcommand

+ +
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val currentContext: Context
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun aliases(): Map<String, List<String>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun allHelpParams(): List<HelpFormatter.ParameterHelp>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelp(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open fun commandHelpEpilog(context: Context): String
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun confirm(text: String, default: Boolean?, uppercaseDefault: Boolean, showChoices: Boolean, choiceStrings: List<String>, promptSuffix: String, invalidChoiceMessage: String): Boolean?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echo()
fun echo(message: Any?, trailingNewline: Boolean, err: Boolean)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun echoFormattedHelp(error: CliktError?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun getExecutor(goodFindings: Boolean, pedantic: Boolean, backend: Backend?): CokoExecutor
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun getFormattedHelp(error: CliktError?): String?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun issueMessage(message: String)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun main(argv: Array<out String>)
fun main(argv: List<String>)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun parse(argv: Array<String>, parentContext: Context?)
fun parse(argv: List<String>, parentContext: Context?)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun prompt(text: String, default: String?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<String>, promptSuffix: String, invalidChoiceMessage: String): String?
fun <T> prompt(text: String, default: T?, showDefault: Boolean, showChoices: Boolean, hideInput: Boolean, choices: Collection<T>, promptSuffix: String, invalidChoiceMessage: String, convert: (String) -> ConversionResult<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerArgument(argument: Argument)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
inline fun <T> registerBackendOptions()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredArguments(): List<Argument>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredOptions(): List<Option>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredParameterGroups(): List<ParameterGroup>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registeredSubcommands(): List<CliktCommand>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun registerOption(option: GroupableOption)
fun registerOption(option: Option)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun registerOptionGroup(group: ParameterGroup)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun run()
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun toString(): String
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/file-name-string.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/file-name-string.html new file mode 100644 index 000000000..448206d99 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/file-name-string.html @@ -0,0 +1,76 @@ + + + + + fileNameString + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

fileNameString

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/index.html new file mode 100644 index 000000000..964db3204 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/index.html @@ -0,0 +1,152 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Contains all the options specific to the CokoExecutor.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+ +
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/validate-spec.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/validate-spec.html new file mode 100644 index 000000000..92f7aaacc --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli/validate-spec.html @@ -0,0 +1,76 @@ + + + + + validateSpec + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

validateSpec

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-coko-executor.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-coko-executor.html new file mode 100644 index 000000000..ad6d7a966 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-coko-executor.html @@ -0,0 +1,76 @@ + + + + + CokoExecutor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoExecutor

+
+
constructor(configuration: CokoConfiguration, backend: CokoBackend)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/compile-scripts-into-spec-evaluator.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/compile-scripts-into-spec-evaluator.html new file mode 100644 index 000000000..2a2789f28 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/compile-scripts-into-spec-evaluator.html @@ -0,0 +1,76 @@ + + + + + compileScriptsIntoSpecEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

compileScriptsIntoSpecEvaluator

+
+

Compiles the given specification files and analyzes the script contents by adding all the extracted information into a SpecEvaluator.

Return

A SpecEvaluator object containing the extracted information from all specFiles

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/eval.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/eval.html new file mode 100644 index 000000000..2b04fc570 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/eval.html @@ -0,0 +1,76 @@ + + + + + eval + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

eval

+
+
fun eval(sourceCode: String, backend: CokoBackend, sharedClassLoader: ClassLoader? = null): ResultWithDiagnostics<EvaluationResult>(source)
fun eval(sourceCode: SourceCode, backend: CokoBackend, baseClassLoader: ClassLoader? = null): ResultWithDiagnostics<EvaluationResult>(source)

Evaluates the given project script sourceCode against the given backend.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/index.html new file mode 100644 index 000000000..4b1ddc65d --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/-companion/index.html @@ -0,0 +1,115 @@ + + + + + Companion + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Companion

+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+

Compiles the given specification files and analyzes the script contents by adding all the extracted information into a SpecEvaluator.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun eval(sourceCode: String, backend: CokoBackend, sharedClassLoader: ClassLoader? = null): ResultWithDiagnostics<EvaluationResult>
fun eval(sourceCode: SourceCode, backend: CokoBackend, baseClassLoader: ClassLoader? = null): ResultWithDiagnostics<EvaluationResult>

Evaluates the given project script sourceCode against the given backend.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/evaluate.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/evaluate.html new file mode 100644 index 000000000..20445aba4 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+
open override fun evaluate(): Run(source)

Compiles all the specification files, translates the CPG and finally triggers the evaluation of the rules defined in the specs.

+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/index.html new file mode 100644 index 000000000..c25a04bcb --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-coko-executor/index.html @@ -0,0 +1,138 @@ + + + + + CokoExecutor + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoExecutor

+
class CokoExecutor(configuration: CokoConfiguration, backend: CokoBackend) : Executor(source)

The Executor to evaluate Coko (codyze.kts) specification files.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(configuration: CokoConfiguration, backend: CokoBackend)
+
+
+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
object Companion
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun evaluate(): Run

Compiles all the specification files, translates the CPG and finally triggers the evaluation of the rules defined in the specs.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/-spec-evaluator.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/-spec-evaluator.html new file mode 100644 index 000000000..7fe2a5b9b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/-spec-evaluator.html @@ -0,0 +1,76 @@ + + + + + SpecEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SpecEvaluator

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/add-spec.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/add-spec.html new file mode 100644 index 000000000..2306b28d2 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/add-spec.html @@ -0,0 +1,76 @@ + + + + + addSpec + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

addSpec

+
+
fun addSpec(scriptClass: KClass<*>, scriptInstance: Any)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/evaluate.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/evaluate.html new file mode 100644 index 000000000..74fdbfe4e --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/evaluate.html @@ -0,0 +1,76 @@ + + + + + evaluate + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

evaluate

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/implementations.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/implementations.html new file mode 100644 index 000000000..663a073cc --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/implementations.html @@ -0,0 +1,76 @@ + + + + + implementations + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

implementations

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/index.html new file mode 100644 index 000000000..f3cdf75e1 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/index.html @@ -0,0 +1,183 @@ + + + + + SpecEvaluator + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

SpecEvaluator

+

Evaluates the rules. It first collects all scripts and divides it in the models and implementations. Then, it generates inputs for the rules and calls the rules with the found implementations.

+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val types: List<KClass<*>>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun addSpec(scriptClass: KClass<*>, scriptInstance: Any)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/rules.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/rules.html new file mode 100644 index 000000000..eed300ced --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/rules.html @@ -0,0 +1,76 @@ + + + + + rules + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

rules

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/types.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/types.html new file mode 100644 index 000000000..188c15608 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/-spec-evaluator/types.html @@ -0,0 +1,76 @@ + + + + + types + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

types

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/index.html new file mode 100644 index 000000000..2402ec23a --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host/index.html @@ -0,0 +1,114 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
class CokoExecutor(configuration: CokoConfiguration, backend: CokoBackend) : Executor

The Executor to evaluate Coko (codyze.kts) specification files.

+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+

Evaluates the rules. It first collects all scripts and divides it in the models and implementations. Then, it generates inputs for the rules and calls the rules with the found implementations.

+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/-coko-configuration.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/-coko-configuration.html new file mode 100644 index 000000000..982ea20e3 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/-coko-configuration.html @@ -0,0 +1,76 @@ + + + + + CokoConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoConfiguration

+
+
constructor(goodFindings: Boolean, pedantic: Boolean, spec: List<Path>, disabledSpecRules: List<String>)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/disabled-spec-rules.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/disabled-spec-rules.html new file mode 100644 index 000000000..3ea66b2ec --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/disabled-spec-rules.html @@ -0,0 +1,76 @@ + + + + + disabledSpecRules + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

disabledSpecRules

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/good-findings.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/good-findings.html new file mode 100644 index 000000000..aaebb2afc --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/good-findings.html @@ -0,0 +1,76 @@ + + + + + goodFindings + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

goodFindings

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/index.html new file mode 100644 index 000000000..7606c1350 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/index.html @@ -0,0 +1,164 @@ + + + + + CokoConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoConfiguration

+
data class CokoConfiguration(val goodFindings: Boolean, val pedantic: Boolean, val spec: List<Path>, val disabledSpecRules: List<String>) : ExecutorConfiguration(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(goodFindings: Boolean, pedantic: Boolean, spec: List<Path>, disabledSpecRules: List<String>)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+ +
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val spec: List<Path>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/pedantic.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/pedantic.html new file mode 100644 index 000000000..5743e9ed0 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/pedantic.html @@ -0,0 +1,76 @@ + + + + + pedantic + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

pedantic

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/spec.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/spec.html new file mode 100644 index 000000000..5a901b147 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-configuration/spec.html @@ -0,0 +1,76 @@ + + + + + spec + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

spec

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/-coko-sarif-builder.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/-coko-sarif-builder.html new file mode 100644 index 000000000..cf44dff65 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/-coko-sarif-builder.html @@ -0,0 +1,76 @@ + + + + + CokoSarifBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoSarifBuilder

+
+
constructor(rules: List<CokoRule>, backend: Backend)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/backend.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/backend.html new file mode 100644 index 000000000..ee1614490 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/backend.html @@ -0,0 +1,76 @@ + + + + + backend + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

backend

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/build-run.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/build-run.html new file mode 100644 index 000000000..7fffeae10 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/build-run.html @@ -0,0 +1,76 @@ + + + + + buildRun + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

buildRun

+
+
fun buildRun(findings: Map<CokoRule, List<Finding>>): Run(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/index.html new file mode 100644 index 000000000..12aa8af87 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/index.html @@ -0,0 +1,183 @@ + + + + + CokoSarifBuilder + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoSarifBuilder

+
class CokoSarifBuilder(val rules: List<CokoRule>, val backend: Backend)(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor(rules: List<CokoRule>, backend: Backend)
+
+
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val reportingDescriptors: List<ReportingDescriptor>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
val toolComponent: ToolComponent
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun buildRun(findings: Map<CokoRule, List<Finding>>): Run
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/reporting-descriptors.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/reporting-descriptors.html new file mode 100644 index 000000000..99045b035 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/reporting-descriptors.html @@ -0,0 +1,76 @@ + + + + + reportingDescriptors + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

reportingDescriptors

+
+
val reportingDescriptors: List<ReportingDescriptor>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/rules.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/rules.html new file mode 100644 index 000000000..66db56ed8 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/rules.html @@ -0,0 +1,76 @@ + + + + + rules + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

rules

+
+ +
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/tool-component.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/tool-component.html new file mode 100644 index 000000000..f97a47170 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-sarif-builder/tool-component.html @@ -0,0 +1,76 @@ + + + + + toolComponent + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

toolComponent

+
+
val toolComponent: ToolComponent(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/-coko-script.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/-coko-script.html new file mode 100644 index 000000000..7d0ef3d97 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/-coko-script.html @@ -0,0 +1,76 @@ + + + + + CokoScript + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoScript

+
+
constructor()(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/index.html new file mode 100644 index 000000000..cc589320c --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/index.html @@ -0,0 +1,119 @@ + + + + + CokoScript + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

CokoScript

+
open class CokoScript(source)
+
+
+
+
+
+

Constructors

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
constructor()
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun plugins(configure: PluginDependenciesSpec.() -> Unit)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/plugins.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/plugins.html new file mode 100644 index 000000000..ae472903b --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-coko-script/plugins.html @@ -0,0 +1,76 @@ + + + + + plugins + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

plugins

+
+
fun plugins(configure: PluginDependenciesSpec.() -> Unit)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/id.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/id.html new file mode 100644 index 000000000..fa1cdae50 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/id.html @@ -0,0 +1,76 @@ + + + + + id + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

id

+
+
abstract fun id(id: String)(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/index.html new file mode 100644 index 000000000..7fe982723 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-plugin-dependencies-spec/index.html @@ -0,0 +1,100 @@ + + + + + PluginDependenciesSpec + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

PluginDependenciesSpec

+ +
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
abstract fun id(id: String)
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-project-script-evaluation-configuration/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-project-script-evaluation-configuration/index.html new file mode 100644 index 000000000..c6bd1a6ee --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/-project-script-evaluation-configuration/index.html @@ -0,0 +1,209 @@ + + + + + ProjectScriptEvaluationConfiguration + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

ProjectScriptEvaluationConfiguration

+
object ProjectScriptEvaluationConfiguration : ScriptEvaluationConfiguration(source)
+
+
+
+
+
+

Properties

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
val notTransientData: Map<PropertiesCollection.Key<*>, Any?>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T> containsKey(key: PropertiesCollection.Key<T>): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun entries(): Set<Map.Entry<PropertiesCollection.Key<*>, Any?>>
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open operator override fun equals(other: Any?): Boolean
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
operator fun <T> get(key: PropertiesCollection.Key<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun <T> getNoDefault(key: PropertiesCollection.Key<T>): T?
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open override fun hashCode(): Int
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/configure-import-deps-on-annotations.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/configure-import-deps-on-annotations.html new file mode 100644 index 000000000..dde6021e6 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/configure-import-deps-on-annotations.html @@ -0,0 +1,76 @@ + + + + + configureImportDepsOnAnnotations + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

configureImportDepsOnAnnotations

+
+
fun configureImportDepsOnAnnotations(context: ScriptConfigurationRefinementContext): ResultWithDiagnostics<ScriptCompilationConfiguration>(source)
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/index.html new file mode 100644 index 000000000..37b9baca1 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl/index.html @@ -0,0 +1,178 @@ + + + + + de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

Package-level declarations

+
+
+
+
+
+

Types

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
data class CokoConfiguration(val goodFindings: Boolean, val pedantic: Boolean, val spec: List<Path>, val disabledSpecRules: List<String>) : ExecutorConfiguration
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
class CokoSarifBuilder(val rules: List<CokoRule>, val backend: Backend)
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
open class CokoScript
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+ +
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
object ProjectScriptEvaluationConfiguration : ScriptEvaluationConfiguration
+
+
+
+
+
+
+
+

Functions

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
fun configureImportDepsOnAnnotations(context: ScriptConfigurationRefinementContext): ResultWithDiagnostics<ScriptCompilationConfiguration>
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/index.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/index.html new file mode 100644 index 000000000..bf434a370 --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/index.html @@ -0,0 +1,131 @@ + + + + + coko-dsl + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

coko-dsl

+
+

Packages

+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/api/codyze/codyze-specification-languages/coko/coko-dsl/navigation.html b/api/codyze/codyze-specification-languages/coko/coko-dsl/navigation.html new file mode 100644 index 000000000..0c2f6a8fa --- /dev/null +++ b/api/codyze/codyze-specification-languages/coko/coko-dsl/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/images/anchor-copy-button.svg b/api/codyze/images/anchor-copy-button.svg new file mode 100644 index 000000000..19c1fa3f4 --- /dev/null +++ b/api/codyze/images/anchor-copy-button.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/api/codyze/images/arrow_down.svg b/api/codyze/images/arrow_down.svg new file mode 100644 index 000000000..639aaf12c --- /dev/null +++ b/api/codyze/images/arrow_down.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/api/codyze/images/burger.svg b/api/codyze/images/burger.svg new file mode 100644 index 000000000..fcca732b7 --- /dev/null +++ b/api/codyze/images/burger.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/api/codyze/images/copy-icon.svg b/api/codyze/images/copy-icon.svg new file mode 100644 index 000000000..2cb02ec6e --- /dev/null +++ b/api/codyze/images/copy-icon.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/api/codyze/images/copy-successful-icon.svg b/api/codyze/images/copy-successful-icon.svg new file mode 100644 index 000000000..c4b95383d --- /dev/null +++ b/api/codyze/images/copy-successful-icon.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/api/codyze/images/footer-go-to-link.svg b/api/codyze/images/footer-go-to-link.svg new file mode 100644 index 000000000..a87add7a3 --- /dev/null +++ b/api/codyze/images/footer-go-to-link.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/api/codyze/images/go-to-top-icon.svg b/api/codyze/images/go-to-top-icon.svg new file mode 100644 index 000000000..abc3d1cef --- /dev/null +++ b/api/codyze/images/go-to-top-icon.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/api/codyze/images/logo-icon.svg b/api/codyze/images/logo-icon.svg new file mode 100644 index 000000000..e42f9570c --- /dev/null +++ b/api/codyze/images/logo-icon.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/abstract-class-kotlin.svg b/api/codyze/images/nav-icons/abstract-class-kotlin.svg new file mode 100644 index 000000000..19d6148ca --- /dev/null +++ b/api/codyze/images/nav-icons/abstract-class-kotlin.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/abstract-class.svg b/api/codyze/images/nav-icons/abstract-class.svg new file mode 100644 index 000000000..601820302 --- /dev/null +++ b/api/codyze/images/nav-icons/abstract-class.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/annotation-kotlin.svg b/api/codyze/images/nav-icons/annotation-kotlin.svg new file mode 100644 index 000000000..b90f508c4 --- /dev/null +++ b/api/codyze/images/nav-icons/annotation-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/annotation.svg b/api/codyze/images/nav-icons/annotation.svg new file mode 100644 index 000000000..b80c54b4b --- /dev/null +++ b/api/codyze/images/nav-icons/annotation.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/class-kotlin.svg b/api/codyze/images/nav-icons/class-kotlin.svg new file mode 100644 index 000000000..797a2423c --- /dev/null +++ b/api/codyze/images/nav-icons/class-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/class.svg b/api/codyze/images/nav-icons/class.svg new file mode 100644 index 000000000..3f1ad167e --- /dev/null +++ b/api/codyze/images/nav-icons/class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/enum-kotlin.svg b/api/codyze/images/nav-icons/enum-kotlin.svg new file mode 100644 index 000000000..775a7cc90 --- /dev/null +++ b/api/codyze/images/nav-icons/enum-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/enum.svg b/api/codyze/images/nav-icons/enum.svg new file mode 100644 index 000000000..fa7f24766 --- /dev/null +++ b/api/codyze/images/nav-icons/enum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/exception-class.svg b/api/codyze/images/nav-icons/exception-class.svg new file mode 100644 index 000000000..c0b2bdeba --- /dev/null +++ b/api/codyze/images/nav-icons/exception-class.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/field-value.svg b/api/codyze/images/nav-icons/field-value.svg new file mode 100644 index 000000000..2771ee56c --- /dev/null +++ b/api/codyze/images/nav-icons/field-value.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/api/codyze/images/nav-icons/field-variable.svg b/api/codyze/images/nav-icons/field-variable.svg new file mode 100644 index 000000000..e2d2bbd01 --- /dev/null +++ b/api/codyze/images/nav-icons/field-variable.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/api/codyze/images/nav-icons/function.svg b/api/codyze/images/nav-icons/function.svg new file mode 100644 index 000000000..f0da64a0b --- /dev/null +++ b/api/codyze/images/nav-icons/function.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/interface-kotlin.svg b/api/codyze/images/nav-icons/interface-kotlin.svg new file mode 100644 index 000000000..5e163260e --- /dev/null +++ b/api/codyze/images/nav-icons/interface-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/interface.svg b/api/codyze/images/nav-icons/interface.svg new file mode 100644 index 000000000..32063ba26 --- /dev/null +++ b/api/codyze/images/nav-icons/interface.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/api/codyze/images/nav-icons/object.svg b/api/codyze/images/nav-icons/object.svg new file mode 100644 index 000000000..31f0ee3e6 --- /dev/null +++ b/api/codyze/images/nav-icons/object.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/nav-icons/typealias-kotlin.svg b/api/codyze/images/nav-icons/typealias-kotlin.svg new file mode 100644 index 000000000..f4bb238b5 --- /dev/null +++ b/api/codyze/images/nav-icons/typealias-kotlin.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/api/codyze/images/theme-toggle.svg b/api/codyze/images/theme-toggle.svg new file mode 100644 index 000000000..df86202bb --- /dev/null +++ b/api/codyze/images/theme-toggle.svg @@ -0,0 +1,7 @@ + + + + + diff --git a/api/codyze/index.html b/api/codyze/index.html new file mode 100644 index 000000000..1a274506e --- /dev/null +++ b/api/codyze/index.html @@ -0,0 +1,133 @@ + + + + + All modules + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ +
+

All modules:

+
+
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+ +
+
+
+ + +
Link copied to clipboard
+
+
+
+
+
+
+
+ +
+
+
+ + diff --git a/api/codyze/navigation.html b/api/codyze/navigation.html new file mode 100644 index 000000000..315f98a5c --- /dev/null +++ b/api/codyze/navigation.html @@ -0,0 +1,807 @@ +
+
+
+ cpg +
+ + + +
+ +
+
+ cpg +
+
+
+
+ cpgCall() +
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+ +
+ + +
+
+ +
+ +
+ +
+
+
+ CodyzeCli +
+
+ + + + +
+ +
+
+ Companion +
+
+
+
+
+ main() +
+
+
+ +
+
+
+
+ + + + + + +
+
+
+ coko-core +
+
+ +
+ +
+
+ +
+
+
+ CokoRule +
+
+ +
+
+ Evaluator +
+
+
+
+ Finding +
+
+
+ Kind +
+
+
+ Fail +
+
+
+ +
+
+ +
+
+
+ Open +
+
+
+
+ Pass +
+
+
+
+ Review +
+
+
+
+
+ +
+
+
+ +
+
+ atLeast() +
+
+
+
+ between() +
+
+
+ +
+
+ +
+
+
+ count() +
+
+
+ +
+
+ +
+
+
+ group() +
+
+
+
+ Import +
+
+
+
+ maybe() +
+
+
+
+ Op +
+
+
+
+ op() +
+
+
+
+ option() +
+
+
+
+ or() +
+
+
+
+ Order +
+
+
+ +
+
+
+ Precision +
+
+
+ VERY_HIGH +
+
+
+
+ HIGH +
+
+
+
+ MEDIUM +
+
+
+
+ LOW +
+
+
+
+ UNKNOWN +
+
+
+
+
+ Rule +
+
+
+
+ set +
+
+
+
+ Severity +
+
+
+ INFO +
+
+
+
+ WARNING +
+
+
+
+ ERROR +
+
+
+
+ +
+
+
+ some() +
+
+
+
+ Type +
+
+
+ +
+
+
+ Wildcard +
+
+
+
+ wildcard +
+
+
+ +
+
+ +
+ + +
+
+ getOp() +
+
+
+ +
+
+ +
+
+ +
+
+
+ OrderNode +
+
+
+ +
+
+ COUNT +
+
+
+
+ BETWEEN +
+
+
+
+ ATLEAST +
+
+
+
+ MAYBE +
+
+
+
+ OPTION +
+
+
+
+
+ OrderSet +
+
+ +
+ +
+ + + +
+
+
+
+ coko-dsl +
+ + + +
+
diff --git a/api/codyze/package-list b/api/codyze/package-list new file mode 100644 index 000000000..0c2bfd4dd --- /dev/null +++ b/api/codyze/package-list @@ -0,0 +1,27 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html + +module:codyze-cli +de.fraunhofer.aisec.codyze.cli +module:codyze-core +de.fraunhofer.aisec.codyze.core +de.fraunhofer.aisec.codyze.core.backend +de.fraunhofer.aisec.codyze.core.config +de.fraunhofer.aisec.codyze.core.executor +de.fraunhofer.aisec.codyze.core.output +module:cpg +de.fraunhofer.aisec.codyze.backends.cpg +de.fraunhofer.aisec.codyze.backends.cpg.cli +de.fraunhofer.aisec.codyze.backends.cpg.coko +de.fraunhofer.aisec.codyze.backends.cpg.coko.dsl +de.fraunhofer.aisec.codyze.backends.cpg.coko.evaluators +de.fraunhofer.aisec.codyze.backends.cpg.coko.ordering +module:coko-core +de.fraunhofer.aisec.codyze.specificationLanguages.coko.core +de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.dsl +de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.modelling +de.fraunhofer.aisec.codyze.specificationLanguages.coko.core.ordering +module:coko-dsl +de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl +de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.cli +de.fraunhofer.aisec.codyze.specificationLanguages.coko.dsl.host diff --git a/api/codyze/scripts/clipboard.js b/api/codyze/scripts/clipboard.js new file mode 100644 index 000000000..7a4f33c59 --- /dev/null +++ b/api/codyze/scripts/clipboard.js @@ -0,0 +1,56 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/api/codyze/scripts/main.js b/api/codyze/scripts/main.js new file mode 100644 index 000000000..ba6c34739 --- /dev/null +++ b/api/codyze/scripts/main.js @@ -0,0 +1,44 @@ +(()=>{var e={8527:e=>{e.exports=''},5570:e=>{e.exports=''},107:e=>{e.exports=''},7224:e=>{e.exports=''},538:e=>{e.exports=''},1924:(e,n,t)=>{"use strict";var r=t(210),o=t(5559),i=o(r("String.prototype.indexOf"));e.exports=function(e,n){var t=r(e,!!n);return"function"==typeof t&&i(e,".prototype.")>-1?o(t):t}},5559:(e,n,t)=>{"use strict";var r=t(8612),o=t(210),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),l=o("%Reflect.apply%",!0)||r.call(a,i),c=o("%Object.getOwnPropertyDescriptor%",!0),u=o("%Object.defineProperty%",!0),s=o("%Math.max%");if(u)try{u({},"a",{value:1})}catch(e){u=null}e.exports=function(e){var n=l(r,a,arguments);if(c&&u){var t=c(n,"length");t.configurable&&u(n,"length",{value:1+s(0,e.length-(arguments.length-1))})}return n};var f=function(){return l(r,i,arguments)};u?u(e.exports,"apply",{value:f}):e.exports.apply=f},4184:(e,n)=>{var t; +/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var r={}.hasOwnProperty;function o(){for(var e=[],n=0;n{"use strict";e.exports=function(e,n){var t=this,r=t.constructor;return t.options=Object.assign({storeInstancesGlobally:!0},n||{}),t.callbacks={},t.directMap={},t.sequenceLevels={},t.resetTimer=null,t.ignoreNextKeyup=!1,t.ignoreNextKeypress=!1,t.nextExpectedAction=!1,t.element=e,t.addEvents(),t.options.storeInstancesGlobally&&r.instances.push(t),t},e.exports.prototype.bind=t(2207),e.exports.prototype.bindMultiple=t(3396),e.exports.prototype.unbind=t(9208),e.exports.prototype.trigger=t(9855),e.exports.prototype.reset=t(6214),e.exports.prototype.stopCallback=t(3450),e.exports.prototype.handleKey=t(3067),e.exports.prototype.addEvents=t(718),e.exports.prototype.bindSingle=t(8763),e.exports.prototype.getKeyInfo=t(5825),e.exports.prototype.pickBestAction=t(8608),e.exports.prototype.getReverseMap=t(3956),e.exports.prototype.getMatches=t(3373),e.exports.prototype.resetSequences=t(3346),e.exports.prototype.fireCallback=t(2684),e.exports.prototype.bindSequence=t(7103),e.exports.prototype.resetSequenceTimer=t(7309),e.exports.prototype.detach=t(7554),e.exports.instances=[],e.exports.reset=t(1822),e.exports.REVERSE_MAP=null},718:(e,n,t)=>{"use strict";e.exports=function(){var e=this,n=t(4323),r=e.element;e.eventHandler=t(9646).bind(e),n(r,"keypress",e.eventHandler),n(r,"keydown",e.eventHandler),n(r,"keyup",e.eventHandler)}},2207:e=>{"use strict";e.exports=function(e,n,t){return e=e instanceof Array?e:[e],this.bindMultiple(e,n,t),this}},3396:e=>{"use strict";e.exports=function(e,n,t){for(var r=0;r{"use strict";e.exports=function(e,n,r,o){var i=this;function a(n){return function(){i.nextExpectedAction=n,++i.sequenceLevels[e],i.resetSequenceTimer()}}function l(n){var a;i.fireCallback(r,n,e),"keyup"!==o&&(a=t(6770),i.ignoreNextKeyup=a(n)),setTimeout((function(){i.resetSequences()}),10)}i.sequenceLevels[e]=0;for(var c=0;c{"use strict";e.exports=function(e,n,t,r,o){var i=this;i.directMap[e+":"+t]=n;var a,l=(e=e.replace(/\s+/g," ")).split(" ");l.length>1?i.bindSequence(e,l,n,t):(a=i.getKeyInfo(e,t),i.callbacks[a.key]=i.callbacks[a.key]||[],i.getMatches(a.key,a.modifiers,{type:a.action},r,e,o),i.callbacks[a.key][r?"unshift":"push"]({callback:n,modifiers:a.modifiers,action:a.action,seq:r,level:o,combo:e}))}},7554:(e,n,t)=>{var r=t(4323).off;e.exports=function(){var e=this,n=e.element;r(n,"keypress",e.eventHandler),r(n,"keydown",e.eventHandler),r(n,"keyup",e.eventHandler)}},4323:e=>{function n(e,n,t,r){return!e.addEventListener&&(n="on"+n),(e.addEventListener||e.attachEvent).call(e,n,t,r),t}e.exports=n,e.exports.on=n,e.exports.off=function(e,n,t,r){return!e.removeEventListener&&(n="on"+n),(e.removeEventListener||e.detachEvent).call(e,n,t,r),t}},2684:(e,n,t)=>{"use strict";e.exports=function(e,n,r,o){this.stopCallback(n,n.target||n.srcElement,r,o)||!1===e(n,r)&&(t(1350)(n),t(6103)(n))}},5825:(e,n,t)=>{"use strict";e.exports=function(e,n){var r,o,i,a,l,c,u=[];for(r=t(4520)(e),a=t(7549),l=t(5355),c=t(8581),i=0;i{"use strict";e.exports=function(e,n,r,o,i,a){var l,c,u,s,f=this,p=[],d=r.type;"keypress"!==d||r.code&&"Arrow"===r.code.slice(0,5)||(f.callbacks["any-character"]||[]).forEach((function(e){p.push(e)}));if(!f.callbacks[e])return p;for(u=t(8581),"keyup"===d&&u(e)&&(n=[e]),l=0;l{"use strict";e.exports=function(){var e,n=this.constructor;if(!n.REVERSE_MAP)for(var r in n.REVERSE_MAP={},e=t(4766))r>95&&r<112||e.hasOwnProperty(r)&&(n.REVERSE_MAP[e[r]]=r);return n.REVERSE_MAP}},3067:(e,n,t)=>{"use strict";e.exports=function(e,n,r){var o,i,a,l,c=this,u={},s=0,f=!1;for(o=c.getMatches(e,n,r),i=0;i{"use strict";e.exports=function(e){var n,r=this;"number"!=typeof e.which&&(e.which=e.keyCode);var o=t(6770)(e);void 0!==o&&("keyup"!==e.type||r.ignoreNextKeyup!==o?(n=t(4610),r.handleKey(o,n(e),e)):r.ignoreNextKeyup=!1)}},5532:e=>{"use strict";e.exports=function(e,n){return e.sort().join(",")===n.sort().join(",")}},8608:e=>{"use strict";e.exports=function(e,n,t){return t||(t=this.getReverseMap()[e]?"keydown":"keypress"),"keypress"===t&&n.length&&(t="keydown"),t}},6214:e=>{"use strict";e.exports=function(){return this.callbacks={},this.directMap={},this}},7309:e=>{"use strict";e.exports=function(){var e=this;clearTimeout(e.resetTimer),e.resetTimer=setTimeout((function(){e.resetSequences()}),1e3)}},3346:e=>{"use strict";e.exports=function(e){var n=this;e=e||{};var t,r=!1;for(t in n.sequenceLevels)e[t]?r=!0:n.sequenceLevels[t]=0;r||(n.nextExpectedAction=!1)}},3450:e=>{"use strict";e.exports=function(e,n){if((" "+n.className+" ").indexOf(" combokeys ")>-1)return!1;var t=n.tagName.toLowerCase();return"input"===t||"select"===t||"textarea"===t||n.isContentEditable}},9855:e=>{"use strict";e.exports=function(e,n){return this.directMap[e+":"+n]&&this.directMap[e+":"+n]({},e),this}},9208:e=>{"use strict";e.exports=function(e,n){return this.bind(e,(function(){}),n)}},1822:e=>{"use strict";e.exports=function(){this.instances.forEach((function(e){e.reset()}))}},6770:(e,n,t)=>{"use strict";e.exports=function(e){var n,r;if(n=t(4766),r=t(5295),"keypress"===e.type){var o=String.fromCharCode(e.which);return e.shiftKey||(o=o.toLowerCase()),o}return void 0!==n[e.which]?n[e.which]:void 0!==r[e.which]?r[e.which]:String.fromCharCode(e.which).toLowerCase()}},4610:e=>{"use strict";e.exports=function(e){var n=[];return e.shiftKey&&n.push("shift"),e.altKey&&n.push("alt"),e.ctrlKey&&n.push("ctrl"),e.metaKey&&n.push("meta"),n}},8581:e=>{"use strict";e.exports=function(e){return"shift"===e||"ctrl"===e||"alt"===e||"meta"===e}},4520:e=>{"use strict";e.exports=function(e){return"+"===e?["+"]:e.split("+")}},1350:e=>{"use strict";e.exports=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1}},5355:e=>{"use strict";e.exports={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"}},7549:e=>{"use strict";e.exports={option:"alt",command:"meta",return:"enter",escape:"esc",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"}},5295:e=>{"use strict";e.exports={106:"*",107:"plus",109:"minus",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"}},4766:e=>{"use strict";e.exports={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",173:"minus",187:"plus",189:"minus",224:"meta"};for(var n=1;n<20;++n)e.exports[111+n]="f"+n;for(n=0;n<=9;++n)e.exports[n+96]=n},6103:e=>{"use strict";e.exports=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}},3362:()=>{var e;!function(){var e=Math.PI,n=2*e,t=e/180,r=document.createElement("div");document.head.appendChild(r);var o=self.ConicGradient=function(e){o.all.push(this),e=e||{},this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.repeating=!!e.repeating,this.size=e.size||Math.max(innerWidth,innerHeight),this.canvas.width=this.canvas.height=this.size;var n=e.stops;this.stops=(n||"").split(/\s*,(?![^(]*\))\s*/),this.from=0;for(var t=0;t0){var i=this.stops[0].clone();i.pos=0,this.stops.unshift(i)}if(void 0===this.stops[this.stops.length-1].pos)this.stops[this.stops.length-1].pos=1;else if(!this.repeating&&this.stops[this.stops.length-1].pos<1){var a=this.stops[this.stops.length-1].clone();a.pos=1,this.stops.push(a)}if(this.stops.forEach((function(e,n){if(void 0===e.pos){for(var t=n+1;this[t];t++)if(void 0!==this[t].pos){e.pos=this[n-1].pos+(this[t].pos-this[n-1].pos)/(t-n+1);break}}else n>0&&(e.pos=Math.max(e.pos,this[n-1].pos))}),this.stops),this.repeating){var l=(n=this.stops.slice())[n.length-1].pos-n[0].pos;for(t=0;this.stops[this.stops.length-1].pos<1&&t<1e4;t++)for(var c=0;c'},get png(){return this.canvas.toDataURL()},get r(){return Math.sqrt(2)*this.size/2},paint:function(){var e,n,r,o=this.context,i=this.r,a=this.size/2,l=0,c=this.stops[l];o.translate(this.size/2,this.size/2),o.rotate(-90*t),o.rotate(this.from*t),o.translate(-this.size/2,-this.size/2);for(var u=0;u<360;){if(u/360+1e-5>=c.pos){do{e=c,l++,c=this.stops[l]}while(c&&c!=e&&c.pos===e.pos);if(!c)break;var s=e.color+""==c.color+""&&e!=c;n=e.color.map((function(e,n){return c.color[n]-e}))}r=(u/360-e.pos)/(c.pos-e.pos);var f=s?c.color:n.map((function(n,t){var o=n*r+e.color[t];return t<3?255&o:o}));if(o.fillStyle="rgba("+f.join(",")+")",o.beginPath(),o.moveTo(a,a),s)var p=360*(c.pos-e.pos);else p=.5;var d=u*t,h=(d=Math.min(360*t,d))+p*t;h=Math.min(360*t,h+.02),o.arc(a,a,i,d,h),o.closePath(),o.fill(),u+=p}}},o.ColorStop=function(e,t){if(this.gradient=e,t){var r=t.match(/^(.+?)(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?(?:\s+([\d.]+)(%|deg|turn|grad|rad)?)?\s*$/);if(this.color=o.ColorStop.colorToRGBA(r[1]),r[2]){var i=r[3];"%"==i||"0"===r[2]&&!i?this.pos=r[2]/100:"turn"==i?this.pos=+r[2]:"deg"==i?this.pos=r[2]/360:"grad"==i?this.pos=r[2]/400:"rad"==i&&(this.pos=r[2]/n)}r[4]&&(this.next=new o.ColorStop(e,r[1]+" "+r[4]+r[5]))}},o.ColorStop.prototype={clone:function(){var e=new o.ColorStop(this.gradient);return e.color=this.color,e.pos=this.pos,e},toString:function(){return"rgba("+this.color.join(", ")+") "+100*this.pos+"%"}},o.ColorStop.colorToRGBA=function(e){if(!Array.isArray(e)&&-1==e.indexOf("from")){r.style.color=e;var n=getComputedStyle(r).color.match(/rgba?\(([\d.]+), ([\d.]+), ([\d.]+)(?:, ([\d.]+))?\)/);return n&&(n.shift(),(n=n.map((function(e){return+e})))[3]=isNaN(n[3])?1:n[3]),n||[0,0,0,0]}return e}}(),self.StyleFix&&((e=document.createElement("p")).style.backgroundImage="conic-gradient(white, black)",e.style.backgroundImage=PrefixFree.prefix+"conic-gradient(white, black)",e.style.backgroundImage||StyleFix.register((function(e,n){return e.indexOf("conic-gradient")>-1&&(e=e.replace(/(?:repeating-)?conic-gradient\(\s*((?:\([^()]+\)|[^;()}])+?)\)/g,(function(e,n){return new ConicGradient({stops:n,repeating:e.indexOf("repeating-")>-1})}))),e})))},9662:(e,n,t)=>{var r=t(7854),o=t(614),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a function")}},9483:(e,n,t)=>{var r=t(7854),o=t(4411),i=t(6330),a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not a constructor")}},6077:(e,n,t)=>{var r=t(7854),o=t(614),i=r.String,a=r.TypeError;e.exports=function(e){if("object"==typeof e||o(e))return e;throw a("Can't set "+i(e)+" as a prototype")}},1223:(e,n,t)=>{var r=t(5112),o=t(30),i=t(3070),a=r("unscopables"),l=Array.prototype;null==l[a]&&i.f(l,a,{configurable:!0,value:o(null)}),e.exports=function(e){l[a][e]=!0}},1530:(e,n,t)=>{"use strict";var r=t(8710).charAt;e.exports=function(e,n,t){return n+(t?r(e,n).length:1)}},5787:(e,n,t)=>{var r=t(7854),o=t(7976),i=r.TypeError;e.exports=function(e,n){if(o(n,e))return e;throw i("Incorrect invocation")}},9670:(e,n,t)=>{var r=t(7854),o=t(111),i=r.String,a=r.TypeError;e.exports=function(e){if(o(e))return e;throw a(i(e)+" is not an object")}},7556:(e,n,t)=>{var r=t(7293);e.exports=r((function(){if("function"==typeof ArrayBuffer){var e=new ArrayBuffer(8);Object.isExtensible(e)&&Object.defineProperty(e,"a",{value:8})}}))},8533:(e,n,t)=>{"use strict";var r=t(2092).forEach,o=t(9341)("forEach");e.exports=o?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:(e,n,t)=>{"use strict";var r=t(7854),o=t(9974),i=t(6916),a=t(7908),l=t(3411),c=t(7659),u=t(4411),s=t(6244),f=t(6135),p=t(8554),d=t(1246),h=r.Array;e.exports=function(e){var n=a(e),t=u(this),r=arguments.length,g=r>1?arguments[1]:void 0,v=void 0!==g;v&&(g=o(g,r>2?arguments[2]:void 0));var A,b,m,y,E,_,C=d(n),w=0;if(!C||this==h&&c(C))for(A=s(n),b=t?new this(A):h(A);A>w;w++)_=v?g(n[w],w):n[w],f(b,w,_);else for(E=(y=p(n,C)).next,b=t?new this:[];!(m=i(E,y)).done;w++)_=v?l(y,g,[m.value,w],!0):m.value,f(b,w,_);return b.length=w,b}},1318:(e,n,t)=>{var r=t(5656),o=t(1400),i=t(6244),a=function(e){return function(n,t,a){var l,c=r(n),u=i(c),s=o(a,u);if(e&&t!=t){for(;u>s;)if((l=c[s++])!=l)return!0}else for(;u>s;s++)if((e||s in c)&&c[s]===t)return e||s||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:(e,n,t)=>{var r=t(9974),o=t(1702),i=t(8361),a=t(7908),l=t(6244),c=t(5417),u=o([].push),s=function(e){var n=1==e,t=2==e,o=3==e,s=4==e,f=6==e,p=7==e,d=5==e||f;return function(h,g,v,A){for(var b,m,y=a(h),E=i(y),_=r(g,v),C=l(E),w=0,x=A||c,k=n?x(h,C):t||p?x(h,0):void 0;C>w;w++)if((d||w in E)&&(m=_(b=E[w],w,y),e))if(n)k[w]=m;else if(m)switch(e){case 3:return!0;case 5:return b;case 6:return w;case 2:u(k,b)}else switch(e){case 4:return!1;case 7:u(k,b)}return f?-1:o||s?s:k}};e.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6),filterReject:s(7)}},1194:(e,n,t)=>{var r=t(7293),o=t(5112),i=t(7392),a=o("species");e.exports=function(e){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[e](Boolean).foo}))}},9341:(e,n,t)=>{"use strict";var r=t(7293);e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},3671:(e,n,t)=>{var r=t(7854),o=t(9662),i=t(7908),a=t(8361),l=t(6244),c=r.TypeError,u=function(e){return function(n,t,r,u){o(t);var s=i(n),f=a(s),p=l(s),d=e?p-1:0,h=e?-1:1;if(r<2)for(;;){if(d in f){u=f[d],d+=h;break}if(d+=h,e?d<0:p<=d)throw c("Reduce of empty array with no initial value")}for(;e?d>=0:p>d;d+=h)d in f&&(u=t(u,f[d],d,s));return u}};e.exports={left:u(!1),right:u(!0)}},206:(e,n,t)=>{var r=t(1702);e.exports=r([].slice)},4362:(e,n,t)=>{var r=t(206),o=Math.floor,i=function(e,n){var t=e.length,c=o(t/2);return t<8?a(e,n):l(e,i(r(e,0,c),n),i(r(e,c),n),n)},a=function(e,n){for(var t,r,o=e.length,i=1;i0;)e[r]=e[--r];r!==i++&&(e[r]=t)}return e},l=function(e,n,t,r){for(var o=n.length,i=t.length,a=0,l=0;a{var r=t(7854),o=t(3157),i=t(4411),a=t(111),l=t(5112)("species"),c=r.Array;e.exports=function(e){var n;return o(e)&&(n=e.constructor,(i(n)&&(n===c||o(n.prototype))||a(n)&&null===(n=n[l]))&&(n=void 0)),void 0===n?c:n}},5417:(e,n,t)=>{var r=t(7475);e.exports=function(e,n){return new(r(e))(0===n?0:n)}},3411:(e,n,t)=>{var r=t(9670),o=t(9212);e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(n){o(e,"throw",n)}}},7072:(e,n,t)=>{var r=t(5112)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,n){if(!n&&!o)return!1;var t=!1;try{var i={};i[r]=function(){return{next:function(){return{done:t=!0}}}},e(i)}catch(e){}return t}},4326:(e,n,t)=>{var r=t(1702),o=r({}.toString),i=r("".slice);e.exports=function(e){return i(o(e),8,-1)}},648:(e,n,t)=>{var r=t(7854),o=t(1694),i=t(614),a=t(4326),l=t(5112)("toStringTag"),c=r.Object,u="Arguments"==a(function(){return arguments}());e.exports=o?a:function(e){var n,t,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(t=function(e,n){try{return e[n]}catch(e){}}(n=c(e),l))?t:u?a(n):"Object"==(r=a(n))&&i(n.callee)?"Arguments":r}},5631:(e,n,t)=>{"use strict";var r=t(3070).f,o=t(30),i=t(2248),a=t(9974),l=t(5787),c=t(408),u=t(654),s=t(6340),f=t(9781),p=t(2423).fastKey,d=t(9909),h=d.set,g=d.getterFor;e.exports={getConstructor:function(e,n,t,u){var s=e((function(e,r){l(e,d),h(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),null!=r&&c(r,e[u],{that:e,AS_ENTRIES:t})})),d=s.prototype,v=g(n),A=function(e,n,t){var r,o,i=v(e),a=b(e,n);return a?a.value=t:(i.last=a={index:o=p(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},b=function(e,n){var t,r=v(e),o=p(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(d,{clear:function(){for(var e=v(this),n=e.index,t=e.first;t;)t.removed=!0,t.previous&&(t.previous=t.previous.next=void 0),delete n[t.index],t=t.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var n=this,t=v(n),r=b(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),f?t.size--:n.size--}return!!r},forEach:function(e){for(var n,t=v(this),r=a(e,arguments.length>1?arguments[1]:void 0);n=n?n.next:t.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(e){return!!b(this,e)}}),i(d,t?{get:function(e){var n=b(this,e);return n&&n.value},set:function(e,n){return A(this,0===e?0:e,n)}}:{add:function(e){return A(this,e=0===e?0:e,e)}}),f&&r(d,"size",{get:function(){return v(this).size}}),s},setStrong:function(e,n,t){var r=n+" Iterator",o=g(n),i=g(r);u(e,n,(function(e,n){h(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){for(var e=i(this),n=e.kind,t=e.last;t&&t.removed;)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),s(n)}}},9320:(e,n,t)=>{"use strict";var r=t(1702),o=t(2248),i=t(2423).getWeakData,a=t(9670),l=t(111),c=t(5787),u=t(408),s=t(2092),f=t(2597),p=t(9909),d=p.set,h=p.getterFor,g=s.find,v=s.findIndex,A=r([].splice),b=0,m=function(e){return e.frozen||(e.frozen=new y)},y=function(){this.entries=[]},E=function(e,n){return g(e.entries,(function(e){return e[0]===n}))};y.prototype={get:function(e){var n=E(this,e);if(n)return n[1]},has:function(e){return!!E(this,e)},set:function(e,n){var t=E(this,e);t?t[1]=n:this.entries.push([e,n])},delete:function(e){var n=v(this.entries,(function(n){return n[0]===e}));return~n&&A(this.entries,n,1),!!~n}},e.exports={getConstructor:function(e,n,t,r){var s=e((function(e,o){c(e,p),d(e,{type:n,id:b++,frozen:void 0}),null!=o&&u(o,e[r],{that:e,AS_ENTRIES:t})})),p=s.prototype,g=h(n),v=function(e,n,t){var r=g(e),o=i(a(n),!0);return!0===o?m(r).set(n,t):o[r.id]=t,e};return o(p,{delete:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).delete(e):t&&f(t,n.id)&&delete t[n.id]},has:function(e){var n=g(this);if(!l(e))return!1;var t=i(e);return!0===t?m(n).has(e):t&&f(t,n.id)}}),o(p,t?{get:function(e){var n=g(this);if(l(e)){var t=i(e);return!0===t?m(n).get(e):t?t[n.id]:void 0}},set:function(e,n){return v(this,e,n)}}:{add:function(e){return v(this,e,!0)}}),s}}},7710:(e,n,t)=>{"use strict";var r=t(2109),o=t(7854),i=t(1702),a=t(4705),l=t(1320),c=t(2423),u=t(408),s=t(5787),f=t(614),p=t(111),d=t(7293),h=t(7072),g=t(8003),v=t(9587);e.exports=function(e,n,t){var A=-1!==e.indexOf("Map"),b=-1!==e.indexOf("Weak"),m=A?"set":"add",y=o[e],E=y&&y.prototype,_=y,C={},w=function(e){var n=i(E[e]);l(E,e,"add"==e?function(e){return n(this,0===e?0:e),this}:"delete"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:"get"==e?function(e){return b&&!p(e)?void 0:n(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!p(e))&&n(this,0===e?0:e)}:function(e,t){return n(this,0===e?0:e,t),this})};if(a(e,!f(y)||!(b||E.forEach&&!d((function(){(new y).entries().next()})))))_=t.getConstructor(n,e,A,m),c.enable();else if(a(e,!0)){var x=new _,k=x[m](b?{}:-0,1)!=x,S=d((function(){x.has(1)})),O=h((function(e){new y(e)})),B=!b&&d((function(){for(var e=new y,n=5;n--;)e[m](n,n);return!e.has(-0)}));O||((_=n((function(e,n){s(e,E);var t=v(new y,e,_);return null!=n&&u(n,t[m],{that:t,AS_ENTRIES:A}),t}))).prototype=E,E.constructor=_),(S||B)&&(w("delete"),w("has"),A&&w("get")),(B||k)&&w(m),b&&E.clear&&delete E.clear}return C[e]=_,r({global:!0,forced:_!=y},C),g(_,e),b||t.setStrong(_,e,A),_}},9920:(e,n,t)=>{var r=t(2597),o=t(3887),i=t(1236),a=t(3070);e.exports=function(e,n){for(var t=o(n),l=a.f,c=i.f,u=0;u{var r=t(5112)("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[r]=!1,"/./"[e](n)}catch(e){}}return!1}},8544:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},4230:(e,n,t)=>{var r=t(1702),o=t(4488),i=t(1340),a=/"/g,l=r("".replace);e.exports=function(e,n,t,r){var c=i(o(e)),u="<"+n;return""!==t&&(u+=" "+t+'="'+l(i(r),a,""")+'"'),u+">"+c+""}},4994:(e,n,t)=>{"use strict";var r=t(3383).IteratorPrototype,o=t(30),i=t(9114),a=t(8003),l=t(7497),c=function(){return this};e.exports=function(e,n,t){var u=n+" Iterator";return e.prototype=o(r,{next:i(1,t)}),a(e,u,!1,!0),l[u]=c,e}},8880:(e,n,t)=>{var r=t(9781),o=t(3070),i=t(9114);e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}},9114:e=>{e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},6135:(e,n,t)=>{"use strict";var r=t(4948),o=t(3070),i=t(9114);e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},8709:(e,n,t)=>{"use strict";var r=t(7854),o=t(9670),i=t(2140),a=r.TypeError;e.exports=function(e){if(o(this),"string"===e||"default"===e)e="string";else if("number"!==e)throw a("Incorrect hint");return i(this,e)}},654:(e,n,t)=>{"use strict";var r=t(2109),o=t(6916),i=t(1913),a=t(6530),l=t(614),c=t(4994),u=t(9518),s=t(7674),f=t(8003),p=t(8880),d=t(1320),h=t(5112),g=t(7497),v=t(3383),A=a.PROPER,b=a.CONFIGURABLE,m=v.IteratorPrototype,y=v.BUGGY_SAFARI_ITERATORS,E=h("iterator"),_="keys",C="values",w="entries",x=function(){return this};e.exports=function(e,n,t,a,h,v,k){c(t,n,a);var S,O,B,I=function(e){if(e===h&&R)return R;if(!y&&e in j)return j[e];switch(e){case _:case C:case w:return function(){return new t(this,e)}}return function(){return new t(this)}},T=n+" Iterator",P=!1,j=e.prototype,z=j[E]||j["@@iterator"]||h&&j[h],R=!y&&z||I(h),M="Array"==n&&j.entries||z;if(M&&(S=u(M.call(new e)))!==Object.prototype&&S.next&&(i||u(S)===m||(s?s(S,m):l(S[E])||d(S,E,x)),f(S,T,!0,!0),i&&(g[T]=x)),A&&h==C&&z&&z.name!==C&&(!i&&b?p(j,"name",C):(P=!0,R=function(){return o(z,this)})),h)if(O={values:I(C),keys:v?R:I(_),entries:I(w)},k)for(B in O)(y||P||!(B in j))&&d(j,B,O[B]);else r({target:n,proto:!0,forced:y||P},O);return i&&!k||j[E]===R||d(j,E,R,{name:h}),g[n]=R,O}},7235:(e,n,t)=>{var r=t(857),o=t(2597),i=t(6061),a=t(3070).f;e.exports=function(e){var n=r.Symbol||(r.Symbol={});o(n,e)||a(n,e,{value:i.f(e)})}},9781:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:(e,n,t)=>{var r=t(7854),o=t(111),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},8324:e=>{e.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:(e,n,t)=>{var r=t(317)("span").classList,o=r&&r.constructor&&r.constructor.prototype;e.exports=o===Object.prototype?void 0:o},8886:(e,n,t)=>{var r=t(8113).match(/firefox\/(\d+)/i);e.exports=!!r&&+r[1]},256:(e,n,t)=>{var r=t(8113);e.exports=/MSIE|Trident/.test(r)},5268:(e,n,t)=>{var r=t(4326),o=t(7854);e.exports="process"==r(o.process)},8113:(e,n,t)=>{var r=t(5005);e.exports=r("navigator","userAgent")||""},7392:(e,n,t)=>{var r,o,i=t(7854),a=t(8113),l=i.process,c=i.Deno,u=l&&l.versions||c&&c.version,s=u&&u.v8;s&&(o=(r=s.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!o&&a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=+r[1]),e.exports=o},8008:(e,n,t)=>{var r=t(8113).match(/AppleWebKit\/(\d+)\./);e.exports=!!r&&+r[1]},748:e=>{e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:(e,n,t)=>{var r=t(7854),o=t(1236).f,i=t(8880),a=t(1320),l=t(3505),c=t(9920),u=t(4705);e.exports=function(e,n){var t,s,f,p,d,h=e.target,g=e.global,v=e.stat;if(t=g?r:v?r[h]||l(h,{}):(r[h]||{}).prototype)for(s in n){if(p=n[s],f=e.noTargetGet?(d=o(t,s))&&d.value:t[s],!u(g?s:h+(v?".":"#")+s,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;c(p,f)}(e.sham||f&&f.sham)&&i(p,"sham",!0),a(t,s,p,e)}}},7293:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:(e,n,t)=>{"use strict";t(4916);var r=t(1702),o=t(1320),i=t(2261),a=t(7293),l=t(5112),c=t(8880),u=l("species"),s=RegExp.prototype;e.exports=function(e,n,t,f){var p=l(e),d=!a((function(){var n={};return n[p]=function(){return 7},7!=""[e](n)})),h=d&&!a((function(){var n=!1,t=/a/;return"split"===e&&((t={}).constructor={},t.constructor[u]=function(){return t},t.flags="",t[p]=/./[p]),t.exec=function(){return n=!0,null},t[p](""),!n}));if(!d||!h||t){var g=r(/./[p]),v=n(p,""[e],(function(e,n,t,o,a){var l=r(e),c=n.exec;return c===i||c===s.exec?d&&!a?{done:!0,value:g(n,t,o)}:{done:!0,value:l(t,n,o)}:{done:!1}}));o(String.prototype,e,v[0]),o(s,p,v[1])}f&&c(s[p],"sham",!0)}},6677:(e,n,t)=>{var r=t(7293);e.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:e=>{var n=Function.prototype,t=n.apply,r=n.bind,o=n.call;e.exports="object"==typeof Reflect&&Reflect.apply||(r?o.bind(t):function(){return o.apply(t,arguments)})},9974:(e,n,t)=>{var r=t(1702),o=t(9662),i=r(r.bind);e.exports=function(e,n){return o(e),void 0===n?e:i?i(e,n):function(){return e.apply(n,arguments)}}},7065:(e,n,t)=>{"use strict";var r=t(7854),o=t(1702),i=t(9662),a=t(111),l=t(2597),c=t(206),u=r.Function,s=o([].concat),f=o([].join),p={},d=function(e,n,t){if(!l(p,n)){for(var r=[],o=0;o{var n=Function.prototype.call;e.exports=n.bind?n.bind(n):function(){return n.apply(n,arguments)}},6530:(e,n,t)=>{var r=t(9781),o=t(2597),i=Function.prototype,a=r&&Object.getOwnPropertyDescriptor,l=o(i,"name"),c=l&&"something"===function(){}.name,u=l&&(!r||r&&a(i,"name").configurable);e.exports={EXISTS:l,PROPER:c,CONFIGURABLE:u}},1702:e=>{var n=Function.prototype,t=n.bind,r=n.call,o=t&&t.bind(r);e.exports=t?function(e){return e&&o(r,e)}:function(e){return e&&function(){return r.apply(e,arguments)}}},5005:(e,n,t)=>{var r=t(7854),o=t(614),i=function(e){return o(e)?e:void 0};e.exports=function(e,n){return arguments.length<2?i(r[e]):r[e]&&r[e][n]}},1246:(e,n,t)=>{var r=t(648),o=t(8173),i=t(7497),a=t(5112)("iterator");e.exports=function(e){if(null!=e)return o(e,a)||o(e,"@@iterator")||i[r(e)]}},8554:(e,n,t)=>{var r=t(7854),o=t(6916),i=t(9662),a=t(9670),l=t(6330),c=t(1246),u=r.TypeError;e.exports=function(e,n){var t=arguments.length<2?c(e):n;if(i(t))return a(o(t,e));throw u(l(e)+" is not iterable")}},8173:(e,n,t)=>{var r=t(9662);e.exports=function(e,n){var t=e[n];return null==t?void 0:r(t)}},647:(e,n,t)=>{var r=t(1702),o=t(7908),i=Math.floor,a=r("".charAt),l=r("".replace),c=r("".slice),u=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,s=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,n,t,r,f,p){var d=t+e.length,h=r.length,g=s;return void 0!==f&&(f=o(f),g=u),l(p,g,(function(o,l){var u;switch(a(l,0)){case"$":return"$";case"&":return e;case"`":return c(n,0,t);case"'":return c(n,d);case"<":u=f[c(l,1,-1)];break;default:var s=+l;if(0===s)return o;if(s>h){var p=i(s/10);return 0===p?o:p<=h?void 0===r[p-1]?a(l,1):r[p-1]+a(l,1):o}u=r[s-1]}return void 0===u?"":u}))}},7854:(e,n,t)=>{var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof t.g&&t.g)||function(){return this}()||Function("return this")()},2597:(e,n,t)=>{var r=t(1702),o=t(7908),i=r({}.hasOwnProperty);e.exports=Object.hasOwn||function(e,n){return i(o(e),n)}},3501:e=>{e.exports={}},490:(e,n,t)=>{var r=t(5005);e.exports=r("document","documentElement")},4664:(e,n,t)=>{var r=t(9781),o=t(7293),i=t(317);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8361:(e,n,t)=>{var r=t(7854),o=t(1702),i=t(7293),a=t(4326),l=r.Object,c=o("".split);e.exports=i((function(){return!l("z").propertyIsEnumerable(0)}))?function(e){return"String"==a(e)?c(e,""):l(e)}:l},9587:(e,n,t)=>{var r=t(614),o=t(111),i=t(7674);e.exports=function(e,n,t){var a,l;return i&&r(a=n.constructor)&&a!==t&&o(l=a.prototype)&&l!==t.prototype&&i(e,l),e}},2788:(e,n,t)=>{var r=t(1702),o=t(614),i=t(5465),a=r(Function.toString);o(i.inspectSource)||(i.inspectSource=function(e){return a(e)}),e.exports=i.inspectSource},2423:(e,n,t)=>{var r=t(2109),o=t(1702),i=t(3501),a=t(111),l=t(2597),c=t(3070).f,u=t(8006),s=t(1156),f=t(2050),p=t(9711),d=t(6677),h=!1,g=p("meta"),v=0,A=function(e){c(e,g,{value:{objectID:"O"+v++,weakData:{}}})},b=e.exports={enable:function(){b.enable=function(){},h=!0;var e=u.f,n=o([].splice),t={};t[g]=1,e(t).length&&(u.f=function(t){for(var r=e(t),o=0,i=r.length;o{var r,o,i,a=t(8536),l=t(7854),c=t(1702),u=t(111),s=t(8880),f=t(2597),p=t(5465),d=t(6200),h=t(3501),g="Object already initialized",v=l.TypeError,A=l.WeakMap;if(a||p.state){var b=p.state||(p.state=new A),m=c(b.get),y=c(b.has),E=c(b.set);r=function(e,n){if(y(b,e))throw new v(g);return n.facade=e,E(b,e,n),n},o=function(e){return m(b,e)||{}},i=function(e){return y(b,e)}}else{var _=d("state");h[_]=!0,r=function(e,n){if(f(e,_))throw new v(g);return n.facade=e,s(e,_,n),n},o=function(e){return f(e,_)?e[_]:{}},i=function(e){return f(e,_)}}e.exports={set:r,get:o,has:i,enforce:function(e){return i(e)?o(e):r(e,{})},getterFor:function(e){return function(n){var t;if(!u(n)||(t=o(n)).type!==e)throw v("Incompatible receiver, "+e+" required");return t}}}},7659:(e,n,t)=>{var r=t(5112),o=t(7497),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},3157:(e,n,t)=>{var r=t(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},614:e=>{e.exports=function(e){return"function"==typeof e}},4411:(e,n,t)=>{var r=t(1702),o=t(7293),i=t(614),a=t(648),l=t(5005),c=t(2788),u=function(){},s=[],f=l("Reflect","construct"),p=/^\s*(?:class|function)\b/,d=r(p.exec),h=!p.exec(u),g=function(e){if(!i(e))return!1;try{return f(u,s,e),!0}catch(e){return!1}};e.exports=!f||o((function(){var e;return g(g.call)||!g(Object)||!g((function(){e=!0}))||e}))?function(e){if(!i(e))return!1;switch(a(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return h||!!d(p,c(e))}:g},4705:(e,n,t)=>{var r=t(7293),o=t(614),i=/#|\.prototype\./,a=function(e,n){var t=c[l(e)];return t==s||t!=u&&(o(n)?r(n):!!n)},l=a.normalize=function(e){return String(e).replace(i,".").toLowerCase()},c=a.data={},u=a.NATIVE="N",s=a.POLYFILL="P";e.exports=a},111:(e,n,t)=>{var r=t(614);e.exports=function(e){return"object"==typeof e?null!==e:r(e)}},1913:e=>{e.exports=!1},7850:(e,n,t)=>{var r=t(111),o=t(4326),i=t(5112)("match");e.exports=function(e){var n;return r(e)&&(void 0!==(n=e[i])?!!n:"RegExp"==o(e))}},2190:(e,n,t)=>{var r=t(7854),o=t(5005),i=t(614),a=t(7976),l=t(3307),c=r.Object;e.exports=l?function(e){return"symbol"==typeof e}:function(e){var n=o("Symbol");return i(n)&&a(n.prototype,c(e))}},408:(e,n,t)=>{var r=t(7854),o=t(9974),i=t(6916),a=t(9670),l=t(6330),c=t(7659),u=t(6244),s=t(7976),f=t(8554),p=t(1246),d=t(9212),h=r.TypeError,g=function(e,n){this.stopped=e,this.result=n},v=g.prototype;e.exports=function(e,n,t){var r,A,b,m,y,E,_,C=t&&t.that,w=!(!t||!t.AS_ENTRIES),x=!(!t||!t.IS_ITERATOR),k=!(!t||!t.INTERRUPTED),S=o(n,C),O=function(e){return r&&d(r,"normal",e),new g(!0,e)},B=function(e){return w?(a(e),k?S(e[0],e[1],O):S(e[0],e[1])):k?S(e,O):S(e)};if(x)r=e;else{if(!(A=p(e)))throw h(l(e)+" is not iterable");if(c(A)){for(b=0,m=u(e);m>b;b++)if((y=B(e[b]))&&s(v,y))return y;return new g(!1)}r=f(e,A)}for(E=r.next;!(_=i(E,r)).done;){try{y=B(_.value)}catch(e){d(r,"throw",e)}if("object"==typeof y&&y&&s(v,y))return y}return new g(!1)}},9212:(e,n,t)=>{var r=t(6916),o=t(9670),i=t(8173);e.exports=function(e,n,t){var a,l;o(e);try{if(!(a=i(e,"return"))){if("throw"===n)throw t;return t}a=r(a,e)}catch(e){l=!0,a=e}if("throw"===n)throw t;if(l)throw a;return o(a),t}},3383:(e,n,t)=>{"use strict";var r,o,i,a=t(7293),l=t(614),c=t(30),u=t(9518),s=t(1320),f=t(5112),p=t(1913),d=f("iterator"),h=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):h=!0),null==r||a((function(){var e={};return r[d].call(e)!==e}))?r={}:p&&(r=c(r)),l(r[d])||s(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:e=>{e.exports={}},6244:(e,n,t)=>{var r=t(7466);e.exports=function(e){return r(e.length)}},133:(e,n,t)=>{var r=t(7392),o=t(7293);e.exports=!!Object.getOwnPropertySymbols&&!o((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&r&&r<41}))},8536:(e,n,t)=>{var r=t(7854),o=t(614),i=t(2788),a=r.WeakMap;e.exports=o(a)&&/native code/.test(i(a))},3929:(e,n,t)=>{var r=t(7854),o=t(7850),i=r.TypeError;e.exports=function(e){if(o(e))throw i("The method doesn't accept regular expressions");return e}},1574:(e,n,t)=>{"use strict";var r=t(9781),o=t(1702),i=t(6916),a=t(7293),l=t(1956),c=t(5181),u=t(5296),s=t(7908),f=t(8361),p=Object.assign,d=Object.defineProperty,h=o([].concat);e.exports=!p||a((function(){if(r&&1!==p({b:1},p(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=p({},e)[t]||l(p({},n)).join("")!=o}))?function(e,n){for(var t=s(e),o=arguments.length,a=1,p=c.f,d=u.f;o>a;)for(var g,v=f(arguments[a++]),A=p?h(l(v),p(v)):l(v),b=A.length,m=0;b>m;)g=A[m++],r&&!i(d,v,g)||(t[g]=v[g]);return t}:p},30:(e,n,t)=>{var r,o=t(9670),i=t(6048),a=t(748),l=t(3501),c=t(490),u=t(317),s=t(6200),f=s("IE_PROTO"),p=function(){},d=function(e){return"

How to Contribute?

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Contributor License Agreement

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to here to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

Community Guidelines

This project follows Google's Open Source Community Guidelines .

\ No newline at end of file diff --git a/contributors/code/index.html b/contributors/code/index.html new file mode 100644 index 000000000..b4a07e11f --- /dev/null +++ b/contributors/code/index.html @@ -0,0 +1,13 @@ + Build the project - Codyze

Building the project

Prerequisites

  • Java SE 17 or later

Check out, build, and extend Codyze

  1. Fork the Codyze repo on GitHub and clone it:
    git clone git://github.com/<YOUR GITHUB>/codyze
  2. Create a branch for your contribution. We recommend prefixing the branch name with fix- if you are providing a bug fix or feature- if you plan to add a feature:
    git checkout -b feature-MY_EPIC_FEATURE
  3. Make your changes and make sure that the project builds without errors, passes all tests, and is properly formatted: ./gradlew :codyze-cli:clean :codyze-cli:spotlessApply :codyze-cli:build :codyze-cli:installDist
    The purpose of these gradle tasks is as follows:
    • clean Removes previous build artifacts
    • spotlessApply Applies source code formatting with the settings in formatter-settings.xml. If the code is not properly formatted the build server will reject it.
    • build Builds the main artifact (the jar file containing Codyze)
    • installDist Create an executable script for Linux, Mac, and Windows in codyze-cli/build/install/codyze-cli/bin
  4. When everything works, git commit your changes and git push them to GitHub, then create a pull request (PR). Make sure to describe want you intend the code to do and refer to any issues your PR might address (using the notation #123)
  5. If you're not yet ready for a review, add "WIP" to the PR name to indicate it's a work in progress.
  6. Wait for the automated CI workflow to do some checks.
  7. Continue working on your PR by pushing further commits to your branch until you are satisfied
  8. When you're ready for a review, add a comment to the PR, and remove any "WIP" markers.

Code formatting

Codyze uses the gradle spotless plugin to format source code. You may import the code style definitions into your favorite IDE to apply it immediately.

Gradle

  • Simply run ./gradlew :codyze-cli:spotlessApply

IDEs

You may find plugins for your favorite IDE that can execute Spotless within your IDE for you. Please refer to your respective IDE.

\ No newline at end of file diff --git a/contributors/index.html b/contributors/index.html new file mode 100644 index 000000000..8beb32790 --- /dev/null +++ b/contributors/index.html @@ -0,0 +1,13 @@ + Contributing to Codyze - Codyze

Contributing to Codyze

Codyze is open source and an ongoing effort to support developers and auditors in improving the quality of security-critical code. We welcome everybody to contribute to this project, be it fixing a typo in the documentation or implementing whole new language support and analysis modules.

Note

Please note that parts of this Codyze are backed by research projects. If you plan to make larger contributions, please contact us upfront to align your plans with possibly ongoing projects.

Contributing to this documentation

This documentation lives in the same repository as the code and the idea is that both are always consistent. If you make changes in the code that affect the documentation, please update the documentation in the same pull request.

We use MkDocs for generating our documentation site and Material for MkDocs as our theme.

To extend or fix errors in this documentation, proceed as follows:

  1. Fork the Codyze repo on GitHub.
  2. Make your changes and send a pull request (PR).
  3. If you're not yet ready for a review, add "WIP" to the PR name to indicate it's a work in progress.
  4. Continue updating your doc and pushing your changes until you're happy with the content.
  5. When you're ready for a review, add a comment to the PR, and remove any "WIP" markers.

Previewing your changes locally

If you want to run your own local server to preview your changes as you work, you can either install MkDocs or use a docker.

For installing MkDocs, please refer to the Material for MkDocs documentation .

For the docker, please refer to the README .

Creating an issue

If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the Codyze repo and add the label documentation to it. You can also create an issue about a specific page by clicking the Create Issue button in the top right hand corner of the page.

Contributing to Codyze

Opening an issue

We welcome any bug reports! Please use the issue tracker only to report bugs or unexpected behavior. If you have general questions about the project or need help in setting it up, please reach out to us directly and do not the issue tracker.

To report a bug, make sure to include the following information:

  1. What have you done? Provide the minimal set of files needed to reproduce the bug. If we cannot reproduce it, it's not a bug.
  2. What outcome have you expected, what outcome did you get?
  3. Can you provide any hints on what might be the cause of the bug and how you think it should be fixed?

Useful resources

\ No newline at end of file diff --git a/css/timeago.css b/css/timeago.css new file mode 100644 index 000000000..f7ab7d69b --- /dev/null +++ b/css/timeago.css @@ -0,0 +1,15 @@ +/* + timeago output is dynamic, which breaks when you print a page. + + This CSS is only included when type: timeago + and ensures fallback to type "iso_date" when printing. + + */ + +.git-revision-date-localized-plugin-iso_date { display: none } + +@media print { + .git-revision-date-localized-plugin-iso_date { display: inline } + .git-revision-date-localized-plugin-timeago { display: none } +} + diff --git a/index.html b/index.html new file mode 100644 index 000000000..7d3dfe743 --- /dev/null +++ b/index.html @@ -0,0 +1,272 @@ + Home - Codyze

Codyze: Automated Code Compliance

Spotting flaws in C/C++, Java, Golang and Python code - automagically!

Codyze has been funded by the Bundesamt für Sicherheit in der Informationstechnik (BSI).
The Code Property Graph project is funded by the Bavarian Ministry of Economic Affairs (StMWi).

Verifying Compliance to Security Requirements

Codyze is a static analysis tool to support developers in verifying compliance to security requirements.

Head to the release page and download Codyze.

Sparked your Interest? Join the Codyze Community!

Develop and Contribute

We are happy to accept pull requests for bugfixes and improvements on GitHub!

If you are interested to write a bachelor/master/PhD thesis in static analysis, we encourage you to get in contact with us. Besides the open research topics offered by the Chair of IT Security at the Technical University of Munich , we are open to discuss further topics which might be of interest for you and us.

Funding and Collaboration

Codyze is a non-profit project under a commercial-friendly open source license. We are happy to either improve and extend Codyze in funded research projects or build a tailored version for your enterprise.

Commercial Development

We offer tailoring and integration of Codyze into your CI pipeline or audit processes. This includes development of rule sets for specific software platforms (Java EE, Spring, Android, Boost, etc.), development of interfaces to standard CI tools (Gitlab CI, Jenkins, Bamboo, Sonarqube, etc.), and development of additional analyses tailored to your needs. The results will not be public and remain solely at your disposal.

Research Collaboration

We regularly participate in publicly funded research projects at state, nation, and EU level. If you are interested in pushing the boundaries in static code analysis with us, we are happy to explore funding opportunities together with you.

\ No newline at end of file diff --git a/js/timeago.min.js b/js/timeago.min.js new file mode 100644 index 000000000..a8530a5f7 --- /dev/null +++ b/js/timeago.min.js @@ -0,0 +1,2 @@ +/* Taken from https://cdnjs.cloudflare.com/ajax/libs/timeago.js/4.0.2/timeago.min.js */ +!function(s,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((s=s||self).timeago={})}(this,function(s){"use strict";var a=["second","minute","hour","day","week","month","year"];function n(s,n){if(0===n)return["just now","right now"];var e=a[Math.floor(n/2)];return 1=m[t]&&t=m[e]&&e 0) { + var locale = nodes[0].getAttribute('locale'); + timeago.render(nodes, locale); + } + }) +} else { + var nodes = document.querySelectorAll('.timeago'); + if (nodes.length > 0) { + var locale = nodes[0].getAttribute('locale'); + timeago.render(nodes, locale); + } +} diff --git a/mkdocs-material-plugins.txt b/mkdocs-material-plugins.txt new file mode 100644 index 000000000..5bc134769 --- /dev/null +++ b/mkdocs-material-plugins.txt @@ -0,0 +1,3 @@ +mkdocs-git-revision-date-localized-plugin +mkdocs-glightbox +mkdocs-minify-plugin diff --git a/search/search_index.json b/search/search_index.json new file mode 100644 index 000000000..943be7d94 --- /dev/null +++ b/search/search_index.json @@ -0,0 +1 @@ +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"Codyze/","title":"Documentation","text":"

Info

Codyze is currently being redesigned. For the documentation for the legacy version of Codyze, please look here .

Security is hard and implementing it correctly is even harder. Luckily, there are well-established and battle-proven libraries available that do the heavy lifting of security functions such as authentication, logging or encryption. But even when using these libraries in application code, developers run the risk of making subtle errors which may undermine the security of their application. This is where Codyze helps. By integrating it into an IDE or CI pipeline, developers can analyze their source code while programming and check if they are using libraries in a correct or in an insecure way.

"},{"location":"Codyze/#how-does-it-work","title":"How does it work?","text":"

In contrast to many other static analysis tools, Codyze directly analyzes the source code and does not require a compiler tool-chain. It can thus even analyze incomplete source code and tolerate small syntax errors.

Codyze is based on a \"Code Property Graph\", which represents the source code as a graph and adds semantic information to support the analysis. This representation can be used in two ways:

  1. as a fully automated tool, integrated into your CI or IDE
  2. as a database that can be manually explored using a simple query language

"},{"location":"Codyze/#why-codyze","title":"Why Codyze?","text":"

Codyze checks source code for the correct usage of libraries. It is an addition to generic static analysis tools such as Sonarqube, Frama-C, or the Checker Framework and specifically verifies that libraries are used as originally intended by their developers.

Library developers write rules for their library in specification languages supported by Codyze.

Developers verify their code against rules of modelled libraries using Codyze.

Integrators of open source components may want to verify these components using the automated analysis of Codyze or by manually searching the code for critical patterns.

"},{"location":"Codyze/why-v3/","title":"Redesign of Codyze","text":"

The goal of the redesign is to make Codyze more maintainable and easier extendable. This introduced a lot of changes compared to the legacy version.

The core functionalities of Codyze were separated from the executable part which makes it possible to use Codyze as a library.

We introduced the concept of Executors which are responsible for evaluating rules of a specific specification language. Through Executors, Codyze can verify rules written in different specification languages and utilize their advantages as long as there is an Executor for them.

We are also working on a new specification language Coko which comes with Codyze.

Additionally, we reorganized the code in Codyze to be able to handle multiple projects with their own configurations with only one Codyze instance. This, for example, allows switching between projects in an IDE without losing the context of any analysis and should better support LSP mode.

"},{"location":"Coko/","title":"What is Coko?","text":"

Codyze provides a built-in domain specific language, Coko, which can be used to define policies for Codyze.

"},{"location":"Coko/#structure-of-policies","title":"Structure of Policies","text":"

Coko policies can be split into two parts:

  • Modelling the API through classes and functions.
  • Writing rules that describe the expected usage of the modelled API.

When modeling a library, you will typically start by describing its classes or functions and then write rules.

"},{"location":"Coko/#structure-of-coko","title":"Structure of Coko","text":"

Coko is defined as a custom Kotlin scripting language. It serves as an API to write source code queries in a declarative way. The rules written in Coko are executed to construct the queries for the used backend.

The concept of Coko is that the API is modelled through classes and functions. These classes and functions are used to declare rules, which Codyze then evaluates. Coko is, therefore, in its concept more similar to a domain specific language and only uses the Kotlin scripting technology to load the policies into Codyze. However, as a Kotlin script can contain any valid Kotlin code, it is also possible to execute arbitrary Kotlin code with Coko. It is currently not possible to prevent this, but all Coko scripts that are available on our website and GitHub repository are validated by us to prevent any misuse. For more information about custom Kotlin scripting languages, please refer to the Kotlin documentation and the respective Kotlin KEEP .

Syntax highlighting and code completion are available for Coko in any IDE that provides these for Kotlin.

The syntax of Coko is the same as the syntax of Kotlin. For writing Coko policies you will need to know how to create classes, interfaces and functions in Kotlin. Please refer to the Kotlin Documentation for an overview.

"},{"location":"Coko/#type-safe-builders","title":"Type-safe builders","text":"

Coko also uses the concept of type-safe builders . Type-safe builders allow you to build objects in a semi-declarative way similar to markup languages. They can be seen as a special syntax for nesting the construction of objects. They will be explained in detail in the parts of Coko that use them.

"},{"location":"Coko/modelling/","title":"Modelling APIs with Coko","text":"

To evaluate rules for an API, Coko needs an understanding of the components of the API, such as classes or functions. In Coko these components are modelled through interfaces, classes and a class called Op.

"},{"location":"Coko/modelling/#ops","title":"Ops","text":"

Ops are the basic building blocks for writing policies in Coko. With Ops you can model and group functions of the API that serve a similar functionality. They are also a way to define queries to the Codyze backend for finding calls to these functions. Each Op object is one query to the backend.

There are currently two types of Ops, FunctionOps for modelling functions and ConstructorOps for modelling constructors in object-oriented languages. They are both built with type-safe builders. The following sections will explain the builders for each Op type.

"},{"location":"Coko/modelling/#functionops","title":"FunctionOps","text":"

The function op() is the start for building FunctionOps. Within the block of op() the fully qualified name of the functions you want to model can be specified as a string. In the block of the fully qualified name the arguments to function can be defined. They serve as a filter for the query. Only calls to the function with the same number of arguments with the same value at each position will be found by the query.

In signature it is also possible to specify unordered arguments. These are arguments, that should somehow be passed to the function calls we want to find, but it is not important, in which position they are passed.

Example of defining a FunctionOp
op {\n    \"my.fully.qualified.name\" { // (1)!\n        signature(5..10) // (2)!\n        signature(\".*one.*\") // (3)!\n        signature(0..5, listOf(\"one\", \"two\")) // (4)!\n        signature() // (5)!\n    }\n\n    \"my.other.fully.qualified.name\" { // (6)!\n        signature { // (7)!\n            - \".*\" // (8)!\n            -7 // (9)!\n        }\n        signature(arrayOf(4)) { // (10)!\n            - 123\n        }\n    }\n}\n
  1. The fully qualified name of the function we want to find.
  2. Filters for calls to my.fully.qualified.name that have as only argument a number between 5 and 10.
  3. Filters for calls to my.fully.qualified.name that have a string as only argument that contains \"one\", for example my.fully.qualified.name(\"tone\").
  4. Filters for calls to my.fully.qualified.name that have a number between 0 and 5 as first argument and as second argument either the string \"one\" or \"two\".
  5. Filters for calls to my.fully.qualified.name where no arguments were passed.
  6. The fully qualified name of the other function we want to find.
  7. The signature function can also invoke a type-safe builder.
  8. In the type-safe builder of signature the arguments are listed using -.
  9. The space after the - is optional.
  10. The unordered arguments are given as an array to signature. In this example, the unordered argument is 4.
"},{"location":"Coko/modelling/#constructorops","title":"ConstructorOps","text":"

The function of the builder for ConstructorOps is constructor() . The fully qualified name of the class is the first argument. In the block of constructor() you can specify the arguments to the constructor like for the FunctionOp. They serve the same purpose as for FunctionOps.

Example of defining a ConstructorOp
constructor(\"my.fully.qualified.MyClass\") { // (1)!\n    signature() // (2)!\n}\n
  1. This models the constructor of the class my.fully.qualified.MyClass.
  2. The signature is directly specified in ConstructorOps, because the name of the constructor is clear.
"},{"location":"Coko/modelling/#special-argument-types","title":"Special argument types","text":"

Arguments in Ops are used to filter calls of a function based on the arguments that are given to the calls. In Coko there are a few special argument types that help with the filtering.

The first type is the Wildcard object. If the Wildcard object is given as an argument to Op, the filter will allow any kind of value in the same argument position of the function calls.

The second type is null. It can be used to signify that the given arguments should be filtered out of the query. This type will be helpful when constructing Op templates with Coko functions.

Another special type are ParameterGroups. They are a filter to express that the argument at the position should be composed of multiple values. An example would be if the argument is a string that should contain multiple strings, for example foo(\"Start string\" + 12 + \"End string\"). This can be modeled with ParameterGroups. Coko offers the DSL function group, in which these values can be specified.

The last types are the Type class and the ParamWithType class. The Type class is used to filter the type of the arguments. The fully qualified name of the type must be given ParamWithType combines the filter for the value with the filter for the type.

Example with special argument types
op {\n    \"my.fully.qualified.name\" {\n        signature(Wildcard) // (1)!\n        signature(Wildcard, 2) // (2)!\n        signature(null, 1) // (3)!\n        signature( \n            group {\n                - \"Start string .*\"\n                - 12\n            } // (4)!\n        )\n        signature(Type(\"java.util.List\")) // (5)!\n        signature(1.0 withType \"java.lang.Float\") // (6)!\n    }\n}\n
  1. Queries for all calls to my.fully.qualified.name that have one argument.
  2. Queries for all calls to my.fully.qualified.name with two arguments and where the second argument is 2.
  3. Filters out all calls to my.fully.qualified.name with two arguments and where the second argument is 1.
  4. Filters for all calls to my.fully.qualified.name with one argument. The argument must contain both \"Start string\" and the number 12. An example would be my.fully.qualified.name(\"Start string with the number \" + 12).
  5. Queries for all calls to my.fully.qualified.name with one argument which must be of type java.util.List1.
  6. Queries for all calls to my.fully.qualified.name with one argument which has the value 1.0 and has the type java.lang.Float1.
"},{"location":"Coko/modelling/#functions","title":"Functions","text":"

Since each Op is interpreted by Codyze as one query for function calls to the backend, it would be helpful to have templates for Ops that find calls to the same function but with different filters. This can be achieved with functions in Coko. The parameters of these functions in Coko can be used to pass the specific values to the filter.

An example for an Op template for the function java.util.List.add
fun add(\n    element: Any, // (1)!\n    index: Any? // (2)!\n) = op {\n    \"java.util.List.add\" {\n        signature(element)\n        signature(index withType \"int\", element) // (3)!\n    }\n}\n
  1. List.add in Java is a generic method, so the type of element is not static. However, it is recommended to use Any even if the type of the value is static since you might want to pass one of the special argument types like Wildcard.
  2. index is nullable, so it is also possible to filter for calls where no index is given. The type is Any? to be able to pass Wildcard as well.
  3. The arguments can be further specified like the additional filter for the type of index.

If the reference to a Coko function is used for order rules, all parameters must have a nullable type. Coko invokes them with dummy arguments and uses internal functions to query for all calls to the modelled function regardless of the specified signatures.

"},{"location":"Coko/modelling/#interfaces","title":"Interfaces","text":"

A goal of Coko is to make rules more reusable. Aside from specific rules of an API, there might be some general policies that should be followed for all API that provide similar functionality. An example would be that all actions executed on a database should be logged. Instead of writing the corresponding rule for all combinations of database and logging APIs, one might want to combine this into one reusable rule.

This reusability is achieved through interfaces. In Coko interfaces and their functions describe the functionalities that a group of APIs has in common. Rules can thus be written on a more conceptual level.

When Coko encounters rules using a Coko interface as a parameter, it will use one of the available classes implementing the interface as argument to evaluate the rule. Currently, it uses the first class it finds, however, we will implement an algorithm in the future which will try to find the implementation that fits the best for the analyzed code.

Example of a interface and its implementations in Coko
interface Logging {\n    fun log(message: Any?, vararg args: Any?): Op\n}\n\nclass JavaLogging: Logging {\n    override fun log(message: Any?, vararg args: Any?): Op =\n        op {\n            \"java.util.logging.Logger.info\" {\n                signature {\n                    group {\n                        - message\n                        args.forEach { - it }\n                    }\n                }\n            } \n        }\n}\n\nclass PythonLogging: Logging {\n    override fun log(message: Any?, vararg args: Any?): Op =\n        op {\n            \"logging.info\" { \n                signature(args) { // (1)! \n                    - message \n                } \n            }\n        }\n}\n
  1. We don't care about the order of the arguments for args, just that they appear somewhere as arguments for the call.
"},{"location":"Coko/modelling/#classes","title":"Classes","text":"

Classes in Coko model the actual components of an API. They can implement interfaces or just be normal classes. With classes, API functions can be grouped

For APIs written in object-oriented languages it might be sensible to create a Coko class for each class in the API.

  1. In a real example this would be redundant because this case is already covered by the first filter with Wildcard.\u00a0\u21a9\u21a9

"},{"location":"Coko/rules/","title":"Coko Rules","text":"

Rules in Coko describe how an API should be used. They are functions that are annotated with the @Rule annotation.

In the @Rule annotation you can specify metadata about the rule such as the description of the rule. The metadata will be used for describing the findings in the SARIF output.

If the rule requires some instance of a model, they can be specified as parameters to the rule function.

Each Coko rule must return an implementation of the Evaluator interface, which Codyze can use to evaluate the rule. Coko provides some common evaluators which will be explained in the following sections. The example model will be used for explaining the evaluators.

Example model
class Foo {\n    fun constructor() = constructor(\"Foo\") {\n        signature()\n    }\n\n    fun first(i: Any?) = op {\n        definition(\"Foo.first\") {\n            signature(i)\n        }\n    }\n\n    fun second(s: Any?) = op {\n        definition(\"Foo.second\") {\n            signature(s)\n        }\n    }\n}\n\nclass Bar {\n    fun second() = op {\n        definition(\"Bar.second\") {\n            signature()\n        }\n    }\n}\n
"},{"location":"Coko/rules/#only-evaluator","title":"Only Evaluator","text":"

The only evaluator checks if all calls to an Op are only called with the specified arguments. Therefore, it takes one Op as argument.

Rule example using only
@Rule\nfun `only calls to first with 1 allowed`(foo: Foo) = \n    only(foo.first(1))\n
"},{"location":"Coko/rules/#order-evaluator","title":"Order Evaluator","text":"

The order evaluator checks if functions related to an object are called in the correct order. It takes two arguments, the baseNodes and the order. The baseNodes are the function calls that are the start of the order. Usually, this is either the constructor of a class or some kind of initialization function.

To construct the order, Coko provides a type-safe builder. Within the builder, the order is specified as a regular expression.

The \"alphabet\" of the order regex is:

  • references to functions that return an Op written as <object>::<FunctionName> or ::<FunctionName>
  • Ops themselves.

If all calls to a modelled function should be considered for the order regardless of the specified signatures, please use the first option. When passing Ops, only functions that match the used signature and argument are considered valid.

The builder provides a set of functions that allow you to add quantifiers to the regex or group them.

Function Regex Description or | Represents a choice, either the first or the second expression has to be matched set [] Represents multiple choices, one expression in it has to be matched maybe * Matches an expression zero or more times some + Matches an expression one or more times option ? Matches an expression zero or one time count(n) {n} Matches an expression exactly n times atLeast(min) {min,} Matches an expression at least min times between(min, max) {min, max} Matches an expression at least min and at most max times Rule example using order
@Rule\nfun `order of Foo`(foo: Foo) = \n    order(foo.constructor()/* (2)! */) { // (1)!\n        - foo.first(...) // (3)!\n        maybe(foo::second) // (4)!\n    }\n
  1. This starts the type-safe builder for the order.
  2. The Op returned from foo.constructor will be used as query for the function calls that are the starting point for evaluating the order.
  3. This will use the filtered Op returned by foo.first(...) for the order.
  4. This will consider all calls to the function modelled by foo.second() for the order. No filter will be applied.
"},{"location":"Coko/rules/#followedby-evaluator","title":"FollowedBy Evaluator","text":"

The followedBy evaluator works similarly like the implication in logic. It takes two Ops and specifies that if the first Op is called then the second Op must be called as well. Compared to the order evaluator, followedBy is more flexible because Ops from different models can be connected.

Rule example using followedBy
@Rule\nfun `if first then second`(foo: Foo, bar: Bar) = \n    foo.first(Wildcard) followedBy bar.second()\n
"},{"location":"Coko/rules/#never-evaluator","title":"Never Evaluator","text":"

The never evaluator is used to specify that calls to an Op with the specified arguments are forbidden. It takes one Op as argument.

Rule example using never
@Rule\nfun `never call second with 1`(foo: Foo) =\n    never(foo.second(1))\n
"},{"location":"Getting%20Started/cli/","title":"Using CLI mode","text":""},{"location":"Getting%20Started/cli/#command-line-mode","title":"Command line mode","text":"

When running in command line interface (CLI) mode, Codyze can be used to automatically check a code base against a set of rules given in a supported specification language like Coko. Below are short exemplary calls to start codyze in command line interface mode. ./ refers to the top-level directory of the repository. However, for the Gradle arguments ./ refers to the directory of the project, which is codyze-cli.

./gradlew :codyze-cli:run --args=\"<executor> --spec <specpath> <backend> -s <sourcepath>\"\n
Because Codyze is built to be modular and support many specification languages as well as code analysis backends, there are subcommands to select the executor/backend. To find what arguments each executor/backend accept, use the --help argument:

To show the available executors use:

./gradlew :codyze-cli:run --args=\"--help\"\n

To show the arguments accepted by an executor and the available backends use:

./gradlew :codyze-cli:run --args=\"<executor> --help\"\n

To show the arguments accepted by a backend use:

./gradlew :codyze-cli:run --args=\"<executor> <backend> --help\"\n

"},{"location":"Getting%20Started/cli/#analysis-example","title":"Analysis Example","text":"

The repository contains examples which you can use to test Codyze. Below are the commands to call Codyze on these examples.

./gradlew :codyze-cli:run --args=\"runCoko --spec ../codyze-specification-languages/coko/coko-dsl/src/test/resources/model.codyze.kts --spec ../codyze-specification-languages/coko/coko-dsl/src/test/resources/javaimpl.codyze.kts cokoCpg -s ../codyze-specification-languages/coko/coko-dsl/src/test/resources/java/Main.java\" \n

This configures Codyze to use the 'coko' executor and the 'cokoCpg' backend. You will see the result printed to the console and a findings.sarif files is generated in the codyze-cli folder. The spec files contain a single rule, which checks that every change to a database is logged. The sample Java file adheres to the rule, so there should be no issues in the result.

"},{"location":"Getting%20Started/cli/#cicd-integration","title":"CI/CD Integration","text":"

The CLI mode is a perfect candidate for integration in CI/CD processes, such as GitHub Actions. The following file can be used as an example so set up a compliance check for Java-based applications using GitHub Actions:

name: build\n\non:\n  - push\n\nenv:\n  CODYZE_VERSION: \"2.1.1\"\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - uses: actions/setup-java@v3\n        with:\n          distribution: \"temurin\"\n          java-version: \"17\"\n      - name: Install Codyze\n        run: |\n          wget \"https://github.com/Fraunhofer-AISEC/codyze/releases/download/v${CODYZE_VERSION}/codyze-${CODYZE_VERSION}.zip\" && unzip codyze-${CODYZE_VERSION}.zip\n      - name: Check compliance\n        run: |\n          codyze-${CODYZE_VERSION}/bin/codyze <arguments>\n
"},{"location":"Getting%20Started/configuration/","title":"Configure Codyze","text":"

There are two ways of configuring Codyze, through command line options or a configuration file.

If both are present, the command line options take precedence over the configuration file. For list and map type options, the data from the configuration file can be overwritten if the normal option (e.g. --option-name) is used. To append the data from the command line to the one from the configuration file, use the additions option (e.g. --option-name-additions)

"},{"location":"Getting%20Started/configuration/#configuration-file","title":"Configuration File","text":"

The configurations can also be defined with a JSON configuration file. Use the option --config=<filepath> to specify the path to the config file. The configuration from ./codyze.json will always be loaded if no other file is specified.

Relative paths in the configuration file are resolved relative to the configuration file location.

The configuration structure separates the options by subcommand as seen below.

{\n  \"good-findings\": false,\n  \"runCoko\": {\n    \"spec\": \"./model.codyze.kts\",\n    \"cokoCpg\": {\n      \"source\": \"./Main.java\"\n    }\n  }\n}\n
In this example the good-findings argument belongs to Codyze, the spec argument belongs to the runCoko subcommand and the source argument belongs to the cokoCpg subcommand. The value of the option is taken from the object which corresponds to the subcommand used for the execution. An exemplary configuration file can also be found in the GitHub repository .

"},{"location":"Getting%20Started/configuration/#list-of-configurations","title":"List of Configurations","text":"

This is a list of all available configurations, their descriptions and their respective name. The names are the same for the configuration file and the CLI options.

./ denotes the working directory in which Codyze was started.

"},{"location":"Getting%20Started/configuration/#codyze","title":"Codyze","text":"Key Value Description Default Value output Path The path to write the results file to. [./] output-format String Format in which the analysis results are returned. sarif good-findings Boolean Enable/Disable output of \"positive\" findings which indicate correct implementations. true pedantic Boolean Activates pedantic analysis mode. In this mode, Codyze analyzes all given specification files and report all findings. false"},{"location":"Getting%20Started/configuration/#executors","title":"Executors","text":""},{"location":"Getting%20Started/configuration/#coko","title":"Coko","text":"Key Value Description Default Value spec Path[] Paths to CoKo rule files. [./] disabled-specs Path[] The specified files will be excluded from being parsed and processed. [] disabled-spec-rules String[] Rules that will be ignored by the analysis. []"},{"location":"Getting%20Started/configuration/#backends","title":"Backends","text":""},{"location":"Getting%20Started/configuration/#cpg","title":"Cpg","text":"Key Value Description Default Value source Path[] Path to the to be analyzed files or directories. [./] disabled-source Path[] Path to files or directories which should not be analyzed. Symbolic links are not followed when filtering out these paths. [] additional-language String[] Specify programming languages of files to be analyzed (full names). [] unity boolean Only relevant for C++. A unity build refers to a build that consolidates all translation units into a single one, which has the advantage that header files are only processed once, adding far less duplicate nodes to the graph. false type-system-in-frontend boolean If false, the type listener system is only activated once the frontends are done building the initial AST structure. This avoids errors where the type of a node may depend on the order in which the source files have been parsed. true default-passes boolean Adds all default passes in cpg (1. FilenameMapper, 2. TypeHierarchyResolver, 3. ImportResolver, 4. VariableUsageResolver, 5. CallResolver, 6. EvaluationOrderGraphPass, 7. TypeResolver). true passes String[] Register these passes to be executed in the specified order. Please specify the passes with their fully qualified name. [] debug-parser boolean Enables debug output generation for the cpg parser. false disable-cleanup boolean Switch off cleaning up TypeManager memory after analysis, set to true only for testing. false code-in-nodes boolean Should the code of a node be shown as parameter in the node. false annotations boolean Enables processing annotations or annotation-like elements. false fail-on-error boolean Should parser/translation fail on parse/resolving errors (true) or try to continue in a best-effort manner (false). false symbols Map Definition of additional symbols. {} parallel-frontends boolean If true, the ASTs for the source files are parsed in parallel, but the passes afterwards will still run in a single thread. This speeds up initial parsing but makes sure that further graph enrichment algorithms remain correct. false match-comments-to-nodes boolean Controls whether the CPG frontend shall use a heuristic matching of comments found in the source file to match them to the closest AST node and save it in the comment property. false analyze-includes boolean Enables parsing of include files. If includePaths are given, the parser will resolve symbols/templates from these in include but not load their parse tree. false includes Path[] Paths containing include files. [] enabled-includes Path[] If includes is not empty, only the specified files will be parsed and processed in the cpg, unless it is a part of the disabled list, in which it will be ignored. [] disabled-includes Path[] If includes is not empty, the specified includes files will be excluded from being parsed and processed in the cpg. The disabled list entries always take priority over the enabled list entries. []"},{"location":"Getting%20Started/installation/","title":"Install Codyze","text":""},{"location":"Getting%20Started/installation/#prerequisites","title":"Prerequisites","text":"
  • Java 17 or higher
"},{"location":"Getting%20Started/installation/#build-from-source","title":"Build from Source","text":"

Clone the source code for Codyze from the project's GitHub repository .

"},{"location":"Getting%20Started/installation/#codyze-v3","title":"Codyze v3","text":""},{"location":"Getting%20Started/installation/#executable-version","title":"Executable Version","text":"
  • To build an executable version, run ./gradlew :codyze-cli:installDist
  • The executable Codyze installation is located under codyze-cli/build/install/codyze-cli
"},{"location":"Getting%20Started/installation/#gradle-run-task","title":"Gradle Run Task","text":"

You can also use the Gradle run task ./gradlew :codyze-cli:run to directly run Codyze. This will print the help message and return an error.

Arguments can be passed with the --args option.

"},{"location":"Getting%20Started/installation/#pre-built-release","title":"Pre-built Release","text":"

Note

All following example calls in this documentation will assume that the source code was cloned and use the exact file structure. If you want to test Codyze with these calls, please clone the repository.

  • Download a zipped release of Codyze from our GitHub release page
  • Unzip the file
  • Execute Codyze using bin\\codyze.bat (Windows) or bin/codyze (Mac, Linux)
"},{"location":"Getting%20Started/installation/#docker","title":"Docker","text":"

We're also offering Codyze as a container image. You can find an image with the latest release in the project's container registry .

"},{"location":"Getting%20Started/lsp/","title":"Using plugins","text":"

Codyze can be integrated into multiple IDEs to automatically scan your code for errors.

"},{"location":"Getting%20Started/lsp/#integration-in-eclipse","title":"Integration in Eclipse","text":"

The Codyze plugin can be installed from an Eclipse update site. It has been tested against Eclipse 2019-12 and later.

  1. In Eclipse, click on Help->Install New Software...
  2. Click Add... to add a new update site
  3. Choose a name and enter the location https://codyze.s3.eu-central-1.amazonaws.com/codyze-eclipse-plugin/ (note that this is an Eclipse update site URL and not suited to open with a web browser)

  4. Choose and install Codyze Code Analyzer

Once installed, configure the Eclipse plugin to use the local LSP server:

  1. Go to Windows->Preferences->Codyze Code Analysis and configure the path to the analysis server binary

  2. If the configuration is correct, .java and .cpp files will be automatically scanned when they are saved. Any errors found by Codyze will be highlighted as problems. If Codyze verifies that an API is correctly used, it will mark the line with a hint.

"},{"location":"Getting%20Started/lsp/#integration-in-intellij","title":"Integration in IntelliJ","text":"
  1. Download and install the LSP Support plugin. Restart IntelliJ.
  2. Go to Settings -> Language Server Protocol -> Server Definitions
  3. Add a new server definition of type Executable for extension java and navigate to your local codyze-<version>/bin/codyze script.

If everything works as intended, you should see a green circle in your IntelliJ status bar, indicating that the connection to the language server was successful.

"},{"location":"Getting%20Started/lsp/#integration-in-visual-studio-2019","title":"Integration in Visual Studio 2019","text":"

The Codyze plugin can be installed from the Visual Studio 2019 Marketplace

If you prefer installing the plugin from the release page, proceed as follows:

  1. Download the zipped extension from the release page
  2. Unzip the file
  3. Double-click the VSIX-file to install the extension
  4. Launch Visual Studio

On startup, the plugin will ask you for the path to Codyze and to the mark files you want to use. If everythings checks out, the plugin will automatically start an instance of Codyze when a solution is opened. It will then scan .cpp files when opened or saved and highlight potential problems.

To adjust the path to Codyze, the mark files or change the command line arguments used for Codyze, in Visual Studio go to Tools -> Options... -> Codyze Plugin -> Codyze Settings.

"},{"location":"Getting%20Started/lsp/#integration-in-visual-studio-code","title":"Integration in Visual Studio Code","text":"

We build a Visual Studio Code plugin of Codyze for every new version. You can download a bundled *.vsix plugin from the release page of Codyze .

"},{"location":"Getting%20Started/lsp/#integration-through-lsp-mode","title":"Integration through LSP mode","text":"

Codyze offers an LSP mode. You can user the LSP mode to integrate Codyze into any IDE or text editor with support for LSP. You need to look up the recommended approach for your favorite IDE or text editor.

Once you know, how to configure an LSP tool, you need to start Codyze in LSP mode, i.e. codyze-v2 -l in Codyze v2 or codyze lsp in Codyze v3. Please refer to the configuration page.

"},{"location":"contributors/","title":"Contributing to Codyze","text":"

Codyze is open source and an ongoing effort to support developers and auditors in improving the quality of security-critical code. We welcome everybody to contribute to this project, be it fixing a typo in the documentation or implementing whole new language support and analysis modules.

Note

Please note that parts of this Codyze are backed by research projects. If you plan to make larger contributions, please contact us upfront to align your plans with possibly ongoing projects.

"},{"location":"contributors/#contributing-to-this-documentation","title":"Contributing to this documentation","text":"

This documentation lives in the same repository as the code and the idea is that both are always consistent. If you make changes in the code that affect the documentation, please update the documentation in the same pull request.

We use MkDocs for generating our documentation site and Material for MkDocs as our theme.

To extend or fix errors in this documentation, proceed as follows:

  1. Fork the Codyze repo on GitHub.
  2. Make your changes and send a pull request (PR).
  3. If you're not yet ready for a review, add \"WIP\" to the PR name to indicate it's a work in progress.
  4. Continue updating your doc and pushing your changes until you're happy with the content.
  5. When you're ready for a review, add a comment to the PR, and remove any \"WIP\" markers.
"},{"location":"contributors/#previewing-your-changes-locally","title":"Previewing your changes locally","text":"

If you want to run your own local server to preview your changes as you work, you can either install MkDocs or use a docker.

For installing MkDocs, please refer to the Material for MkDocs documentation .

For the docker, please refer to the README .

"},{"location":"contributors/#creating-an-issue","title":"Creating an issue","text":"

If you've found a problem in the docs, but you're not sure how to fix it yourself, please create an issue in the Codyze repo and add the label documentation to it. You can also create an issue about a specific page by clicking the Create Issue button in the top right hand corner of the page.

"},{"location":"contributors/#contributing-to-codyze","title":"Contributing to Codyze","text":""},{"location":"contributors/#opening-an-issue","title":"Opening an issue","text":"

We welcome any bug reports! Please use the issue tracker only to report bugs or unexpected behavior. If you have general questions about the project or need help in setting it up, please reach out to us directly and do not the issue tracker.

To report a bug, make sure to include the following information:

  1. What have you done? Provide the minimal set of files needed to reproduce the bug. If we cannot reproduce it, it's not a bug.
  2. What outcome have you expected, what outcome did you get?
  3. Can you provide any hints on what might be the cause of the bug and how you think it should be fixed?
"},{"location":"contributors/#useful-resources","title":"Useful resources","text":"
  • Material for MkDocs user guide : All about Material, the documentation template we use, including how it manages navigation, look and feel, and multi-language support.
  • MkDocs user guide : Comprehensive reference for MkDocs.
  • GitHub Hello World! : A basic introduction to GitHub concepts and workflow.
"},{"location":"contributors/CONTRIBUTING/","title":"How to Contribute?","text":"

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

"},{"location":"contributors/CONTRIBUTING/#contributor-license-agreement","title":"Contributor License Agreement","text":"

Contributions to this project must be accompanied by a Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. Head over to here to see your current agreements on file or to sign a new one.

You generally only need to submit a CLA once, so if you've already submitted one (even if it was for a different project), you probably don't need to do it again.

"},{"location":"contributors/CONTRIBUTING/#code-reviews","title":"Code reviews","text":"

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

"},{"location":"contributors/CONTRIBUTING/#community-guidelines","title":"Community Guidelines","text":"

This project follows Google's Open Source Community Guidelines .

"},{"location":"contributors/code/","title":"Build the project","text":""},{"location":"contributors/code/#prerequisites","title":"Prerequisites","text":"
  • Java SE 17 or later
"},{"location":"contributors/code/#check-out-build-and-extend-codyze","title":"Check out, build, and extend Codyze","text":"
  1. Fork the Codyze repo on GitHub and clone it:git clone git://github.com/<YOUR GITHUB>/codyze
  2. Create a branch for your contribution. We recommend prefixing the branch name with fix- if you are providing a bug fix or feature- if you plan to add a feature:git checkout -b feature-MY_EPIC_FEATURE
  3. Make your changes and make sure that the project builds without errors, passes all tests, and is properly formatted: ./gradlew :codyze-cli:clean :codyze-cli:spotlessApply :codyze-cli:build :codyze-cli:installDist The purpose of these gradle tasks is as follows:
    • clean Removes previous build artifacts
    • spotlessApply Applies source code formatting with the settings in formatter-settings.xml. If the code is not properly formatted the build server will reject it.
    • build Builds the main artifact (the jar file containing Codyze)
    • installDist Create an executable script for Linux, Mac, and Windows in codyze-cli/build/install/codyze-cli/bin
  4. When everything works, git commit your changes and git push them to GitHub, then create a pull request (PR). Make sure to describe want you intend the code to do and refer to any issues your PR might address (using the notation #123)
  5. If you're not yet ready for a review, add \"WIP\" to the PR name to indicate it's a work in progress.
  6. Wait for the automated CI workflow to do some checks.
  7. Continue working on your PR by pushing further commits to your branch until you are satisfied
  8. When you're ready for a review, add a comment to the PR, and remove any \"WIP\" markers.
"},{"location":"contributors/code/#code-formatting","title":"Code formatting","text":"

Codyze uses the gradle spotless plugin to format source code. You may import the code style definitions into your favorite IDE to apply it immediately.

"},{"location":"contributors/code/#gradle","title":"Gradle","text":"
  • Simply run ./gradlew :codyze-cli:spotlessApply
"},{"location":"contributors/code/#ides","title":"IDEs","text":"

You may find plugins for your favorite IDE that can execute Spotless within your IDE for you. Please refer to your respective IDE.

"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 000000000..0ffe5671b --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,68 @@ + + + + https://www.codyze.io/ + 2023-12-14 + daily + + + https://www.codyze.io/Codyze/ + 2023-12-14 + daily + + + https://www.codyze.io/Codyze/why-v3/ + 2023-12-14 + daily + + + https://www.codyze.io/Coko/ + 2023-12-14 + daily + + + https://www.codyze.io/Coko/modelling/ + 2023-12-14 + daily + + + https://www.codyze.io/Coko/rules/ + 2023-12-14 + daily + + + https://www.codyze.io/Getting%20Started/cli/ + 2023-12-14 + daily + + + https://www.codyze.io/Getting%20Started/configuration/ + 2023-12-14 + daily + + + https://www.codyze.io/Getting%20Started/installation/ + 2023-12-14 + daily + + + https://www.codyze.io/Getting%20Started/lsp/ + 2023-12-14 + daily + + + https://www.codyze.io/contributors/ + 2023-12-14 + daily + + + https://www.codyze.io/contributors/CONTRIBUTING/ + 2023-12-14 + daily + + + https://www.codyze.io/contributors/code/ + 2023-12-14 + daily + + \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz new file mode 100644 index 000000000..1f1a8bbf7 Binary files /dev/null and b/sitemap.xml.gz differ diff --git a/stylesheets/extra.css b/stylesheets/extra.css new file mode 100644 index 000000000..6ccfeec45 --- /dev/null +++ b/stylesheets/extra.css @@ -0,0 +1,12 @@ +[data-md-color-scheme="light"] { + --md-primary-fg-color: #001433; + --md-accent-fg-color: #728bab; +} + +[data-md-color-scheme="slate"] { + --md-primary-fg-color: #011229; + /* need to set the typeset color because it uses the primary color otherwise*/ + --md-typeset-a-color: #5981b4; + --md-hue: 220; + --md-accent-fg-color: #a4bede; +} \ No newline at end of file diff --git a/theme-overrides/home.html b/theme-overrides/home.html new file mode 100644 index 000000000..b5327fe1f --- /dev/null +++ b/theme-overrides/home.html @@ -0,0 +1,125 @@ +{% extends "main-styles.html" %} + +{% block tabs %} +{{ super() }} + + +
+
+
+ + + +
+

Codyze: Automated Code Compliance

+

Spotting flaws in C/C++, Java, Golang and Python code - automagically!

+ + +
+
+
+
+ +
+
+
+

+ Codyze has been funded by the Bundesamt für Sicherheit in der Informationstechnik (BSI).
+ The Code Property Graph project is funded by the Bavarian Ministry of Economic Affairs (StMWi). +

+ + +
+
+
+ + + +
+
+
+
+
+ + +
+
+

Verifying Compliance to Security Requirements

+

+ Codyze is a static analysis tool to support developers in verifying compliance to security requirements. +

+

Head to the release page and download Codyze.

+
+
+ + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+

+ Sparked your Interest? Join the Codyze Community! +

+
+
+

Develop and Contribute

+

We are happy to accept pull requests for bugfixes and improvements on GitHub!

+

If you are interested to write a bachelor/master/PhD thesis in static analysis, we encourage you to get in contact with us. Besides the open research topics offered by the Chair of IT Security at the Technical University of Munich , we are open to discuss further topics which might be of interest for you and us.

+
+ +
+

Funding and Collaboration

+

Codyze is a non-profit project under a commercial-friendly open source license. We are happy to either improve and extend Codyze in funded research projects or build a tailored version for your enterprise. + +

Commercial Development

+

We offer tailoring and integration of Codyze into your CI pipeline or audit processes. This includes development of rule sets for specific software platforms (Java EE, Spring, Android, Boost, etc.), development of interfaces to standard CI tools (Gitlab CI, Jenkins, Bamboo, Sonarqube, etc.), and development of additional analyses tailored to your needs. The results will not be public and remain solely at your disposal.

+

+

Research Collaboration

+

We regularly participate in publicly funded research projects at state, nation, and EU level. If you are interested in pushing the boundaries in static code analysis with us, we are happy to explore funding opportunities together with you.

+
+
+
+
+
+
+ +{% endblock %} +{% block content %}{% endblock %} \ No newline at end of file diff --git a/theme-overrides/main-styles.html b/theme-overrides/main-styles.html new file mode 100644 index 000000000..c94953835 --- /dev/null +++ b/theme-overrides/main-styles.html @@ -0,0 +1,280 @@ +{#- +This file was automatically generated - do not edit +NOTE: At line 9 -> 'background:' has the current color for the botom part of the cover +- current | #2a978d (OK w/ mkdocs.yaml -> palette -> /docs/assets/stylesheets) +- before | #2a978d (OK w/ mkdocs.yaml -> palette -> primary: "teal" + +Blue color variations +- darker | #0A192F +- lighter | #172A45 +-#} + +{% extends "main.html" %} + + +{% block tabs %} +{{ super() }} + + + +{% endblock %} \ No newline at end of file diff --git a/theme-overrides/main.html b/theme-overrides/main.html new file mode 100644 index 000000000..992967707 --- /dev/null +++ b/theme-overrides/main.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block extrahead %} +{{ super() }} + + +{% endblock %} \ No newline at end of file