src/Pure/General/toml.scala
changeset 78927 64f47e86526b
parent 78920 e495f910dd94
child 78939 218929597048
equal deleted inserted replaced
78926:35d42112301a 78927:64f47e86526b
   421   }
   421   }
   422 
   422 
   423   object Parse_Context {
   423   object Parse_Context {
   424     case class Seen(inlines: Set[Keys], tables: Set[Keys])
   424     case class Seen(inlines: Set[Keys], tables: Set[Keys])
   425 
   425 
   426     def empty: Parse_Context = new Parse_Context(Map(Nil -> Seen(Set.empty, Set.empty)))
   426     def apply(): Parse_Context = new Parse_Context(Map(Nil -> Seen(Set.empty, Set.empty)))
   427   }
   427   }
   428 
   428 
   429   def parse(s: Str, context: Parse_Context = Parse_Context.empty): Table = {
   429   def parse(s: Str, context: Parse_Context = Parse_Context()): Table = {
   430     val file = Parsers.parse(s)
   430     val file = Parsers.parse(s)
   431 
   431 
   432     def convert(ks0: Keys, ks1: Keys, v: Parsers.V): T = {
   432     def convert(ks0: Keys, ks1: Keys, v: Parsers.V): T = {
   433       def to_table(ks: Keys, t: T): Table =
   433       def to_table(ks: Keys, t: T): Table =
   434         ks.dropRight(1).foldRight(Table(ks.last -> t))((k, v) => Table(k -> v))
   434         ks.dropRight(1).foldRight(Table(ks.last -> t))((k, v) => Table(k -> v))