X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=testprograms%2Finheritance_example.c;h=5dd4b8502b394626add4830052aebe908135da03;hb=91ba1eff56d080774e7e40c31c6570344d23b3d2;hp=c823b9fb45a69b8a24873e1e047ba914d97b3193;hpb=67e3ef5e7088c2254daeb2a72e0950bef6ca0256;p=libfirm diff --git a/testprograms/inheritance_example.c b/testprograms/inheritance_example.c index c823b9fb4..5dd4b8502 100644 --- a/testprograms/inheritance_example.c +++ b/testprograms/inheritance_example.c @@ -1,10 +1,14 @@ -/* Copyright (C) 2000 by Universitaet Karlsruhe -** All rights reserved. -** -** Author: Goetz Lindenmaier -** -** testprogram. -*/ +/* + * Project: libFIRM + * File name: testprograms/inheritance_example.c + * Purpose: Shows type graph with inheritance. + * Author: Christian Schaefer, Goetz Lindenmaier + * Modified by: + * Created: + * CVS-ID: $Id$ + * Copyright: (c) 1999-2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ # include # include @@ -14,27 +18,27 @@ # include "firm.h" /** -*** This file constructs type information for the following pseudo-program. -*** The procedure code is not constructed. -*** -*** interface I { -*** void m1 (void); -*** } -*** -*** class C implements I { -*** void m1 (void) {return}; -*** void m2 (int) {return 0}; -*** } -*** -*** class D { -*** int b; -*** } -*** -*** class E extends C, D { -*** void m2 (int) {return 1}; -*** int a; -*** } -*** +* This file constructs type information for the following pseudo-program. +* The procedure code is not constructed. +* +* interface I { +* void m1 (void); +* } +* +* class C implements I { +* void m1 (void) {return}; +* void m2 (int) {return 0}; +* } +* +* class D { +* int b; +* } +* +* class E extends C, D { +* void m2 (int) {return 1}; +* int a; +* } +* **/ int main(int argc, char **argv) @@ -45,25 +49,25 @@ int main(int argc, char **argv) type *intt; entity *i_m1e, *c_m1e, *c_m2e, *e_m2e, *d_be, *e_ae; /* e names entities */ - printf("\nCreating type information...\n"); + printf("\nCreating type information for INHERITANCE_EXAMPLE ...\n"); /** init library */ - init_firm (); + init_firm (NULL); /** make idents for all used identifiers in the program. */ - ii = id_from_str("i", strlen("i")); - ci = id_from_str("c", strlen("c")); - di = id_from_str("d", strlen("d")); - ei = id_from_str("e", strlen("e")); - m1i = id_from_str("m1", strlen("m1")); - m2i = id_from_str("m2", strlen("m2")); - inti= id_from_str("int",strlen("int")); - ai = id_from_str("a", strlen("a")); - bi = id_from_str("b", strlen("b")); + ii = new_id_from_chars("i", strlen("i")); + ci = new_id_from_chars("c", strlen("c")); + di = new_id_from_chars("d", strlen("d")); + ei = new_id_from_chars("e", strlen("e")); + m1i = new_id_from_chars("m1", strlen("m1")); + m2i = new_id_from_chars("m2", strlen("m2")); + inti= new_id_from_chars("int",strlen("int")); + ai = new_id_from_chars("a", strlen("a")); + bi = new_id_from_chars("b", strlen("b")); /** make the type information needed */ /* Language defined types */ - intt = new_type_primitive(inti, mode_I); + intt = new_type_primitive(inti, mode_Iu); /* Program defined types */ it = new_type_class(ii); /* The fact that this is an interface is of no interest. It's just a class without @@ -100,7 +104,7 @@ int main(int argc, char **argv) printf("Done building the graph. Dumping it.\n"); - dump_all_types(); + dump_all_types(0); printf("use xvcg to view this graph:\n"); printf("/ben/goetz/bin/xvcg GRAPHNAME\n\n");