View Issue Details

IDProjectCategoryView StatusLast Update
0014249LazarusIDEpublic2011-10-10 17:10
ReporterMartin Friebe Assigned ToMattias Gaertner  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version0.9.27 (SVN) 
Target Version1.0.0 
Summary0014249: More issues between code-completion and inherited protected methotds (now showing too much); follow up issue 0014027
DescriptionSee issue 0014027

Now it is showing too many identifiers in the completion (which it a lot better than to little imho.

In the example completion should work on:
  self.FComponentStyle
  f.FComponentStyle
  b.FComponentStyle
  TBar(c).FComponentStyle

but not on:
  c.FComponentStyle

The rule seems that within a class, you can see inherited protected methods/members on this class (self or any other variable of the exact class, or of a class that inherits from this class).

But you can not see inherited protected methods/members of classes that are only a base class of the current class (even if they have the method/member).

Additional Informationprogram Project1;
{$mode objfpc}{$H+}
uses Classes, SysUtils;

type
  TFoo = Class(TComponent)
    procedure Foo;
  end;

  TBar = class(tfoo)
  end;

procedure TFoo.Foo;
var
  c: TComponent;
  f: TFoo;
  b: TBar;
begin
  f.FComponentStyle := [];
  b.FComponentStyle := [];
  TBar(c).FComponentStyle := [];
  c.FComponentStyle := [];
end;

begin
end.
TagsNo tags attached.
Fixed in Revision
LazTarget1.0
Widgetset
Attached Files

Relationships

related to 0014499 closedMattias Gaertner CodeCompletion offers protected methods 
related to 0015403 resolvedMattias Gaertner ToolTip shows hidden constructors 

Activities

Vincent Snijders

2009-08-03 13:26

manager   ~0029476

That used to be possible in older fpc versions, but that bug was fixed. Now the codetools need to follow.

Anton

2011-10-03 16:06

reporter   ~0052450

does it still valid?

Martin Friebe

2011-10-10 17:10

manager   ~0052835

issue appears to be fixed in the meantime

Issue History

Date Modified Username Field Change
2009-08-02 17:01 Martin Friebe New Issue
2009-08-02 17:01 Martin Friebe LazTarget => -
2009-08-03 13:26 Vincent Snijders Note Added: 0029476
2009-08-03 13:27 Vincent Snijders LazTarget - => 1.0
2009-08-03 13:27 Vincent Snijders Assigned To => Mattias Gaertner
2009-08-03 13:27 Vincent Snijders Status new => assigned
2009-08-03 13:27 Vincent Snijders Target Version => 1.0.0
2009-09-04 20:25 Martin Friebe Relationship added related to 0014499
2010-03-16 20:39 Martin Friebe Relationship added related to 0015403
2011-10-03 16:06 Anton Note Added: 0052450
2011-10-10 12:40 Vincent Snijders Status assigned => feedback
2011-10-10 17:10 Martin Friebe Status feedback => resolved
2011-10-10 17:10 Martin Friebe Resolution open => fixed
2011-10-10 17:10 Martin Friebe Note Added: 0052835