public void Visit(ProxyStatement statement) { var selectArgs = VisitChild(statement.Test); VisitChild(statement.List); CodeMemberMethod method = new CodeMemberMethod(); method.Name = "TestProxy"; method.Attributes = MemberAttributes.Override | MemberAttributes.Family; method.ReturnType = new CodeTypeReference(typeof(bool)); GenerateCallStatement(method.Statements, statement.Line.Line); ((Action)selectArgs.Tag)(); method.Statements.Add(new CodeVariableDeclarationStatement(selectArgs.Scope.CodeDomReference, "resultRows", selectArgs.CodeExpression)); method.Statements.Add(new CodeMethodReturnStatement(new CodeBinaryOperatorExpression(new CodePropertyReferenceExpression(new CodeTypeReferenceExpression("resultRows"), "RowCount"), CodeBinaryOperatorType.GreaterThan, new CodePrimitiveExpression(0)) )); _mainType.Type.Members.Add(method); }
public void Visit(ProxyStatement statement, CommonTree tree) { SetLine(statement, tree); Parent(tree).Children.Add(statement); VisitChildren(tree); }