Ignore:
Timestamp:
Aug 7, 2011, 4:30:08 PM (13 years ago)
Author:
イグトランス (egtra)
Message:

Typeクラスを単体テスト可能な状態へ

Location:
branches/egtra/ab5.0/abdev/BasicCompiler_Common
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/BasicCompiler.cpp

    r808 r820  
    325325        //生成するファイルの相対パスを取得
    326326        char relationalPath[MAX_PATH];
    327         lstrcpy( relationalPath, program.GetOutputFilePath().c_str() );
     327        strcpy( relationalPath, program.GetOutputFilePath().c_str() );
    328328        GetRelationalPath( relationalPath, BasicCurDir );
    329329
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/Diagnose.cpp

    r803 r820  
    7878            // 静的メソッド
    7979            foreach( const CMethod *pMethod, objClass.GetStaticMethods() ){
    80                     codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
     80                codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
    8181            }
    8282
     
    110110            // 静的メソッド
    111111            foreach( const CMethod *pMethod, objClass.GetStaticMethods() ){
    112                     codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
     112                codeSizeOfClass += pMethod->GetUserProc().GetCodeSize();
    113113            }
    114114
    115             if( codeSizeOfClass ){
    116                 temporary[0]=0;
    117                 lstrcat( temporary, "------------------------------------------------------------------\n" );
    118                 sprintf( temporary + lstrlen(temporary), "【 %s クラスのコード情報】\n", objClass.GetName().c_str() );
    119                 sprintf( temporary + lstrlen(temporary), "class code size: %d bytes\n", codeSizeOfClass );
    120                 lstrcat( temporary, "------------------------------------------------------------------\n" );
    121                 lstrcat( temporary, "\n" );
     115            if( codeSizeOfClass )
     116            {
     117                sprintf(temporary,
     118                    "------------------------------------------------------------------\n"
     119                    "【 %s クラスのコード情報】\n"
     120                    "class code size: %d bytes\n"
     121                    "------------------------------------------------------------------\n"
     122                    "\n",
     123                    objClass.GetName().c_str(), codeSizeOfClass);
    122124                trace_for_size( temporary );
    123125            }
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/MakeExe.cpp

    r750 r820  
    2626}
    2727
    28 void AddSourceCode(const char *buffer){
    29     char *temp=(char *)HeapAlloc(hHeap,0,lstrlen(buffer)+8192);
    30     lstrcpy(temp,buffer);
    31 
    32     MakeMiddleCode( temp );
     28void AddSourceCode(const char *buffer)
     29{
     30    std::size_t size = std::strlen(buffer) + 8192;
     31    std::unique_ptr<char[]> temp(new char[size]);
     32    strcpy_s(temp.get(), size, buffer);
     33
     34    MakeMiddleCode(temp.get());
    3335
    3436    //最後尾に貼り付け
    35     compiler.GetObjectModule().GetSource().Addition( temp );
    36 
    37     HeapDefaultFree(temp);
     37    compiler.GetObjectModule().GetSource().Addition(temp.get());
    3838}
    3939
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/StrOperation.cpp

    r736 r820  
    11#include "stdafx.h"
    22
    3 void KillSpaces(char *str1,char *str2){
     3void KillSpaces(char const *str1,char *str2){
    44    int i,i2,i3,IsStr;
    55    for(i=0,i2=0,IsStr=0;;i++,i2++){
     
    3030    }
    3131}
    32 void KillStringSpaces(char *str){
    33     char *s2;
    34 
    35     extern HANDLE hHeap;
    36     s2=(char *)HeapAlloc(hHeap,0,lstrlen(str)+1);
    37     lstrcpy(s2,str);
    38     KillSpaces(s2,str);
    39     HeapDefaultFree(s2);
    40     return;
     32void KillStringSpaces(char *str)
     33{
     34    std::string s2(str);
     35    KillSpaces(s2.c_str(), str);
    4136}
    4237BOOL RemoveStringQuotes(char *str){
     
    362357    }
    363358}
    364 const std::string &FormatEscapeSequenceStringToDefaultString( const std::string &source )
     359std::string FormatEscapeSequenceStringToDefaultString( const std::string &source )
    365360{
    366361    int maxLength = (int)source.size();
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/common.h

    r808 r820  
    3535#define MAX_PARMS       64
    3636#define MAX_ARRAYDIM    16
    37 #define MAX_HASH        32761
    3837
    3938
     
    297296
    298297// StrOperation.cpp
    299 void KillSpaces(char *str1,char *str2);
     298void KillSpaces(const char *str1,char *str2);
    300299void KillStringSpaces(char *str);
    301300BOOL RemoveStringQuotes(char *str);
     
    310309char GetEndXXXCommand(char es);
    311310void GetDefaultNameFromES(char es,char *name);
    312 const std::string &FormatEscapeSequenceStringToDefaultString( const std::string &source );
     311std::string FormatEscapeSequenceStringToDefaultString( const std::string &source );
    313312bool IsFileExist(const char *path);
    314313BOOL ShortPathToLongPath(char ShortPath[MAX_PATH],char *LongPath);
     
    364363void SplitGenericClassInstance( const char *fullName, char *className, Jenga::Common::Strings &typeParameters, bool isDefiningClass = false, Jenga::Common::Strings *pTypeParameterBaseClassNames = NULL );
    365364int JumpStatement(const char *source, int &pos);
     365
     366//MakePeHdr.cpp
    366367void MakeExe();
    367368
  • branches/egtra/ab5.0/abdev/BasicCompiler_Common/stdafx.h

    r809 r820  
    3030#include <boost/format.hpp>
    3131#include <boost/optional.hpp>
     32#include <boost/numeric/conversion/cast.hpp>
     33#include <boost/range.hpp>
     34#include <boost/range/algorithm.hpp>
    3235#include <boost/serialization/serialization.hpp>
    3336#include <boost/serialization/nvp.hpp>
Note: See TracChangeset for help on using the changeset viewer.