Ignore:
Timestamp:
Jul 12, 2007, 2:58:26 AM (17 years ago)
Author:
dai_9181
Message:

コード全体のリファクタリングを実施

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/Object.cpp

    r198 r206  
     1#include "stdafx.h"
     2
    13#include <Compiler.h>
    24
     
    1113extern HANDLE hHeap;
    1214
    13 void CallConstructor( const char *ObjectName,const int *SubScripts,const Type &type,const char *Parameter){
     15void CallConstructor( const char *ObjectName,const Subscripts &subscripts,const Type &type,const char *Parameter){
    1416    if( !type.IsObject() ){
    1517        return;
     
    2123    /////////////////////////////////////
    2224
    23     UserProc *pUserProc;
    24     pUserProc=GetMethodHash(ObjectName,type.GetClass().GetName().c_str(),Parameter);
     25    const UserProc *pUserProc = GetMethodHash(ObjectName,type.GetClass().GetName().c_str(),Parameter);
    2526    if(!pUserProc){
    2627        if(Parameter[0]) SetError(113,type.GetClass().GetName().c_str(),cp);
     
    3132    char temporary[VN_SIZE];
    3233
    33     if(SubScripts[0]!=-1){
     34    if( subscripts.size() > 0 ){
    3435        int ss[MAX_ARRAYDIM];
    3536        memset(ss,0,MAX_ARRAYDIM*sizeof(int));
    3637        while(1){
    3738            int i3;
    38             for(i3=0;;i3++){
    39                 if(SubScripts[i3]==-1) break;
    40 
    41                 if(ss[i3]>SubScripts[i3]){
     39            for(i3=0; i3<(int)subscripts.size(); i3++){
     40                if(ss[i3]>subscripts[i3]){
    4241                    ss[i3]=0;
    4342                    ss[i3+1]++;
     
    4544                else break;
    4645            }
    47             if(SubScripts[i3]==-1) break;
     46            if( i3 == subscripts.size() )
     47            {
     48                break;
     49            }
    4850            sprintf(temporary,"%s[%d",ObjectName,ss[0]);
    49             for(i3=1;;i3++){
    50                 if(SubScripts[i3]==-1) break;
    51 
     51            for(i3=1; i3<(int)subscripts.size(); i3++){
    5252                sprintf(temporary+lstrlen(temporary),",%d",ss[i3]);
    5353            }
Note: See TracChangeset for help on using the changeset viewer.