Skip to content

Commit b2e581f

Browse files
committed
Added Slang AST viewing support for .scala files.
1 parent 3743542 commit b2e581f

File tree

2 files changed

+17
-16
lines changed

2 files changed

+17
-16
lines changed

shared/src/main/scala/org/sireum/logika/Logika.scala

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -428,26 +428,26 @@ object Logika {
428428
def checkScript(fileUriOpt: Option[String], input: String, config: Config, nameExePathMap: HashMap[String, String],
429429
maxCores: Z, smt2f: lang.tipe.TypeHierarchy => Smt2, cache: Logika.Cache, reporter: Reporter,
430430
hasLogika: B, plugins: ISZ[Plugin], line: Z,
431-
skipMethods: ISZ[String], skipTypes: ISZ[String]): Unit = {
431+
skipMethods: ISZ[String], skipTypes: ISZ[String]): Option[AST.TopUnit] = {
432432
val parsingStartTime = extension.Time.currentMillis
433433
val isWorksheet: B = fileUriOpt match {
434434
case Some(p) => !ops.StringOps(p).endsWith(".scala") && !ops.StringOps(p).endsWith(".slang")
435435
case _ => T
436436
}
437437

438-
def checkScriptH(): Unit = {
438+
def checkScriptH(): Option[AST.TopUnit] = {
439439
val topUnitOpt = lang.parser.Parser(input).parseTopUnit[AST.TopUnit](
440440
isWorksheet = isWorksheet, isDiet = F, fileUriOpt = fileUriOpt, reporter = reporter)
441441
val libraryStartTime = extension.Time.currentMillis
442442
reporter.timing(parsingDesc, libraryStartTime - parsingStartTime)
443443
if (reporter.hasError) {
444444
reporter.illFormed()
445-
return
445+
return topUnitOpt
446446
}
447447
topUnitOpt match {
448448
case Some(program: AST.TopUnit.Program) =>
449449
if (!isWorksheet) {
450-
return
450+
return topUnitOpt
451451
}
452452
val (tc, rep) = extension.Cancel.cancellable(() => lang.FrontEnd.checkedLibraryReporter)
453453
val typeCheckingStartTime = extension.Time.currentMillis
@@ -486,9 +486,10 @@ object Logika {
486486
}
487487
case _ =>
488488
}
489+
return topUnitOpt
489490
}
490491

491-
extension.Cancel.cancellable(checkScriptH _)
492+
return extension.Cancel.cancellable(checkScriptH _)
492493
}
493494

494495
@pure def shouldCheck(fileSet: HashSSet[String], line: Z, posOpt: Option[Position]): B = {

shared/src/main/scala/org/sireum/logika/options/OptionsCli.scala

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,23 +39,23 @@ object OptionsCli {
3939
@datatype class HelpOption extends LogikaTopOption
4040

4141
@enum object LogikaBackground {
42-
'Type
43-
'Save
44-
'Disabled
42+
"Type"
43+
"Save"
44+
"Disabled"
4545
}
4646

4747
@enum object LogikaFPRoundingMode {
48-
'NearestTiesToEven
49-
'NearestTiesToAway
50-
'TowardPositive
51-
'TowardNegative
52-
'TowardZero
48+
"NearestTiesToEven"
49+
"NearestTiesToAway"
50+
"TowardPositive"
51+
"TowardNegative"
52+
"TowardZero"
5353
}
5454

5555
@enum object LogikaStrictPureMode {
56-
'Default
57-
'Flip
58-
'Uninterpreted
56+
"Default"
57+
"Flip"
58+
"Uninterpreted"
5959
}
6060

6161
@datatype class LogikaOption(

0 commit comments

Comments
 (0)