mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 17:29:31 +02:00
codetools: implemented parsing c enum ID name
git-svn-id: trunk@14542 -
This commit is contained in:
parent
af9f3ff803
commit
38f016b913
@ -173,6 +173,7 @@ type
|
|||||||
function ExtractVariableType(VarNode: TCodeTreeNode;
|
function ExtractVariableType(VarNode: TCodeTreeNode;
|
||||||
WithDirectives: boolean = false): string;
|
WithDirectives: boolean = false): string;
|
||||||
function ExtractEnumBlockName(EnumBlockNode: TCodeTreeNode): string;
|
function ExtractEnumBlockName(EnumBlockNode: TCodeTreeNode): string;
|
||||||
|
function ExtractEnumIDName(EnumIDNode: TCodeTreeNode): string;
|
||||||
|
|
||||||
procedure Replace(FromPos, ToPos: integer; const NewSrc: string);
|
procedure Replace(FromPos, ToPos: integer; const NewSrc: string);
|
||||||
|
|
||||||
@ -1199,6 +1200,13 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TCCodeParserTool.ExtractEnumIDName(EnumIDNode: TCodeTreeNode): string;
|
||||||
|
begin
|
||||||
|
MoveCursorToNode(EnumIDNode);
|
||||||
|
ReadNextAtom;
|
||||||
|
Result:=GetAtom;
|
||||||
|
end;
|
||||||
|
|
||||||
function TCCodeParserTool.GetAtom: string;
|
function TCCodeParserTool.GetAtom: string;
|
||||||
begin
|
begin
|
||||||
Result:=copy(Src,AtomStart,SrcPos-AtomStart);
|
Result:=copy(Src,AtomStart,SrcPos-AtomStart);
|
||||||
|
@ -243,6 +243,11 @@ begin
|
|||||||
CurName:=CTool.ExtractEnumBlockName(CNode);
|
CurName:=CTool.ExtractEnumBlockName(CNode);
|
||||||
DebugLn(['TH2PasTool.BuildH2PTree EnumBlock name="',CurName,'"']);
|
DebugLn(['TH2PasTool.BuildH2PTree EnumBlock name="',CurName,'"']);
|
||||||
end;
|
end;
|
||||||
|
ccnEnumID:
|
||||||
|
begin
|
||||||
|
CurName:=CTool.ExtractEnumIDName(CNode);
|
||||||
|
DebugLn(['TH2PasTool.BuildH2PTree EnumID name="',CurName,'"']);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
CNode:=CNode.Next;
|
CNode:=CNode.Next;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user