pub fn new(source: &str, programs: Vec<Program>) -> Self {
        Self {
            source_map: SourceMap::new(source),
            programs,
        }
    }
/// Creates a new document with the document source text and [Program](crate::Program)s parsed
/// out of the document.
Creates a new document with the document source text and [Program](crate::Program)s parsed
out of the document.
Creates a new document with the document source text and [ Program ] ( crate :: Program ) s parsed out of the document .
pub fn new(source: &str, programs: Vec<Program>) -> Self {
        Self {
            source_map: SourceMap::new(source),
            programs,
        }
    }
pub fn new ( source : & str , programs : Vec < Program > ) -> Self { Self { source_map : SourceMap :: new ( source ) , programs , } }
Creates a new document with the document source text and [Program](crate::Program)s parsed
out of the document.
Creates a new document with the document source text and [ Program ] ( crate :: Program ) s parsed out of the document .
source
&str
programs
Vec<Program>
source
&str
programs
Vec<Program>