Changeset 171 in dev for trunk/jenga/include/smoothie/Member.h
- Timestamp:
- Jun 19, 2007, 1:58:06 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jenga/include/smoothie/Member.h
r170 r171 60 60 { 61 61 } 62 CMember( CClass *pobj_c, Prototype::Accessibility accessibility, bool idConst, bool isRef, char *buffer, int nowLine=-1 ); 63 CMember( CMember &member ); 64 ~CMember(); 62 CMember::CMember(CMember &member) 63 : MemberPrototype( member.GetAccessibility() ) 64 , name( member.GetName() ) 65 , type( member.GetType() ) 66 , isConst( member.IsConst() ) 67 { 68 //SubScripts 69 memcpy(SubScripts,member.SubScripts,MAX_ARRAYDIM*sizeof(int)); 70 71 //ソースコードの位置 72 source_code_address=member.source_code_address; 73 } 74 ~CMember() 75 { 76 } 65 77 static void InitStaticMember(void); 66 67 static bool SplitName( const char *desc, char *object, char *member, CClass::RefType &refType ){68 int lastIndex = -1;69 for( int i=0; desc[i]; i++ ){70 if( desc[i] == '(' ){71 i=BasicSource::JumpStringInPare(desc,i+1);72 continue;73 }74 else if( desc[i] == '[' ){75 i=BasicSource::JumpStringInBracket(desc,i+1);76 continue;77 }78 else if(desc[i]=='.'||(desc[i]==1&&desc[i+1]==ESC_PSMEM)){79 lastIndex = i;80 }81 }82 if( lastIndex == -1 ){83 lstrcpy( member, desc );84 return false;85 }86 87 if(desc[lastIndex]=='.'){88 lstrcpy(member,desc+lastIndex+1);89 refType = CClass::Dot;90 }91 else{92 lstrcpy(member,desc+lastIndex+2);93 refType = CClass::Pointer;94 }95 96 if( object ){97 lstrcpy( object, desc );98 object[lastIndex]=0;99 }100 101 return true;102 }103 static bool SplitName( const char *desc, char *object, char *member ){104 CClass::RefType dummyRefType;105 return SplitName( desc, object, member, dummyRefType );106 }107 78 }; 108 79 typedef std::vector<CMember *> Members;
Note:
See TracChangeset
for help on using the changeset viewer.