Skip to content

Commit f34d7a8

Browse files
committed
ICD Improvements
- navigation links now included Type Assignments - Updated version number from "4.6.0.4" to "4.6.0.5".
1 parent aa67a83 commit f34d7a8

File tree

2 files changed

+37
-14
lines changed

2 files changed

+37
-14
lines changed

BackendAst/GenerateAcnIcd.fs

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -589,15 +589,14 @@ let PrintModule stgFileName (m:Asn1Module) (f:Asn1File) (r:AstRoot) =
589589

590590
icd_acn.EmitModule stgFileName title (Path.GetFileName(f.FileName)) acnFileName commentsTail tases
591591

592-
let PrintNavLink stgFileName (m:Asn1Module) (f:Asn1File) (r:AstRoot) =
593-
let moduleName = m.Name.Value
594-
icd_acn.EmitNavLink stgFileName moduleName moduleName
592+
let PrintNavLink stgFileName sTitle sTarget =
593+
icd_acn.EmitNavLink stgFileName sTitle sTarget
595594

596595
let PrintTasses stgFileName (f:Asn1File) (r:AstRoot) =
597596
f.Modules |> Seq.map (fun m -> PrintModule stgFileName m f r ) |> String.concat "\n"
598597

599598
let PrintNavLinks stgFileName (f:Asn1File) (r:AstRoot) =
600-
f.Modules |> Seq.map (fun m -> PrintNavLink stgFileName m f r ) |> String.concat "\n"
599+
f.Modules |> Seq.map (fun m -> PrintNavLink stgFileName m.Name.Value m.Name.Value ) |> String.concat "\n"
601600

602601
let emitCss (r:AstRoot) stgFileName outFileName =
603602
let cssContent = icd_acn.RootCss stgFileName ()
@@ -680,7 +679,7 @@ let rec getMySelfAndChildren (r:AstRoot) (icdTas:IcdTypeAss) =
680679
| None -> ()
681680

682681
} |> Seq.toList
683-
682+
(*
684683
let PrintTasses2 stgFileName (r:AstRoot) : string list =
685684
let pdus = r.args.icdPdus |> Option.map Set.ofList
686685
r.icdHashes.Values |>
@@ -698,8 +697,8 @@ let PrintTasses2 stgFileName (r:AstRoot) : string list =
698697
| Some chIcdTas -> Some (emitTas2 stgFileName r (fun _ -> []) (selectTypeWithSameHash chIcdTas))
699698
| None -> None) |>
700699
Seq.toList
701-
702-
let printTasses3 stgFileName (r:DAst.AstRoot) : (string list)*(string list) =
700+
*)
701+
let printTasses3 stgFileName (r:DAst.AstRoot) : (string list)*(string list)*(IcdTypeAss list) =
703702
let pdus = r.args.icdPdus |> Option.map Set.ofList
704703
let icdHashesToPrint =
705704
seq {
@@ -719,13 +718,18 @@ let printTasses3 stgFileName (r:DAst.AstRoot) : (string list)*(string list) =
719718
let content = icdHashesToPrint |> Seq.StrJoin "\n"
720719
let fileName = sprintf "%s_icdHashesToPrint.txt" stgFileName
721720
File.WriteAllText(fileName, content)
722-
let files =
721+
let files, navLinks =
723722
icdHashesToPrint
724723
|> Seq.choose(fun hash ->
725724
match r.icdHashes.TryFind hash with
726-
| Some chIcdTas -> Some (emitTas2 stgFileName r (fun _ -> []) (selectTypeWithSameHash chIcdTas))
727-
| None -> None) |> Seq.toList
728-
(files, icdHashesToPrint)
725+
| Some chIcdTas ->
726+
//let PrintNavLink stgFileName sTitle sTarget =
727+
let tas = selectTypeWithSameHash chIcdTas
728+
let tasContent = emitTas2 stgFileName r (fun _ -> []) tas
729+
//let tasLink = icd_acn.EmitNavLink stgFileName tas.name tas.hash
730+
Some (tasContent, tas)
731+
| None -> None) |> Seq.toList |> List.unzip
732+
(files, icdHashesToPrint, navLinks)
729733

730734
let PrintAsn1FileInColorizedHtml (stgFileName:string) (r:AstRoot) (icdHashesToPrint:string list) (f:Asn1File) =
731735
let debug (tsName:string) =
@@ -846,15 +850,34 @@ let PrintAsn1FileInColorizedHtml (stgFileName:string) (r:AstRoot) (icdHashesToPr
846850

847851
let DoWork (r:AstRoot) (deps:Asn1AcnAst.AcnInsertedFieldDependencies) (stgFileName:string) (asn1HtmlStgFileMacros:string option) outFileName =
848852
let files1 = TL "GenerateAcnIcd_PrintTasses" (fun () -> r.Files |> List.map (fun f -> PrintTasses stgFileName f r ))
849-
let (files1b, icdHashesToPrint) = TL "GenerateAcnIcd_printTasses3" (fun () -> printTasses3 stgFileName r)
853+
let (files1b, icdHashesToPrint, icdTasList ) = TL "GenerateAcnIcd_printTasses3" (fun () -> printTasses3 stgFileName r)
850854
let bAcnParamsMustBeExplained = true
851855
let asn1HtmlMacros =
852856
match asn1HtmlStgFileMacros with
853857
| None -> stgFileName
854858
| Some x -> x
855859
let files2 = TL "GenerateAcnIcd_PrintAsn1FileInColorizedHtml" (fun () -> r.Files |> List.map (PrintAsn1FileInColorizedHtml asn1HtmlMacros r icdHashesToPrint))
856860
let files3 = TL "GenerateAcnIcd_PrintAcnAsHTML2" (fun () -> PrintAcnAsHTML2 stgFileName r icdHashesToPrint)
857-
let navLinks = TL "GenerateAcnIcd_NavLinks" (fun () -> r.Files |> List.map (fun f -> PrintNavLinks stgFileName f r ) |> String.concat "\n")
861+
862+
let navLinks =
863+
seq {
864+
for f in r.Files do
865+
for m in f.Modules do
866+
let moduleLink = PrintNavLink stgFileName m.Name.Value m.Name.Value
867+
yield moduleLink
868+
let thisModuleTasses =
869+
icdTasList |>
870+
List.choose(fun tas ->
871+
match tas.tasInfo with
872+
| None -> None
873+
| Some tsInfo when tsInfo.modName = m.Name.Value -> Some tas
874+
| Some _ -> None) |>
875+
List.sortBy (fun tas -> tas.name)
876+
for tas in thisModuleTasses do
877+
let tasLink = PrintNavLink stgFileName tas.name tas.hash
878+
yield tasLink
879+
} |> Seq.distinct |> Seq.toList |> String.concat "\n"
880+
858881
let cssFileName = Path.ChangeExtension(outFileName, ".css")
859882
let htmlContent = TL "GenerateAcnIcd_RootHtml" (fun () -> icd_acn.RootHtml stgFileName files1 files2 bAcnParamsMustBeExplained files3 (Path.GetFileName(cssFileName)) navLinks)
860883
let htmlContentb = TL "GenerateAcnIcd_RootHtml_b" (fun () -> icd_acn.RootHtml stgFileName files1b files2 bAcnParamsMustBeExplained files3 (Path.GetFileName(cssFileName)) navLinks)

asn1scc/Program.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ let printVersion () =
124124
//let fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location);
125125
//let version = fvi.FileVersion;
126126

127-
let version = "4.6.0.4"
127+
let version = "4.6.0.5"
128128
printfn "asn1scc version %s\n" version
129129
()
130130

0 commit comments

Comments
 (0)