Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | (* Copyright (C) 2009,2017 Matthew Fluet. |
2 | * Copyright (C) 1999-2005 Henry Cejtin, Matthew Fluet, Suresh | |
3 | * Jagannathan, and Stephen Weeks. | |
4 | * Copyright (C) 1997-2000 NEC Research Institute. | |
5 | * | |
6 | * MLton is released under a BSD-style license. | |
7 | * See the file MLton-LICENSE for details. | |
8 | *) | |
9 | ||
10 | signature ID_STRUCTS = | |
11 | sig | |
12 | val noname: string | |
13 | end | |
14 | ||
15 | signature ID = | |
16 | sig | |
17 | include ID_STRUCTS | |
18 | ||
19 | type t | |
20 | ||
21 | val bogus: t | |
22 | val clear: t -> unit | |
23 | val clearPrintName: t -> unit | |
24 | val equals: t * t -> bool | |
25 | val layout: t -> Layout.t | |
26 | val fromString: string -> t (* doesn't add uniquefying suffix *) | |
27 | val hash: t -> word | |
28 | val new: t -> t (* new id with the same originalName *) | |
29 | val newNoname: unit -> t (* prefix is noname *) | |
30 | val newString: string -> t (* new id with printName not set *) | |
31 | val originalName: t -> string (* raw destructor *) | |
32 | val plist: t -> PropertyList.t | |
33 | val printNameAlphaNumeric: bool ref | |
34 | val toString: t -> string | |
35 | end |