RustCompiler

de.uni_luebeck.isp.tessla.tessla_compiler.backends.rustBackend.RustCompiler$

Invokes cargo to generate a binary artifact from Rust code.

Attributes

artifactPath

A path where the final monitor binary will be copied to.

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Value members

Concrete methods

def createCargoWorkspace(workspaceDir: Path, artifactName: String, sourceCode: RustFiles, exportMain: Boolean): Unit

Creates a complete cargo workspace with all files necessary to expand it with your own code.

Creates a complete cargo workspace with all files necessary to expand it with your own code.

The Cargo.toml only gets written if it doesn't exist.

Attributes

artifactName

The name of the project and thus the name of the default src/main.rs binary

exportMain

Whether the default main.rs IO interface should be created

sourceCode

The source code to be exported.

workspaceDir

The directory the workspace is put into.

def exportLibrary(destination: Path): Unit

Exports the rust library crate from resources into an external folder

Exports the rust library crate from resources into an external folder

Attributes

destination

the destination folder

def phase(artifactPath: Path): TesslaPhase[RustFiles, Unit]

Concrete fields

final var ALLOWED_WARNINGS: String

A set of warnings that we know are present in the generated output Some of these are merely stylistic (variable names) and some are more interesting, but very hard to eliminate (too many parentheses, unused variables, dead code)

A set of warnings that we know are present in the generated output Some of these are merely stylistic (variable names) and some are more interesting, but very hard to eliminate (too many parentheses, unused variables, dead code)

Attributes