}
`}
-extern A
+extern class A
new is extern `{ return malloc(1); `}
new new_implicit `{ return malloc(1); `}
new new_in_language is extern in "C" `{ return malloc(1); `}
fun m : Int is extern `{ return 10; `}
- fun n : String is extern import String::from_cstring `{
- return new_String_from_cstring( "allo" );
+ fun n : String is extern import CString.to_s `{
+ return CString_to_s( "allo" );
`}
- fun o ( str : String ) is extern import String::to_cstring `{
+ fun o ( str : String ) is extern import String.to_cstring `{
f( String_to_cstring( str ) );
`}
fun p : Int import m `{
- return A_m( recv ) + 5;
+ return A_m( self ) + 5;
`}
fun in_language : Int is extern in "C" `{
fun inline_implicit : Int `{ return 7; `}
end
-extern B
+extern class B
super A
end
-extern C `{int*`}
+extern class C `{int*`}
end
-extern D
+extern class D
super C
end
-extern E
+extern class E
super C
end