mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-03 10:30:29 +02:00
* avoid lots of useless calls by reordering conditions in DoUpdateAttrs
This commit is contained in:
parent
7590ebeae3
commit
736d9a6b50
@ -2217,8 +2217,8 @@ var
|
||||
begin
|
||||
C:=0;
|
||||
WordS:=copy(LineText,StartX,EndX-StartX+1);
|
||||
if IsAsmSuffix(WordS) and (InAsm=true) and (InComment=false) and
|
||||
(InString=false) and (InDirective=false) then InAsm:=false;
|
||||
if (InAsm=true) and (InComment=false) and (InString=false) and
|
||||
(InDirective=false) and IsAsmSuffix(WordS) then InAsm:=false;
|
||||
if InDirective then C:=coDirectiveColor else
|
||||
if InComment then C:=coCommentColor else
|
||||
if InString then C:=coStringColor else
|
||||
@ -2254,8 +2254,8 @@ var
|
||||
end;
|
||||
if EndX+1>=StartX then
|
||||
FillChar(Format[StartX],EndX+1-StartX,C);
|
||||
if IsAsmPrefix(WordS) and (InString=false) and
|
||||
(InAsm=false) and (InComment=false) and (InDirective=false) then
|
||||
if (InString=false) and (InAsm=false) and (InComment=false) and
|
||||
(InDirective=false) and IsAsmPrefix(WordS) then
|
||||
InAsm:=true;
|
||||
end;
|
||||
|
||||
@ -2284,11 +2284,11 @@ var
|
||||
if length(SymbolConcat)>=High(SymbolConcat) then
|
||||
Delete(SymbolConcat,1,1);
|
||||
SymbolConcat:=SymbolConcat+C;
|
||||
if IsCommentSuffix and (InComment) then
|
||||
if InComment and IsCommentSuffix then
|
||||
Inc(EX) else
|
||||
if IsStringSuffix and (InString) then
|
||||
if InString and IsStringSuffix then
|
||||
Inc(EX) else
|
||||
if IsDirectiveSuffix and (InDirective) then
|
||||
if InDirective and IsDirectiveSuffix then
|
||||
Inc(EX);
|
||||
end;
|
||||
if CC=ccRealNumber then
|
||||
@ -2305,12 +2305,17 @@ var
|
||||
ccNumber :
|
||||
if (LastCC<>ccAlpha) then;
|
||||
ccSymbol :
|
||||
if IsDirectivePrefix and (InComment=true) and (CurrentCommentType=1) and
|
||||
(InDirective=false) then
|
||||
begin InDirective:=true; InComment:=false; Dec(ClassStart,length(MatchingSymbol)-1); end else
|
||||
if IsDirectiveSuffix and (InComment=false) and (InDirective=true) then
|
||||
InDirective:=false else
|
||||
if IsCommentPrefix and (InComment=false) and (InString=false) then
|
||||
if (InComment=true) and (CurrentCommentType=1) and
|
||||
(InDirective=false) and IsDirectivePrefix then
|
||||
begin
|
||||
InDirective:=true;
|
||||
InComment:=false;
|
||||
Dec(ClassStart,length(MatchingSymbol)-1);
|
||||
end
|
||||
else if (InComment=false) and
|
||||
(InDirective=true) and IsDirectiveSuffix then
|
||||
InDirective:=false
|
||||
else if (InComment=false) and (InString=false) and IsCommentPrefix then
|
||||
begin
|
||||
InComment:=true;
|
||||
CurrentCommentType:=SymbolIndex;
|
||||
@ -2323,12 +2328,17 @@ var
|
||||
if MatchingSymbol[length(MatchingSymbol)]=Editor^.GetSpecSymbol(ssCommentSuffix,SymbolIndex)[1] then
|
||||
Delete(SymbolConcat,1,length(MatchingSymbol));
|
||||
end
|
||||
else
|
||||
if IsCommentSuffix and (InComment) then
|
||||
begin InComment:=false; InString:=false; end else
|
||||
if IsStringPrefix and (InComment=false) and (InString=false) then
|
||||
begin InString:=true; Dec(ClassStart,length(MatchingSymbol)-1); end else
|
||||
if IsStringSuffix and (InComment=false) and (InString=true) then
|
||||
else if InComment and IsCommentSuffix then
|
||||
begin
|
||||
InComment:=false;
|
||||
InString:=false;
|
||||
end
|
||||
else if (InComment=false) and (InString=false) and IsStringPrefix then
|
||||
begin
|
||||
InString:=true;
|
||||
Dec(ClassStart,length(MatchingSymbol)-1);
|
||||
end
|
||||
else if (InComment=false) and (InString=true) and IsStringSuffix then
|
||||
InString:=false;
|
||||
end;
|
||||
if MatchedSymbol and (InComment=false) then
|
||||
@ -7116,7 +7126,10 @@ end;
|
||||
END.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.31 2002-09-10 12:19:14 pierre
|
||||
Revision 1.32 2002-09-11 08:39:44 pierre
|
||||
* avoid lots of useless calls by reordering conditions in DoUpdateAttrs
|
||||
|
||||
Revision 1.31 2002/09/10 12:19:14 pierre
|
||||
* use faster method for loading files by default
|
||||
|
||||
Revision 1.30 2002/09/09 06:58:28 pierre
|
||||
|
Loading…
Reference in New Issue
Block a user