RemObjects
                        Software Gears code

C# to Oxygene

Sign in or create your account | Project List | Help

C# to Oxygene Commit Details

Date:2010-02-08 16:09:45 (5 months 22 days ago)
Author:Carlo Kok
Commit:78
Message:37724: 'Using' statement shouldn't contain 'var'
Files: trunk/RemObjects.Oxygene.CS2Pas/OxygeneStatementVisitor.pas (5 diffs)

Change Details

trunk/RemObjects.Oxygene.CS2Pas/OxygeneStatementVisitor.pas
1010
1111type
1212  OxygeneOutputVisitor = partial class
13  private
14      fSkipVar: Boolean;
1315  public
1416    method TrackedVisitLocalVariableDeclaration(localVariableDeclaration: LocalVariableDeclaration; data: Object): Object; override;
1517    method TrackedVisitLabelStatement(labelStatement: LabelStatement; data: Object): Object; override;
...... 
240242method OxygeneOutputVisitor.TrackedVisitLocalVariableDeclaration(localVariableDeclaration: LocalVariableDeclaration; data: Object): Object;
241243begin
242244  for i: Integer := 0 to localVariableDeclaration.Variables.Count -1 do begin
243    if i <> 0 then WriteEnter;
244    Indent;
245    write('var ');
245    if not fSkipVar then begin
246      if i <> 0 then WriteEnter;
247      Indent;
248      write('var ');
249    end;
246250    localVariableDeclaration.Variables[i].AcceptVisitor(self, nil);
247251
248252    var lItemType := localVariableDeclaration.Variables[i].TypeReference;
...... 
258262      localVariableDeclaration.Variables[i].Initializer.AcceptVisitor(self, nil);
259263    end;
260264  end;
265  fSkipVar := false;
261266end;
262267
263268method OxygeneOutputVisitor.TrackedVisitRemoveHandlerStatement(removeHandlerStatement: RemoveHandlerStatement; data: Object): Object;
...... 
356361begin
357362  Indent;
358363  write('with ');
364  fSkipVar := true;
359365  withStatement.Expression:AcceptVisitor(Self, nil);
360366  write(' do');
361367  WriteEnter;
...... 
374380begin
375381  indent;
376382  &Write('using ');
383  fSkipVar := true;
377384  usingStatement.ResourceAcquisition.AcceptVisitor(self, nil);
378385  write(' do');
379386  WriteEnter;
380387

Archive Download the corresponding diff file

Revision: 78