Branch: Tag:

1996-11-08

1996-11-08 04:57:40 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

object(foo), prog(), 'constant' and class foo {} implemented

Rev: src/ChangeLog:1.18
Rev: src/builtin_functions.c:1.9
Rev: src/builtin_functions.h:1.2
Rev: src/docode.c:1.3
Rev: src/interpret.c:1.8
Rev: src/language.yacc:1.6
Rev: src/lex.c:1.6
Rev: src/object.c:1.3
Rev: src/object.h:1.3
Rev: src/pike_types.c:1.5
Rev: src/program.c:1.4
Rev: src/program.h:1.2
Rev: src/testsuite.in:1.6

1: + test_any([[object(File) o=File(); return objectp(o);]],1) + test_any([[object o=Regexp("foo"); return objectp(o);]],1) + test_any([[object o=Regexp("foo"); return object_program(o);]],Regexp) + test_any([[class Test {}; object(Test) o=Test(); return object_program(o);]],Test) + test_define_program(/test,[[constant foo = 1; int a() { return foo; }]]) + test_true(new("/test")->a()) + test_program(inherit "/test";) + test_program(inherit "/test"; int a() { return foo; } ) + test_define_program(/test,[[class TEST { int a() { return 1; } }]]) + test_program(inherit "/test"; inherit TEST; ) + test_compile_error(class { object(File) foo; object(Regexp) bar=foo; }) + test_do(class { object foo; object(Regexp) bar=foo; }) + test_do(class { object(File) foo; object bar=foo; }) +    // ++   test_any([[int e; e++; return e;]],1)   test_any([[int e; ++e; return e;]],1)