Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6446 GerdtR 1
#define _CLASS_
2
 
3
 
4
 
5
structteg *searchteg=NULL;
6
 
7
 
8
 
9
{
10
 
11
	sprintf(buf,"'%s' not class name",name);
12
 
13
 
14
 
15
}
16
 
17
void notclassproc(char *classname, char* procname)
18
 
19
char buf[160];
20
 
21
	preerror(buf);
22
 
23
24
 
25
{
26
 
27
	localrec *lrec=addlocalvar("this",(am32==TRUE?tk_dwordvar:tk_wordvar),paramsize);
28
 
29
	lrec->rec.type=tp_paramvar;
30
 
31
 
32
 
33
34
 
35
{
36
 
37
unsigned int flag=itok.flag;
38
 
39
char classname[IDLENGTH];
40
 
41
		strcpy(classname,itok.name);
42
 
43
		if(tok2==tk_tilda){
44
 
45
 
46
 
47
			type=tk_void;
48
 
49
		nexttok();
50
 
51
		char name[IDLENGTH];
52
 
53
		if((tn=strchr(name,'@'))!=NULL)*tn=0;
54
 
55
		if(strcmp(classname,name)==0&&(flag&fs_destructor)==0)flag|=fs_constructor;
56
 
57
			notclassproc(classname,name);
58
 
59
			define_procedure();
60
 
61
		}
62
 
63
			if(CidOrID()==tk_ID)tproc=tk_fastcall;
64
 
65
 
66
 
67
		if(type==tokens)type=am32==FALSE?tk_word:tk_dword;
68
 
69
//		printf("flag %08X - %08X\n",flag,itok.flag);
70
 
71
			redeclare(name);
72
 
73
		if(dynamic_flag){
74
 
75
			searchteg=NULL;
76
 
77
		}
78
 
79
		if(AlignProc!=FALSE)AlignCD(CS,alignproc);
80
 
81
		setproc(1);
82
 
83
	else{
84
 
85
		setproc(0);
86
 
87
	dopoststrings();
88
 
89