Add diagnostic code to the ScriptDiagnostic
to allow checking for specific errors, e.g. incomplete statements in the REPL
This commit is contained in:
+2
-1
@@ -43,10 +43,11 @@ class JsScriptCompilerWithDependenciesProxy(private val environment: KotlinCoreE
|
||||
)
|
||||
}
|
||||
is ReplCompileResult.Incomplete -> ResultWithDiagnostics.Failure(
|
||||
ScriptDiagnostic("Incomplete code")
|
||||
ScriptDiagnostic(ScriptDiagnostic.unspecifiedError, "Incomplete code")
|
||||
)
|
||||
is ReplCompileResult.Error -> ResultWithDiagnostics.Failure(
|
||||
ScriptDiagnostic(
|
||||
ScriptDiagnostic.unspecifiedError,
|
||||
message = compileResult.message,
|
||||
severity = ScriptDiagnostic.Severity.ERROR
|
||||
)
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ internal class ScriptDiagnosticsMessageCollector(private val parentMessageCollec
|
||||
)
|
||||
)
|
||||
}
|
||||
_diagnostics.add(ScriptDiagnostic(message, mappedSeverity, location?.path, mappedLocation))
|
||||
_diagnostics.add(ScriptDiagnostic(ScriptDiagnostic.unspecifiedError, message, mappedSeverity, location?.path, mappedLocation))
|
||||
}
|
||||
parentMessageCollector?.report(severity, message, location)
|
||||
}
|
||||
|
||||
+2
@@ -57,12 +57,14 @@ fun getScriptKtFile(
|
||||
return when {
|
||||
ktFile == null -> ResultWithDiagnostics.Failure(
|
||||
ScriptDiagnostic(
|
||||
ScriptDiagnostic.unspecifiedError,
|
||||
message = "Cannot create PSI",
|
||||
severity = ScriptDiagnostic.Severity.ERROR
|
||||
)
|
||||
)
|
||||
ktFile.declarations.firstIsInstanceOrNull<KtScript>() == null -> ResultWithDiagnostics.Failure(
|
||||
ScriptDiagnostic(
|
||||
ScriptDiagnostic.unspecifiedError,
|
||||
message = "There is not Script",
|
||||
severity = ScriptDiagnostic.Severity.ERROR
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user