Cleanup of DataType class

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@572 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2000-07-12 19:23:43 +00:00
commit 9053ebe332
10 changed files with 261 additions and 256 deletions

View file

@ -176,14 +176,15 @@ void RUBY::parse() {
headers();
// typedef void *VALUE
DataType value;
strcpy(value.name, "void");
value.type = T_VOID;
value.is_pointer = 1;
value.implicit_ptr = 0;
DataType_typedef_add(&value,(char*)"VALUE",0);
DataType *value = NewDataType(0);
strcpy(value->name, "void");
value->type = T_VOID;
value->is_pointer = 1;
value->implicit_ptr = 0;
DataType_typedef_add(value,(char*)"VALUE",0);
yyparse(); // Run the SWIG parser
DelDataType(value);
}
// ---------------------------------------------------------------------

View file

@ -1022,10 +1022,10 @@ void TCL8::declare_const(char *name, char *, DataType *type, char *value) {
Printf(f_init,"\t sprintf(%s_char,\"%%ld\", (long) %s);\n", var_name, var_name);
sprintf(var_name,"%s_char",var_name);
t = new DataType(T_CHAR);
t = NewDataType(T_CHAR);
t->is_pointer = 1;
link_variable(var_name,name,t);
delete t;
DelDataType(t);
break;
case T_UINT:
case T_USHORT:
@ -1040,10 +1040,10 @@ void TCL8::declare_const(char *name, char *, DataType *type, char *value) {
Printf(f_init,"\t sprintf(%s_char,\"%%lu\", (unsigned long) %s);\n", var_name, var_name);
sprintf(var_name,"%s_char",var_name);
t = new DataType(T_CHAR);
t = NewDataType(T_CHAR);
t->is_pointer = 1;
link_variable(var_name,name,t);
delete t;
DelDataType(t);
break;
case T_FLOAT:
type->type = T_DOUBLE;
@ -1077,14 +1077,14 @@ void TCL8::declare_const(char *name, char *, DataType *type, char *value) {
else
Printf(f_init,"\t %s_char = (char *) malloc(%d);\n",var_name, (int) strlen(DataType_print_mangle(type))+ 20);
t = new DataType(T_CHAR);
t = NewDataType(T_CHAR);
t->is_pointer = 1;
DataType_remember(type);
Printf(f_init,"\t SWIG_MakePtr(%s_char, (void *) %s, SWIGTYPE%s);\n",
var_name, var_name, DataType_print_mangle(type));
sprintf(var_name,"%s_char",var_name);
link_variable(var_name,name,t);
delete t;
DelDataType(t);
}
}
}
@ -1284,7 +1284,7 @@ void TCL8::cpp_close_class() {
this->Language::cpp_close_class();
if (shadow) {
t = new DataType;
t = NewDataType(0);
sprintf(t->name,"%s%s", class_type, real_classname);
t->type = T_USER;
t->is_pointer = 1;