Scope work progressing. Gotta fix bugs. Good save spot.
This commit is contained in:
13
tests/newScoping.expected_results
Normal file
13
tests/newScoping.expected_results
Normal file
@@ -0,0 +1,13 @@
|
||||
Qualified io!
|
||||
7
|
||||
9
|
||||
11
|
||||
Qualified Container!
|
||||
Even template functions qualified!
|
||||
|
||||
Unqualified io!
|
||||
8
|
||||
10
|
||||
12
|
||||
Unqualified Container!
|
||||
Even template functions unqualified!
|
||||
32
tests/newScoping.krak
Normal file
32
tests/newScoping.krak
Normal file
@@ -0,0 +1,32 @@
|
||||
import io;
|
||||
import scopeQualified;
|
||||
import scopeUnqualified : * ;
|
||||
|
||||
|int| main() {
|
||||
io::println("Qualified io!");
|
||||
|
||||
// Defined in scopeQualified
|
||||
io::println(scopeQualified::qualified_variable);
|
||||
io::println(scopeQualified::qualified_func());
|
||||
|scopeQualified::qualified_class| qClass.construct(11);
|
||||
io::println(qClass.get());
|
||||
|
||||
|scopeQualified::qualified_container<char*>| sayQualified.construct("Qualified Container!");
|
||||
io::println(sayQualified.get());
|
||||
io::println(scopeQualified::qualified_id<char*>("Even template functions qualified!"));
|
||||
|
||||
io::println();
|
||||
|
||||
io::println("Unqualified io!");
|
||||
// Defined in scopeUnqualified
|
||||
io::println(unqualifed_variable);
|
||||
io::println(unqualified_func());
|
||||
|unqualified_class| uqClass.construct(12);
|
||||
io::println(uqClass.get());
|
||||
|
||||
|unqualified_container<char*>| sayUnqualified.construct("Unqualified Container!");
|
||||
io::println(sayUnqualified.get());
|
||||
io::println(unqualified_id<char*>("Even template functions unqualified!"));
|
||||
|
||||
return 0;
|
||||
}
|
||||
27
tests/scopeQualified.krak
Normal file
27
tests/scopeQualified.krak
Normal file
@@ -0,0 +1,27 @@
|
||||
|int| qualified_variable = 7;
|
||||
|int| qualified_func() { return 9; }
|
||||
|
||||
typedef qualified_class {
|
||||
|int| number;
|
||||
|qualified_class*| construct(|int| num) {
|
||||
number = num;
|
||||
return this;
|
||||
}
|
||||
|int| get() {
|
||||
return number;
|
||||
}
|
||||
};
|
||||
|
||||
typedef template <T> qualified_container {
|
||||
|T| data;
|
||||
|qualified_container<T>*| construct(|T| dataIn) {
|
||||
data = dataIn;
|
||||
}
|
||||
|T| get() {
|
||||
return data;
|
||||
}
|
||||
};
|
||||
|
||||
template<T> |T| qualified_id(|T| it) {
|
||||
return it;
|
||||
}
|
||||
27
tests/scopeUnqualified.krak
Normal file
27
tests/scopeUnqualified.krak
Normal file
@@ -0,0 +1,27 @@
|
||||
|int| unqualifed_variable = 8;
|
||||
|int| unqualified_func() { return 10; }
|
||||
|
||||
typedef unqualified_class {
|
||||
|int| number;
|
||||
|qualified_class*| construct(|int| num) {
|
||||
number = num;
|
||||
return this;
|
||||
}
|
||||
|int| get() {
|
||||
return number;
|
||||
}
|
||||
};
|
||||
|
||||
typedef template <T> unqualified_container {
|
||||
|T| data;
|
||||
|unqualified_container<T>*| construct(|T| dataIn) {
|
||||
data = dataIn;
|
||||
}
|
||||
|T| get() {
|
||||
return data;
|
||||
}
|
||||
};
|
||||
|
||||
template<T> |T| unqualified_id(|T| it) {
|
||||
return it;
|
||||
}
|
||||
Reference in New Issue
Block a user