Swapped pointers to the other side for types to prevent ambiguity, i.e. *int instead of int*
This commit is contained in:
@@ -3,7 +3,7 @@ fun qualified_func(): int { return 9; }
|
||||
|
||||
obj qualified_class {
|
||||
var number: int;
|
||||
fun construct(num: int): qualified_class* {
|
||||
fun construct(num: int): *qualified_class {
|
||||
number = num;
|
||||
return this;
|
||||
}
|
||||
@@ -14,7 +14,7 @@ obj qualified_class {
|
||||
|
||||
obj qualified_container<T> {
|
||||
var data: T;
|
||||
fun construct(dataIn: T): qualified_container<T>* {
|
||||
fun construct(dataIn: T): *qualified_container<T> {
|
||||
data = dataIn;
|
||||
}
|
||||
fun get(): T {
|
||||
|
||||
@@ -3,7 +3,7 @@ fun unqualified_func(): int { return 10; }
|
||||
|
||||
obj unqualified_class {
|
||||
var number: int;
|
||||
fun construct(num: int): unqualified_class* {
|
||||
fun construct(num: int): *unqualified_class {
|
||||
number = num;
|
||||
return this;
|
||||
}
|
||||
@@ -14,7 +14,7 @@ obj unqualified_class {
|
||||
|
||||
obj unqualified_container<T> {
|
||||
var data: T;
|
||||
fun construct(dataIn: T): unqualified_container<T>* {
|
||||
fun construct(dataIn: T): *unqualified_container<T> {
|
||||
data = dataIn;
|
||||
}
|
||||
fun get(): T {
|
||||
|
||||
@@ -4,7 +4,7 @@ fun retVoid() {
|
||||
println("Woooo")
|
||||
}
|
||||
|
||||
fun withParams(a:int, b:char*) {
|
||||
fun withParams(a:int, b:*char) {
|
||||
println(a)
|
||||
println(b)
|
||||
}
|
||||
|
||||
@@ -21,12 +21,12 @@ obj ToClose {
|
||||
}
|
||||
|
||||
obj One (Object) {
|
||||
fun construct(): One* {
|
||||
fun construct(): *One {
|
||||
return this
|
||||
}
|
||||
fun destruct() {
|
||||
var a:One
|
||||
mem::safe_recursive_delete(&a, fun(it: One*): set::set<One*> { return set::set(it); } )
|
||||
mem::safe_recursive_delete(&a, fun(it: *One): set::set<*One> { return set::set(it); } )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ fun main():int {
|
||||
|
||||
var a = 1337
|
||||
var b = &a
|
||||
var c = cast_ptr<int*, char*>(b)
|
||||
var c = cast_ptr<*int, *char>(b)
|
||||
//var d = c + 1
|
||||
//var e = 1 + c
|
||||
println(to_int(*(c+0)))
|
||||
|
||||
@@ -3,7 +3,7 @@ import mem:*;
|
||||
|
||||
obj ClassWithConstructor {
|
||||
var data: int;
|
||||
fun construct(inData: int): ClassWithConstructor* {
|
||||
fun construct(inData: int): *ClassWithConstructor {
|
||||
data = inData;
|
||||
return this;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ fun main(): int {
|
||||
object.printData();
|
||||
var a: int = 8;
|
||||
println(a);
|
||||
var objPtr: ClassWithConstructor* = new<ClassWithConstructor>()->construct(11);
|
||||
var objPtr: *ClassWithConstructor = new<ClassWithConstructor>()->construct(11);
|
||||
objPtr->printData();
|
||||
delete<ClassWithConstructor>(objPtr);
|
||||
return 0;
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import io:*
|
||||
|
||||
obj wDestructor {
|
||||
var data: char*
|
||||
var data: *char
|
||||
var count: int
|
||||
fun construct(dat:char*):wDestructor* {
|
||||
fun construct(dat:*char):*wDestructor {
|
||||
data = dat
|
||||
count = 0
|
||||
return this
|
||||
}
|
||||
fun copy_construct(other: wDestructor*):void {
|
||||
fun copy_construct(other: *wDestructor):void {
|
||||
data = other->data
|
||||
count = other->count + 1
|
||||
print("copy_construct ")
|
||||
@@ -17,7 +17,7 @@ obj wDestructor {
|
||||
print(count)
|
||||
println("!")
|
||||
}
|
||||
fun operator=(other: wDestructor*):void {
|
||||
fun operator=(other: *wDestructor):void {
|
||||
data = other->data
|
||||
count = other->count + 1
|
||||
print("copy assign ")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import io:*
|
||||
|
||||
obj FuncObj {
|
||||
fun operator()(a:int, b:char*): void {
|
||||
fun operator()(a:int, b:*char): void {
|
||||
println(a)
|
||||
println(b)
|
||||
}
|
||||
|
||||
@@ -18,15 +18,15 @@ fun printInt(it:int):void {
|
||||
}
|
||||
|
||||
|
||||
fun ptrFn<T>(ptr: T*):void {
|
||||
fun ptrFn<T>(ptr: *T):void {
|
||||
println(*ptr)
|
||||
}
|
||||
|
||||
fun traitAware<T>(it:T*):void {
|
||||
fun traitAware<T>(it:*T):void {
|
||||
println("Does not have Traits")
|
||||
}
|
||||
|
||||
fun traitAware<T(Traits)>(it:T*):void {
|
||||
fun traitAware<T(Traits)>(it:*T):void {
|
||||
println("Does have Traits")
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import io:*
|
||||
|
||||
fun main():int {
|
||||
var wr: fun():int*
|
||||
var wa: fun():*int
|
||||
var wb: *fun():int
|
||||
var wc: *fun():*int
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -22,6 +22,6 @@ fun main():int {
|
||||
println(mapEx[7])
|
||||
println(mapEx[20])
|
||||
mapEx.remove(20)
|
||||
mapEx.for_each(fun(key:int, value:char*) { print("key: "); print(key); print(", value: "); println(value); })
|
||||
mapEx.for_each(fun(key:int, value:*char) { print("key: "); print(key); print(", value: "); println(value); })
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import io:*;
|
||||
obj AnObject {
|
||||
var a: int;
|
||||
var b: int;
|
||||
var c: char*;
|
||||
var c: *char;
|
||||
|
||||
fun print(): void {
|
||||
print(a+b);
|
||||
@@ -16,7 +16,7 @@ obj AnObject {
|
||||
|
||||
|
||||
fun main(): int {
|
||||
var ptr: AnObject* = new<AnObject>();
|
||||
var ptr: *AnObject = new<AnObject>();
|
||||
ptr->a = 4;
|
||||
ptr->b = 7;
|
||||
ptr->c = "Hello decent memory! Quite a nice feeling\n";
|
||||
|
||||
@@ -19,7 +19,7 @@ fun main(): int {
|
||||
var wooObject: firstObject;
|
||||
wooObject.objectNum = 7;
|
||||
print(wooObject.objectNum);
|
||||
var objPtr: firstObject* = &wooObject;
|
||||
var objPtr: *firstObject = &wooObject;
|
||||
objPtr->objectNum = 42;
|
||||
print(objPtr->objectNum);
|
||||
print("\n");
|
||||
|
||||
@@ -3,12 +3,12 @@ import trivial_container:*;
|
||||
|
||||
obj RegularObject {
|
||||
var num: int;
|
||||
var innerContainer: trivialContainer<char*>;
|
||||
fun set(message: char*, number: int): void {
|
||||
var innerContainer: trivialContainer<*char>;
|
||||
fun set(message: *char, number: int): void {
|
||||
innerContainer.data = message;
|
||||
num = number;
|
||||
}
|
||||
fun get(): char* {
|
||||
fun get(): *char {
|
||||
return innerContainer.data;
|
||||
}
|
||||
fun print(): void {
|
||||
@@ -21,7 +21,7 @@ def MyIntContainer trivialContainer<int>;
|
||||
var roundabout: MyIntContainer;
|
||||
var outsideDec: RegularObject;
|
||||
|
||||
fun print(toPrint: trivialContainer<char*>): void {
|
||||
fun print(toPrint: trivialContainer<*char>): void {
|
||||
print(toPrint.data);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ fun main(): int {
|
||||
var qClass.construct(11): scopeQualified::qualified_class;
|
||||
io::println(qClass.get());
|
||||
|
||||
var sayQualified.construct("Qualified Container!"): scopeQualified::qualified_container<char*>;
|
||||
var sayQualified.construct("Qualified Container!"): scopeQualified::qualified_container<*char>;
|
||||
io::println(sayQualified.get());
|
||||
io::println(scopeQualified::qualified_id<char*>("Even template functions qualified!"));
|
||||
io::println(scopeQualified::qualified_id<*char>("Even template functions qualified!"));
|
||||
|
||||
io::println();
|
||||
|
||||
@@ -24,9 +24,9 @@ fun main(): int {
|
||||
var uqClass.construct(12): unqualified_class;
|
||||
io::println(uqClass.get());
|
||||
|
||||
var sayUnqualified.construct("Unqualified Container!"): unqualified_container<char*>;
|
||||
var sayUnqualified.construct("Unqualified Container!"): unqualified_container<*char>;
|
||||
io::println(sayUnqualified.get());
|
||||
io::println(unqualified_id<char*>("Even template functions unqualified!"));
|
||||
io::println(unqualified_id<*char>("Even template functions unqualified!"));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
|
||||
obj Swapper<T> {
|
||||
fun doit(a: T*, b: T*) : void {
|
||||
fun doit(a: *T, b: *T) : void {
|
||||
var temp: T = *a;
|
||||
*a = *b;
|
||||
*b = temp;
|
||||
@@ -9,7 +9,7 @@ obj Swapper<T> {
|
||||
}
|
||||
|
||||
|
||||
fun swap<T>(a: T*, b: T*) : void {
|
||||
fun swap<T>(a: *T, b: *T) : void {
|
||||
var temp: T = *a
|
||||
*a = *b
|
||||
*b = temp;
|
||||
|
||||
@@ -16,8 +16,8 @@ obj TemplateTest<T,J> {
|
||||
|
||||
fun main(): int {
|
||||
|
||||
var test: TemplateTest<int, char*>;
|
||||
var test2: TemplateTest<char*, char*>;
|
||||
var test: TemplateTest<int, *char>;
|
||||
var test2: TemplateTest<*char, *char>;
|
||||
test.a = 24;
|
||||
test.b = "Hello World";
|
||||
test2.a = "Pi incoming";
|
||||
|
||||
@@ -17,7 +17,7 @@ obj TemplateTest<T> {
|
||||
fun main(): int {
|
||||
|
||||
var test: TemplateTest<int>;
|
||||
var test2: TemplateTest<char*>;
|
||||
var test2: TemplateTest<*char>;
|
||||
test.a = 5;
|
||||
test.b = 7;
|
||||
test2.a = 9;
|
||||
|
||||
@@ -23,7 +23,7 @@ fun main():int {
|
||||
aVec.addEnd(12)
|
||||
println(fromTemplateFun)
|
||||
println(idVec(aVec))
|
||||
var testPair: pair2<char*, int>
|
||||
var testPair: pair2<*char, int>
|
||||
testPair.first = "test string"
|
||||
testPair.second = 9
|
||||
var someFloat = 13.88
|
||||
|
||||
@@ -29,7 +29,7 @@ fun addAndPrint<T>(a: T, b: T): T {
|
||||
|
||||
fun main(): int {
|
||||
var test: TemplateTest<int>;
|
||||
var test2: TemplateTest<char*>;
|
||||
var test2: TemplateTest<*char>;
|
||||
test.a = 5;
|
||||
test.b = 7;
|
||||
test.c.data = 1337;
|
||||
@@ -40,7 +40,7 @@ fun main(): int {
|
||||
test.print();
|
||||
test2.print();
|
||||
|
||||
var testImport: trivialContainer<char*>;
|
||||
var testImport: trivialContainer<*char>;
|
||||
testImport.data = "From another file! Whoh!";
|
||||
testImport.print();
|
||||
print("\n");
|
||||
|
||||
@@ -3,7 +3,7 @@ import mem:*;
|
||||
|
||||
fun main(): int {
|
||||
var b: int;
|
||||
var a: int* = &b;
|
||||
var a: *int = &b;
|
||||
a [ 0 ] = 7;
|
||||
print(a [ 0 ] );
|
||||
print(*a);
|
||||
|
||||
@@ -48,14 +48,14 @@ fun main(): int {
|
||||
var c: Trait2;
|
||||
var d: TwoTrait;
|
||||
var e: AlreadySpecilized;
|
||||
var f: TwoTrait*;
|
||||
var f: *TwoTrait;
|
||||
|
||||
OneTwoFunc<NoTraits>(a);
|
||||
OneTwoFunc<Trait1>(b);
|
||||
OneTwoFunc<Trait2>(c);
|
||||
OneTwoFunc<TwoTrait>(d);
|
||||
// OneTwoFunc<AlreadySpecilized>(e);
|
||||
OneTwoFunc<TwoTrait*>(f);
|
||||
OneTwoFunc<*TwoTrait>(f);
|
||||
println();
|
||||
|
||||
OneTwoFunc(a);
|
||||
@@ -71,13 +71,13 @@ fun main(): int {
|
||||
var gamma: OneTwoObj<Trait2>;
|
||||
var delta: OneTwoObj<TwoTrait>;
|
||||
// |OneTwoObj<AlreadySpecilized>| epsilon;
|
||||
var zeta: OneTwoObj<TwoTrait*>;
|
||||
var zeta: OneTwoObj<*TwoTrait>;
|
||||
|
||||
OneTwoFunc<OneTwoObj<NoTraits>>(alpha);
|
||||
OneTwoFunc<OneTwoObj<Trait1>>(beta);
|
||||
OneTwoFunc<OneTwoObj<Trait2>>(gamma);
|
||||
OneTwoFunc<OneTwoObj<TwoTrait>>(delta);
|
||||
OneTwoFunc<OneTwoObj<TwoTrait*>>(zeta);
|
||||
OneTwoFunc<OneTwoObj<*TwoTrait>>(zeta);
|
||||
println()
|
||||
|
||||
OneTwoFunc(alpha);
|
||||
|
||||
@@ -2,7 +2,7 @@ import io;
|
||||
|
||||
obj ClassWithConstructor {
|
||||
var data: int;
|
||||
fun construct(inData: int): ClassWithConstructor* {
|
||||
fun construct(inData: int): *ClassWithConstructor {
|
||||
data = inData;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ import io:*
|
||||
import mem:*
|
||||
import vector:*
|
||||
|
||||
fun retMessage(): char* {
|
||||
fun retMessage(): *char {
|
||||
return "I do like type inference"
|
||||
}
|
||||
fun id<T>(in: T): T { return in; }
|
||||
|
||||
@@ -3,19 +3,19 @@ import io:*
|
||||
|
||||
obj test(Object) {
|
||||
var counter:int
|
||||
fun construct(): test* {
|
||||
fun construct(): *test {
|
||||
counter = 0
|
||||
println("construct with 0")
|
||||
return this
|
||||
}
|
||||
|
||||
fun construct(it:int): test* {
|
||||
fun construct(it:int): *test {
|
||||
counter = it
|
||||
print("construct with "); println(it)
|
||||
return this
|
||||
}
|
||||
|
||||
fun copy_construct(old: test*):void {
|
||||
fun copy_construct(old: *test):void {
|
||||
counter = old->counter+1
|
||||
print("copy construct from "); print(old->counter); print(" to "); println(counter)
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ obj AbleToBeDestroyed (Object) {
|
||||
print("Constructed: ")
|
||||
println(data)
|
||||
}
|
||||
fun copy_construct(other:AbleToBeDestroyed*):void {
|
||||
fun copy_construct(other:*AbleToBeDestroyed):void {
|
||||
data = other->data+1
|
||||
print("Copied: ")
|
||||
print(other->data)
|
||||
@@ -69,7 +69,7 @@ fun main(): int {
|
||||
vector(1,2,3,4,5,6,7,8,9,10,11,12).for_each(fun(i:int) { print(i); })
|
||||
println()
|
||||
|
||||
var desVec: vector<AbleToBeDestroyed>* = new<vector<AbleToBeDestroyed>>()->construct();
|
||||
var desVec: *vector<AbleToBeDestroyed> = new<vector<AbleToBeDestroyed>>()->construct();
|
||||
var testDestruct.construct(0): AbleToBeDestroyed;
|
||||
desVec->addEnd(testDestruct);
|
||||
println("delete vector")
|
||||
|
||||
Reference in New Issue
Block a user