mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2026-01-06 04:40:35 +01:00
codetools: property completion: add class var for class property variables
git-svn-id: trunk@37613 -
This commit is contained in:
parent
be4ab40c93
commit
b172a9eace
@ -6450,6 +6450,7 @@ var AccessParam, AccessParamPrefix, CleanAccessFunc, AccessFunc,
|
||||
procedure CompleteReadSpecifier;
|
||||
var
|
||||
IsGetterFunc: boolean;
|
||||
VarCode: String;
|
||||
begin
|
||||
// check read specifier
|
||||
VariableName:='';
|
||||
@ -6511,19 +6512,20 @@ var AccessParam, AccessParamPrefix, CleanAccessFunc, AccessFunc,
|
||||
VariableName:=AccessParam;
|
||||
|
||||
// check if read access method exists
|
||||
if (Parts[ppParamList].StartPos>0) then begin
|
||||
if (Parts[ppIndexWord].StartPos<1) then begin
|
||||
if (Parts[ppIndexWord].StartPos<1) then begin
|
||||
if (Parts[ppParamList].StartPos>0) then begin
|
||||
// param list, no index
|
||||
CleanAccessFunc:=UpperCaseStr(AccessParam)+'('+CleanParamList+');';
|
||||
end else begin
|
||||
// no param list, no index
|
||||
CleanAccessFunc:=UpperCaseStr(AccessParam)+';';
|
||||
end;
|
||||
end else begin
|
||||
// ToDo: find out type of index
|
||||
if (Parts[ppParamList].StartPos>0) then begin
|
||||
// index + param list
|
||||
CleanAccessFunc:=UpperCaseStr(AccessParam)+'(INTEGER;'
|
||||
+CleanParamList+');';
|
||||
end;
|
||||
end else begin
|
||||
if (Parts[ppIndexWord].StartPos<1) then begin
|
||||
// no param list, no index
|
||||
CleanAccessFunc:=UpperCaseStr(AccessParam)+';';
|
||||
end else begin
|
||||
// index, no param list
|
||||
CleanAccessFunc:=UpperCaseStr(AccessParam)+'(INTEGER);';
|
||||
@ -6586,8 +6588,10 @@ var AccessParam, AccessParamPrefix, CleanAccessFunc, AccessFunc,
|
||||
end else begin
|
||||
// the read identifier is a variable
|
||||
// variable does not exist yet -> add insert demand for variable
|
||||
VarCode:=VariableName+':'+PropType+';';
|
||||
if IsClassProp then VarCode:='class var '+VarCode;
|
||||
AddClassInsertion(UpperCaseStr(VariableName),
|
||||
VariableName+':'+PropType+';',VariableName,ncpPrivateVars,PropNode);
|
||||
VarCode,VariableName,ncpPrivateVars,PropNode);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user