fix for WDE

bug fix in find references
This commit is contained in:
Бондарев Иван 2015-07-20 20:37:47 +02:00
parent 75b002fcdd
commit a3402b5bde
2 changed files with 37 additions and 12 deletions

View file

@ -1526,7 +1526,11 @@ namespace CodeCompletion
}
public override void visit(ident_with_templateparams node)
{
throw new NotImplementedException();
node.name.visit(this);
foreach (type_definition td in node.template_params.params_list)
{
td.visit(this);
}
}
public override void visit(bracket_expr _bracket_expr)
{
@ -1591,7 +1595,7 @@ namespace CodeCompletion
}
public override void visit(sequence_type _sequence_type)
{
_sequence_type.visit(this);
_sequence_type.elements_type.visit(this);
}
public override void visit(modern_proc_type _modern_proc_type)
{

View file

@ -1707,6 +1707,11 @@ var
// Internal functions
// -----------------------------------------------------
function IsWDE: boolean;
begin
Result := AppDomain.CurrentDomain.GetData('_RedirectIO_SpecialArgs') <> nil;
end;
[System.Security.SecuritySafeCriticalAttribute]
procedure AllocConsole;
begin
@ -3654,17 +3659,34 @@ end;}
procedure IOStandardSystem.read(var x: string);
begin
var sb := new System.Text.StringBuilder;
// SSM 8.04.10
var c := char(peek()); // ïåðâûé ðàç ìîæåò áûòü char(-1) - ýòî çíà÷èò, ÷òî â ïîòîêå ââîäà íè÷åãî íåò, òîãäà ìû ÷èòàåì ñèìâîë
while (c <> #13) and (c <> #10) do
if IsWDE then
begin
c := read_symbol;
if (c <> #13) and (c <> #10) then // SSM 13.12.13
sb.Append(c);
c := char(peek());
var sb := new System.Text.StringBuilder;
var c := read_symbol;
if (c <> #13) and (c <> #10) then
sb.Append(c);
while (c <> #13) and (c <> #10) do
begin
c := read_symbol;
sb.Append(c);
c := char(peek());
end;
x := sb.ToString;
end
else
begin
var sb := new System.Text.StringBuilder;
// SSM 8.04.10
var c := char(peek()); // ïåðâûé ðàç ìîæåò áûòü char(-1) - ýòî çíà÷èò, ÷òî â ïîòîêå ââîäà íè÷åãî íåò, òîãäà ìû ÷èòàåì ñèìâîë
while (c <> #13) and (c <> #10) do
begin
c := read_symbol;
if (c <> #13) and (c <> #10) then // SSM 13.12.13
sb.Append(c);
c := char(peek());
end;
x := sb.ToString;
end;
x := sb.ToString;
end;
@ -7577,7 +7599,6 @@ end;
var
__initialized := false;
procedure __InitModule;
begin
var arg := Environment.GetCommandLineArgs();