Package-level declarations

Types

Link copied to clipboard

Direction of one compiled publish/subscribe endpoint.

Link copied to clipboard
data class AnalysisInterfaceEndpoint(val direction: AnalysisInterfaceDirection, val topicType: String, val payloadDeclaredType: String, val payloadCanonicalType: String, val fields: List<String>, val harnessFields: List<AnalysisInterfaceField>)

Renderer-neutral description of one activity endpoint.

Link copied to clipboard
data class AnalysisInterfaceField(val path: String, val asil: String)

One compiled payload leaf retained by the harness after annotation reconciliation.

Link copied to clipboard
data class AnalysisInterfaceInventory(val schemaVersion: Int = 1, val activityName: String, val analysisDepth: AnalysisDepth, val endpoints: List<AnalysisInterfaceEndpoint>, val diagnostics: List<SourceCodeAnalysisHarnessDiagnostic> = emptyList())

Versioned handoff produced once by the compiled C++ analysis-interface scanner.

Link copied to clipboard

Deterministic JSON serialization used for Gradle task handoff and diagnostics.

Link copied to clipboard
data class AnalysisInterfaceInventoryRequest(val activityName: String, val implementationHeader: SourceCodeAnalysisFile, val topicsFile: Path, val interfacePointsAnnotationFile: Path? = null, val analysisDepth: AnalysisDepth, val schemaValidation: SourceCodeAnalysisHarnessSchemaValidation, val elementAsil: ASIL? = null)

Exact activity inputs required to scan a compiled analysis interface.

data class InitSourceCodeAnalysisConfigurationRequest(val projectRoot: Path, val elementDir: Path, val producerVersion: String = "", val elementProjectPath: String? = null, val buildFile: Path = elementDir.resolve("build.gradle.kts"), val elementAsil: ASIL? = null, val configured: SourceCodeAnalysisInputs = SourceCodeAnalysisInputs(), val options: SourceCodeAnalysisInputs = SourceCodeAnalysisInputs(), val compileValidation: SourceCodeAnalysisCompileValidation? = null, val transformRegistry: BitcodeTransformRegistryConfig = BitcodeTransformRegistryConfig(), val authoritativeProposal: SourceCodeAnalysisConfigurationProposal? = null, val authoritativeInventory: SourceCodeAnalysisAuthoritativeInventory? = null, val outputDirectory: Path = elementDir.resolve("build/stig/stigConfigureAnalysis"), val preview: Boolean = false)

Creates or reconciles analysis configuration for one existing element.

data class InitSourceCodeAnalysisConfigurationResult(val createdFiles: List<Path>, val overwrittenFiles: List<Path>, val skippedFiles: List<Path>, val configurationUpdated: Boolean, val configurationRequiresManualApplication: Boolean, val configurationDecision: String, val sharedTransformRegistryUpdated: Boolean = false, val sharedTransformRegistryDecision: String = "not requested", val manualConfiguration: String, val annotationDiagnostics: List<String>, val sourceDiagnostics: List<String>, val provisionalTransformCount: Int, val reviewFile: Path, val reviewActionCount: Int)
Link copied to clipboard
data class SourceCodeAnalysisAuthoritativeInventory(val workspaceRoot: Path, val moduleLlFile: Path, val compiledBitcodeIndexFile: Path, val bitcodeDir: Path, val nmBinary: String = StigLlvmToolchain.LLVM_NM)
Link copied to clipboard
data class SourceCodeAnalysisCompileValidation(val compileCommandsFile: Path, val additionalQuoteIncludePaths: List<Path> = emptyList(), val additionalSourceFiles: List<Path> = emptyList(), val activeTransforms: BitcodeTransformsConfig = BitcodeTransformsConfig(), val clangBinary: String = StigLlvmToolchain.CLANGXX, val cxxfiltBinary: String = StigLlvmToolchain.CXXFILT, val discoverProvisionalTransforms: Boolean = true)

Real native compile-command context used to validate generated field/member expressions before writing them.

data class SourceCodeAnalysisConfigurationArtifactReference(val path: String = "", val sha256: String = "", val mediaType: String = "application/json")
data class SourceCodeAnalysisConfigurationResultArtifact(val schemaId: String = SOURCE_CODE_ANALYSIS_CONFIGURATION_RESULT_SCHEMA, val schemaVersion: Int = 4, val producer: SourceCodeAnalysisConfigurationResultProducer = SourceCodeAnalysisConfigurationResultProducer(), val operation: String = "", val activityProjectPath: String = "", val activityDirectory: String = "", val nativeTarget: String = "", val dryRun: Boolean = false, val status: SourceCodeAnalysisConfigurationResultStatus = SourceCodeAnalysisConfigurationResultStatus.ACTION_REQUIRED, val actionCodes: List<SourceCodeAnalysisConfigurationResultActionCode> = emptyList(), val configurationDecision: String = "", val configurationRequiresManualApplication: Boolean = false, val configurationProposalDsl: String? = null, val selectedAnalysisCompileUnits: List<String> = emptyList(), val evidence: List<SourceCodeAnalysisConfigurationArtifactReference> = emptyList(), val sourceModelActions: List<SourceCodeAnalysisReviewAction> = emptyList(), val transformReviews: List<SourceCodeAnalysisTransformReview> = emptyList())
data class SourceCodeAnalysisConfigurationResultProducer(val name: String = "STIG", val version: String = "")
Link copied to clipboard
data class SourceCodeAnalysisDefinitionEvidence(val schemaVersion: Int = 1, val checkpoint: String = "CLANG_BEFORE_LLVM_PASSES", val compilerInputs: List<SourceCodeAnalysisDefinitionInput>, val functions: List<SourceCodeAnalysisFunctionDefinition>)

Compiler observations used only to propose configuration, never to confirm a model.

Link copied to clipboard
data class SourceCodeAnalysisDefinitionInput(val source: String, val command: List<String>, val workingDirectory: String?, val llvmSha256: String)
Link copied to clipboard
data class SourceCodeAnalysisDefinitionLocation(val compileUnit: String, val sourceFile: String?, val line: Int?, val includedFile: Boolean?)

Locations come from emitted definitions' debug metadata, not header filename suffixes.

Link copied to clipboard
data class SourceCodeAnalysisFile(val repoName: String, val relativePath: String, val file: Path)

A repository-owned file or directory used by source-code-analysis initialization.

Link copied to clipboard
data class SourceCodeAnalysisFunctionDefinition(val llvmSymbol: String, val demangledName: String, val definitions: List<SourceCodeAnalysisDefinitionLocation> = emptyList(), val declarationCompileUnits: List<String> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisHarnessArtifacts(val source: String, val interfaceHeader: String, val contract: SourceCodeAnalysisHarnessContract, val diagnostics: List<SourceCodeAnalysisHarnessDiagnostic> = emptyList())
Link copied to clipboard
data class SourceCodeAnalysisHarnessContract(val schemaVersion: Int = 2, val generatedLifecycleEntryFunction: String = "harness::Entry::Execute()", val configuredAnalyzerEntryPoints: List<String> = listOf("harness::Entry::Execute()"), val implementationClass: String, val lifecycleProfile: SourceCodeAnalysisLifecycleProfile, val preCycleInitializationMethod: String? = null, val requiredEntryCalls: List<SourceCodeAnalysisHarnessEntryCall>, val markers: List<SourceCodeAnalysisHarnessMarker>)
Link copied to clipboard
data class SourceCodeAnalysisHarnessDiagnostic(val severity: ProblemSeverity, val message: String, val subjectId: String)
Link copied to clipboard
data class SourceCodeAnalysisHarnessMarker(val kind: SourceCodeAnalysisHarnessMarkerKind, val topicType: String, val tagType: String? = null)
Link copied to clipboard
data class SourceCodeAnalysisHarnessRequest(val activityName: String, val implementationClassName: String, val implementationNamespace: String, val activityContextType: String, val implementationHeader: SourceCodeAnalysisFile, val topicsFile: Path? = null, val interfacePointsAnnotationFile: Path? = null, val analysisDepth: AnalysisDepth, val lifecycleProfile: SourceCodeAnalysisLifecycleProfile, val configuredAnalyzerEntryPoints: List<String> = emptyList(), val preCycleInitializationMethod: String? = null, val schemaValidation: SourceCodeAnalysisHarnessSchemaValidation? = null, val analysisInterfaceInventory: AnalysisInterfaceInventory? = null, val elementAsil: ASIL? = null)

Inputs for the cacheable normal-pipeline lifecycle harness renderer.

data class SourceCodeAnalysisHarnessSchemaValidation(val compileCommandsFile: Path, val implementationSourceFile: Path, val additionalQuoteIncludePaths: List<Path> = emptyList(), val clangBinary: String = StigLlvmToolchain.CLANGXX)
Link copied to clipboard
data class SourceCodeAnalysisInputs(val nativeTarget: String? = null, val implementationClassName: String? = null, val implementationNamespace: String? = null, val activityContextType: String? = null, val implementationHeader: SourceCodeAnalysisFile? = null, val activitySourceRoot: SourceCodeAnalysisFile? = null, val analysisSources: List<SourceCodeAnalysisFile>? = null, val analysisSourceTrees: List<SourceCodeAnalysisFile>? = null, val topicsFile: SourceCodeAnalysisFile? = null, val topicNamespace: String? = null, val interfacePointsAnnotationFile: SourceCodeAnalysisFile? = null, val analysisDepth: AnalysisDepth? = null, val lifecycleProfile: SourceCodeAnalysisLifecycleProfile? = null, val nativeCompileTargets: List<String>? = null, val nativeInterfaceTargets: List<String>? = null)

Values already present in the selected element DSL or supplied explicitly by a front-end.

Link copied to clipboard

Reviewed lifecycle shapes supported by generated source-code-analysis harnesses.

Link copied to clipboard
data class SourceCodeAnalysisReviewAction(val symbol: String, val exactSignatures: List<String> = emptyList(), val llvmSymbols: List<String> = emptyList(), val ownerCompileUnits: List<String> = emptyList(), val ownerRepositories: List<String> = emptyList(), val ownerSourceLocations: List<String> = emptyList(), val requiredBySources: List<String> = emptyList(), val callingFunctions: List<String> = emptyList(), val currentRule: BitcodeTransformRule? = null, val llvmCandidateRule: BitcodeTransformRule? = null, val derivedBehavior: String, val reason: String, val llvmFacts: List<String> = emptyList(), val endpointMappings: List<String> = emptyList(), val highMessage: String? = null, val definitionEvidence: List<SourceCodeAnalysisFunctionDefinition> = emptyList(), val proposedDefinitionMode: DefinitionMode? = null)
Link copied to clipboard
data class SourceCodeAnalysisTransformReview(val identity: String, val kind: String, val exactMatchedSymbols: List<String> = emptyList(), val ownerEvidence: List<String> = emptyList(), val llvmDerivedBehavior: String, val reviewStatus: BitcodeTransformReviewStatus, val p5Validation: String = "NOT_RUN", val p5ValidationEvidence: List<String> = emptyList(), val definitionMode: DefinitionMode? = null, val proposedDefinitionMode: DefinitionMode? = null, val definitionEvidence: List<SourceCodeAnalysisFunctionDefinition> = emptyList())

Functions

Link copied to clipboard

Records completed review once in literal project registry declarations, preserving the other arguments.

Generated with STIG