Skip to content

Commit 0d1fbb4

Browse files
committed
Emit smaller import aliases
To make the output smaller and easier to read.
1 parent 9468428 commit 0d1fbb4

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/Main.idr

+4-3
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ data Dart : Type where
2323
record DartT where
2424
constructor MkDartT
2525
imports : StringMap Doc
26+
nextImportId : Int
2627
includes : SortedSet String
2728
foreignTypeNames : StringMap Doc
2829
usesDelay : Bool
@@ -52,8 +53,8 @@ addImport lib = do
5253
s <- get Dart
5354
case lookup lib (imports s) of
5455
Nothing => do
55-
let alias = text (dartIdent lib)
56-
put Dart (record { imports $= insert lib alias } s)
56+
let alias = text ("$" ++ show (nextImportId s))
57+
put Dart (record { imports $= insert lib alias, nextImportId $= (+1) } s)
5758
pure alias
5859
Just alias =>
5960
pure alias
@@ -1020,7 +1021,7 @@ nubSort = SortedSet.toList . SortedSet.fromList
10201021
compileToDart : Ref Ctxt Defs -> ClosedTerm -> Core Doc
10211022
compileToDart defs term = do
10221023
(impDefs, impMain) <- compileToImperative defs term
1023-
ctx <- newRef Dart (MkDartT (fromList [("dart:core", "$")]) empty empty False)
1024+
ctx <- newRef Dart (MkDartT (fromList [("dart:core", "$")]) 1 empty empty False)
10241025
dartDefs <- dartStatement impDefs
10251026
dartMain <- dartStatement impMain
10261027
finalState <- get Dart

0 commit comments

Comments
 (0)