From f3f24b25bbdaa4efbd12754ab8ec83f0ed40c302 Mon Sep 17 00:00:00 2001
From: Alexander Medvednikov <alexander@medvednikov.com>
Date: Tue, 25 Jun 2019 22:19:17 +0200
Subject: [PATCH] remove old types  and

---
 compiler/parser.v  | 7 +------
 compiler/scanner.v | 2 +-
 compiler/table.v   | 8 +++-----
 gg/gg.v            | 4 ++--
 glfw/glfw.v        | 8 ++++----
 time/time_mac.v    | 4 ++--
 6 files changed, 13 insertions(+), 20 deletions(-)

diff --git a/compiler/parser.v b/compiler/parser.v
index 7f979a1c0a..99005a8717 100644
--- a/compiler/parser.v
+++ b/compiler/parser.v
@@ -1925,10 +1925,6 @@ fn (p mut Parser) factor() string {
 	switch tok {
 	case INT:
 		typ = 'int'
-		// typ = 'number'
-		if p.lit.starts_with('u') {
-			typ = 'long'
-		}
 		if p.lit.contains('.') || p.lit.contains('e') {
 			typ = 'f32'
 			// typ = 'f64' // TODO 
@@ -2087,14 +2083,13 @@ fn (p mut Parser) typ_to_fmt(typ string) string {
 	switch typ {
 	case 'string': return '%.*s'
 	case 'ustring': return '%.*s'
-	case 'long': return '%ld'
 	case 'byte': return '%d'
 	case 'int': return '%d'
 	case 'char': return '%d'
 	case 'byte': return '%d'
 	case 'bool': return '%d'
 	case 'u32': return '%d'
-	case 'double', 'f64', 'f32': return '%f'
+	case 'f64', 'f32': return '%f'
 	case 'i64': return '%lld'
 	case 'byte*': return '%s'
 		// case 'array_string': return '%s'
diff --git a/compiler/scanner.v b/compiler/scanner.v
index 8ea03dc697..720b8ec47a 100644
--- a/compiler/scanner.v
+++ b/compiler/scanner.v
@@ -85,7 +85,7 @@ fn (s mut Scanner) ident_number() string {
 		if c == `.` {
 			is_float = true
 		}
-		is_good_hex := is_hex && (c == `x` || c == `u` || (c >= `a` && c <= `f`))
+		is_good_hex := is_hex && (c == `x`  || (c >= `a` && c <= `f`))
 		// 1e+3, 1e-3, 1e3
 		if !is_hex && c == `e` {
 			next := s.text[s.pos + 1]
diff --git a/compiler/table.v b/compiler/table.v
index 26bf2e14c4..7b50e18de5 100644
--- a/compiler/table.v
+++ b/compiler/table.v
@@ -97,8 +97,8 @@ fn (f Fn) str() string {
 // fn (types array_Type) print_to_file(f string)  {
 // }
 const (
-	NUMBER_TYPES = ['number', 'int', 'i8', 'u8', 'i16', 'u16', 'i32', 'u32', 'byte', 'i64', 'u64', 'long', 'double', 'f32', 'f64']
-	FLOAT_TYPES  = ['double', 'f32', 'f64']
+	NUMBER_TYPES = ['number', 'int', 'i8', 'u8', 'i16', 'u16', 'i32', 'u32', 'byte', 'i64', 'u64', 'f32', 'f64']
+	FLOAT_TYPES  = ['f32', 'f64']
 )
 
 fn is_number_type(typ string) bool {
@@ -126,10 +126,8 @@ fn new_table(obfuscate bool) *Table {
 	// t.register_type_with_parent('i64', 'int')
 	t.register_type('i64')
 	t.register_type_with_parent('u64', 'int')
-	t.register_type('long')
 	t.register_type('byteptr')
 	t.register_type('intptr')
-	t.register_type('double')// TODO remove
 	t.register_type('f32')
 	t.register_type('f64')
 	t.register_type('rune')
@@ -433,7 +431,7 @@ fn (p mut Parser) _check_types(got, expected string, throw bool) bool {
 		return true
 	}
 	// Allow ints to be used as longs
-	if got.eq('int') && expected.eq('long') {
+	if got=='int' && expected=='i64' {
 		return true
 	}
 	if got == 'void*' && expected.starts_with('fn ') {
diff --git a/gg/gg.v b/gg/gg.v
index c99922cf6d..08b40a635d 100644
--- a/gg/gg.v
+++ b/gg/gg.v
@@ -268,7 +268,7 @@ fn (ctx &GG) draw_rect2(x, y, w, h f32, c gx.Color) {
 
 // jfn ft_load_char(face FT_Face, code FT_ULong) Character {
 // fn ft_load_char(_face voidptr, _code voidptr) Character {
-fn ft_load_char(_face Face, code long) Character {
+fn ft_load_char(_face Face, code i64) Character {
 	// #FT_Face face = *(FT_Face*)(_face); FT_ULong code = *(FT_ULong*)(code);
 	# FT_Face face = *((FT_Face*)_face.cobj);
 	# if (FT_Load_Char(face, code, FT_LOAD_RENDER))
@@ -374,7 +374,7 @@ fn new_context_text(cfg Cfg, scale int) *GG {
 		// ch:=ft_load_char(face, c)
 		// # ch =gg__ft_load_char(&face, &c);
 		// ////////////////////////////////
-		mut ch := ft_load_char(f, long(c))
+		mut ch := ft_load_char(f, i64(c))
 		// s := utf32_to_str(uint(0x043f))
 		// s := 'п'
 		// ch = ft_load_char(f, s.utf32_code())
diff --git a/glfw/glfw.v b/glfw/glfw.v
index 186b8f57e0..b235d4fbbc 100644
--- a/glfw/glfw.v
+++ b/glfw/glfw.v
@@ -136,7 +136,7 @@ fn init() {
 }
 
 // fn mouse_move(w * GLFWwindow, x, y double) {
-fn mouse_move(w voidptr, x, y double) {
+fn mouse_move(w voidptr, x, y f64) {
 	// #printf("%f : %f => %d \n", x,y);
 }
 
@@ -244,7 +244,7 @@ fn (w mut Window) onchar(cb voidptr) {
 	C.glfwSetCharModsCallback(w.data, cb)
 }
 
-fn get_time() double {
+fn get_time() f64 {
 	return C.glfwGetTime()
 }
 
@@ -266,8 +266,8 @@ fn (w &Window) set_clipboard_text(s string) {
 }
 
 fn (w &Window) get_cursor_pos() Pos {
-	x := double(0)
-	y := double(0)
+	x := f64(0)
+	y := f64(0)
 	C.glfwGetCursorPos(w.data, &x, &y)
 	return Pos {
 		x: int(x)
diff --git a/time/time_mac.v b/time/time_mac.v
index d20d2dae4c..f7e1a4c189 100644
--- a/time/time_mac.v
+++ b/time/time_mac.v
@@ -9,14 +9,14 @@ module time
 //#include <mach/mach_time.h>
 
 // in ms
-fn ticks() double {
+fn ticks() f64 {
 	panic('not implemented') 
 /* 
 	t := i64(C.mach_absolute_time())
 	# Nanoseconds elapsedNano = AbsoluteToNanoseconds( *(AbsoluteTime *) &t );
 	# return (double)(* (uint64_t *) &elapsedNano) / 1000000;
 */ 
-	return double(0)
+	return f64(0)
 }
 
 fn sleep(seconds int) {