From: Steven M. <sr...@us...> - 2005-03-12 02:55:21
|
Update of /cvsroot/instantobjects/Source/Core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9824 Modified Files: InstantCode.pas Log Message: Improved metadata tag signature detection. Error throws exception with name of problem model class included. Index: InstantCode.pas =================================================================== RCS file: /cvsroot/instantobjects/Source/Core/InstantCode.pas,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** InstantCode.pas 21 Feb 2005 06:33:12 -0000 1.11 --- InstantCode.pas 12 Mar 2005 02:55:09 -0000 1.12 *************** *** 4415,4436 **** class function TInstantCodeMetadataInfo.InternalAtInstance( Reader: TInstantCodeReader; out Name: string): Boolean; ! var ! SavePos: TInstantCodePos; begin ! Result := False; ! if Reader.NextChar = '{' then begin ! SavePos := Reader.Position; try ! Reader.IgnoreComments := False; ! Result := Reader.ReadMatching('{' + MetadataInfoID + ' ') ! or (Reader.NextChar = '{'); finally Reader.IgnoreComments := True; - Reader.Position := SavePos; end; end; - end; - procedure TInstantCodeMetadataInfo.InternalRead(Reader: TInstantCodeReader); var Token: string; --- 4415,4453 ---- class function TInstantCodeMetadataInfo.InternalAtInstance( Reader: TInstantCodeReader; out Name: string): Boolean; ! ! function FindMetaDataTag: Boolean; ! var ! SavePos: TInstantCodePos; ! begin ! Result := False; ! if Reader.NextChar = '{' then begin ! SavePos := Reader.Position; ! try ! Reader.EnterComment; ! Result := Reader.ReadMatching(MetadataInfoID); ! finally ! Reader.Position := SavePos; ! end; ! end; ! end; ! begin ! Result := FindMetaDataTag; ! end; ! ! procedure TInstantCodeMetadataInfo.InternalRead(Reader: TInstantCodeReader); ! ! procedure ReadMetaDataTagSig; ! begin ! Reader.IgnoreComments := False; try ! if not Reader.ReadMatching('{' + MetadataInfoID + ' ') then ! Reader.ErrorExpected('''{' + MetadataInfoID + ' '' tag in ' + Name, ! False); finally Reader.IgnoreComments := True; end; end; var Token: string; *************** *** 4439,4449 **** SaveErrorSeverity: TInstantCodeErrorSeverity; begin ! if not Reader.EnterComment then ! Reader.ErrorExpected('{'); ! ! if SameText(Reader.NextToken, MetadataInfoID) then ! Reader.ReadToken; ! // else //For version 1.7: check MetadataInfoID Keyword ! // Reader.ErrorExpected(MetadataInfoID); Persistence := peEmbedded; --- 4456,4460 ---- SaveErrorSeverity: TInstantCodeErrorSeverity; begin ! ReadMetaDataTagSig; Persistence := peEmbedded; *************** *** 4488,4492 **** Start, I: Integer; begin ! Writer.Write('{' + MetadataInfoID + ' '); try S := ClassStatement; --- 4499,4503 ---- Start, I: Integer; begin ! Writer.Write('{' + MetadataInfoID + ' '); try S := ClassStatement; *************** *** 8554,8555 **** --- 8565,8571 ---- + + + + + |