Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/semant/members.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/semant/members.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 276, Mon May 17 06:01:28 1999 UTC revision 277, Mon May 17 09:13:26 1999 UTC
# Line 20  Line 20 
20    
21      val expandOne : (AbsPath.t -> DependencyGraph.farnode SymbolMap.map)      val expandOne : (AbsPath.t -> DependencyGraph.farnode SymbolMap.map)
22          -> { sourcepath: AbsPath.t, group: AbsPath.t, class: string option,          -> { sourcepath: AbsPath.t, group: AbsPath.t, class: string option,
23               error : string -> unit }               error : string -> (PrettyPrint.ppstream -> unit) -> unit }
24          -> collection          -> collection
25      val sequential : collection * collection * (string -> unit) -> collection      val sequential : collection * collection * (string -> unit) -> collection
26    
# Line 33  Line 33 
33    
34      structure DG = DependencyGraph      structure DG = DependencyGraph
35      structure Symbol = GenericVC.Symbol      structure Symbol = GenericVC.Symbol
36        structure EM = GenericVC.ErrorMsg
37    
38      type smlinfo = SmlInfo.info      type smlinfo = SmlInfo.info
39      type symbol = Symbol.symbol      type symbol = Symbol.symbol
# Line 73  Line 74 
74    
75      fun expandOne gexports { sourcepath, group, class, error } = let      fun expandOne gexports { sourcepath, group, class, error } = let
76          fun noPrimitive () = let          fun noPrimitive () = let
77              val expansions = PrivateTools.expand error (sourcepath, class)              fun e0 s = error s EM.nullErrorBody
78                val expansions = PrivateTools.expand e0 (sourcepath, class)
79              fun exp2coll (PrivateTools.GROUP p) =              fun exp2coll (PrivateTools.GROUP p) =
80                  COLLECTION { subexports = gexports p,                  COLLECTION { subexports = gexports p,
81                               smlfiles = [],                               smlfiles = [],
# Line 84  Line 86 
86                          Policy.default                          Policy.default
87                          { sourcepath = p, group = group,                          { sourcepath = p, group = group,
88                            error = error, history = h,                            error = error, history = h,
89                            share = s, stableinfo = NONE }                            share = s }
90                      val exports = SmlInfo.exports i                      val exports = SmlInfo.exports i
91                      fun addLD (s, m) = SymbolMap.insert (m, s, i)                      fun addLD (s, m) = SymbolMap.insert (m, s, i)
92                      val ld = SymbolSet.foldl addLD SymbolMap.empty exports                      val ld = SymbolSet.foldl addLD SymbolMap.empty exports
# Line 94  Line 96 
96                                   localdefs = ld }                                   localdefs = ld }
97                  end                  end
98              val collections = map exp2coll expansions              val collections = map exp2coll expansions
99              fun combine (c1, c2) = sequential (c2, c1, error)              fun combine (c1, c2) = sequential (c2, c1, e0)
100          in          in
101              foldl combine empty collections              foldl combine empty collections
102          end          end

Legend:
Removed from v.276  
changed lines
  Added in v.277

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0