265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
end Current_Atom;
overriding function Current_Level (Object : in Cursor) return Natural is
Result : Natural := 0;
N : Node_Access := Object.Position;
begin
while N /= null loop
Result := Result + 1;
N := N.Parent;
end loop;
return Natural'Max (Result, 1) - 1;
end Current_Level;
|
>
>
>
>
>
>
>
|
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
|
end Current_Atom;
overriding function Current_Level (Object : in Cursor) return Natural is
Result : Natural := 0;
N : Node_Access := Object.Position;
begin
if Object.Position /= null
and then Object.Position.Kind = List_Node
and then Object.Opening
then
Result := Result + 1;
end if;
while N /= null loop
Result := Result + 1;
N := N.Parent;
end loop;
return Natural'Max (Result, 1) - 1;
end Current_Level;
|