Swapped pointers to the other side for types to prevent ambiguity, i.e. *int instead of int*

This commit is contained in:
Nathan Braswell
2015-07-04 17:02:51 -04:00
parent d2b12fea35
commit 2c29846570
41 changed files with 149 additions and 166 deletions

View File

@@ -2,18 +2,18 @@ import vector
import util
import mem
fun string(in:char*):string {
fun string(in:*char):string {
var out:string = in
return out
}
obj string (Object) {
var data: vector::vector<char>;
fun construct(): string* {
fun construct(): *string {
data.construct();
return this;
}
fun construct(str: char*): string* {
fun construct(str: *char): *string {
data.construct();
while(*str) {
data.addEnd(*str);
@@ -22,23 +22,23 @@ obj string (Object) {
// no null terminator
return this;
}
fun construct(vec: vector::vector<char>): string* {
fun construct(vec: vector::vector<char>): *string {
data.copy_construct(&vec);
return this;
}
fun construct(str: string): string* {
fun construct(str: string): *string {
return construct(str.data);
}
fun copy_construct(old: string*): void {
fun copy_construct(old: *string): void {
data.copy_construct(&old->data)
}
fun copy_construct(old: char**): void {
fun copy_construct(old: **char): void {
construct(*old)
}
fun operator=(str: char*): void {
fun operator=(str: *char): void {
destruct();
construct(str)
}
@@ -69,7 +69,7 @@ obj string (Object) {
return length() == other.length() && !util::range(length()).any_true(fun(i: int):bool { return data[i] != other[i]; } )
}
fun operator+(str: char*): string {
fun operator+(str: *char): string {
var newStr.construct(str):string
var ret.construct(data + newStr.data):string
return ret
@@ -85,7 +85,7 @@ obj string (Object) {
data += character
}
fun operator+=(str: char*): void {
fun operator+=(str: *char): void {
var newStr.construct(str):string
data += newStr.data
}
@@ -95,8 +95,8 @@ obj string (Object) {
data += newStr.data
}
fun toCharArray(): char* {
var out: char* = mem::new<char>(data.size+1);
fun toCharArray(): *char {
var out: *char = mem::new<char>(data.size+1);
for (var i: int = 0; i < data.size; i++;)
out[i] = data.get(i);
// null terminator