71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			V
		
	
	
// Copyright (c) 2019 Alexander Medvednikov. All rights reserved.
 | 
						|
// Use of this source code is governed by an MIT license
 | 
						|
// that can be found in the LICENSE file.
 | 
						|
 | 
						|
module builtin
 | 
						|
 | 
						|
import strings
 | 
						|
 | 
						|
struct map {
 | 
						|
	obj voidptr
 | 
						|
}
 | 
						|
 | 
						|
//fn (m mut map) insert(n mut mapnode, key string, val voidptr) {
 | 
						|
//}
 | 
						|
 | 
						|
//////fn (n & mapnode) find(key string, out voidptr, element_size int) bool{
 | 
						|
	//return false
 | 
						|
//}
 | 
						|
 | 
						|
// same as `find`, but doesn't return a value. Used by `exists`
 | 
						|
//fn (n & mapnode) find2(key string, element_size int) bool{
 | 
						|
	//return false
 | 
						|
//}
 | 
						|
 | 
						|
fn (m mut map) _set(key string, val voidptr) {
 | 
						|
}
 | 
						|
 | 
						|
//fn preorder_keys(node &mapnode, keys mut []string, key_i int) int {
 | 
						|
	//return 0
 | 
						|
//}
 | 
						|
 | 
						|
pub fn (m mut map) keys() []string {
 | 
						|
	return ['']
 | 
						|
}
 | 
						|
 | 
						|
fn (m map) get(key string, out voidptr) bool {
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
pub fn (m mut map) delete(key string) {
 | 
						|
}
 | 
						|
 | 
						|
fn (m map) _exists(key string) bool {
 | 
						|
	return false
 | 
						|
}
 | 
						|
 | 
						|
pub fn (m map) print() {
 | 
						|
	println('<<<<<<<<')
 | 
						|
	println('>>>>>>>>>>')
 | 
						|
}
 | 
						|
 | 
						|
pub fn (m map) free() {
 | 
						|
	// C.free(m.table)
 | 
						|
	// C.free(m.keys_table)
 | 
						|
}
 | 
						|
 | 
						|
pub fn (m map_string) str() string {
 | 
						|
	/*
 | 
						|
	if m.size == 0 {
 | 
						|
		return '{}'
 | 
						|
	}
 | 
						|
	*/
 | 
						|
	mut sb := strings.new_builder(50)
 | 
						|
	sb.writeln('{')
 | 
						|
	for key, val  in m {
 | 
						|
		//sb.writeln('  "$key" => "$val"')
 | 
						|
	}
 | 
						|
	sb.writeln('}')
 | 
						|
	return sb.str()
 | 
						|
}
 |