Peano
Loading...
Searching...
No Matches
exahype2.api.Project.Project.Generator Class Reference

Base class for the code generation steps that turn an ExaHyPE 2 Project's configuration into actual generated files. More...

Inheritance diagram for exahype2.api.Project.Project.Generator:
Collaboration diagram for exahype2.api.Project.Project.Generator:

Public Member Functions

 __init__ (self, "Project" project)
 
 construct_output (self, peano_project)
 Add this generator's output to peano_project (a peano4.api.Project-compatible object, or anything else that add()'s cleanly into peano_project.output).
 

Data Fields

 project
 

Detailed Description

Base class for the code generation steps that turn an ExaHyPE 2 Project's configuration into actual generated files.

generate_Peano4_project() below currently does this work inline (see the "@todo Has to go into a generator" note in there); the various steps it performs (writing the solver implementation files, the solver repository, the main file, ...) are meant to become Generator subclasses instead, of which SolverToCPPFiles is the first.

Definition at line 35 of file Project.py.

Constructor & Destructor Documentation

◆ __init__()

Member Function Documentation

◆ construct_output()

exahype2.api.Project.Project.Generator.construct_output (   self,
  peano_project 
)

Add this generator's output to peano_project (a peano4.api.Project-compatible object, or anything else that add()'s cleanly into peano_project.output).

This is the one thing every Generator has to implement.

peano_project: peano4.api.Project The Peano 4 project that self.project.generate_Peano4_project() is currently assembling. It is a local variable there, not an attribute - merely passed through here, so this generator can add its own artefacts to it.

Reimplemented in exahype2.api.generators.DefaultSimulationMain.DefaultSimulationMain, exahype2.api.generators.KernelMicrobenchmarkMain.KernelMicrobenchmarkMain, and exahype2.api.generators.SolverRepositoryGenerator.SolverRepositoryGenerator.

Definition at line 53 of file Project.py.

Field Documentation

◆ project


The documentation for this class was generated from the following file: