private void ResolveOutputList(VBAParser.OutputListContext outputList) { if (outputList == null) { return; } foreach (var outputItem in outputList.outputItem()) { if (outputItem.outputClause() != null) { if (outputItem.outputClause().spcClause() != null) { ResolveDefault(outputItem.outputClause().spcClause().spcNumber().expression()); } if (outputItem.outputClause().tabClause() != null && outputItem.outputClause().tabClause().tabNumberClause() != null) { ResolveDefault(outputItem.outputClause().tabClause().tabNumberClause().tabNumber().expression()); } if (outputItem.outputClause().outputExpression() != null) { ResolveDefault(outputItem.outputClause().outputExpression().expression()); } } } }
private IExpressionBinding Visit(Declaration module, Declaration parent, VBAParser.OutputListContext outputListContext, IBoundExpression withBlockVariable) { var itemBindings = new List <IExpressionBinding>(); foreach (var outputItem in outputListContext.outputItem()) { if (outputItem.outputClause() != null) { if (outputItem.outputClause().spcClause() != null) { itemBindings.Add(Visit( module, parent, outputItem.outputClause().spcClause().spcNumber().expression(), withBlockVariable, StatementResolutionContext.Undefined, requiresLetCoercion: true)); } if (outputItem.outputClause().tabClause() != null && outputItem.outputClause().tabClause().tabNumberClause() != null) { itemBindings.Add(Visit( module, parent, outputItem.outputClause().tabClause().tabNumberClause().tabNumber().expression(), withBlockVariable, StatementResolutionContext.Undefined, requiresLetCoercion: true)); } if (outputItem.outputClause().outputExpression() != null) { itemBindings.Add(Visit( module, parent, outputItem.outputClause().outputExpression().expression(), withBlockVariable, StatementResolutionContext.Undefined, requiresLetCoercion: true)); } } } return(new OutputListDefaultBinding(outputListContext, itemBindings)); }
private void ResolveOutputList(VBAParser.OutputListContext outputList) { ResolveDefault(outputList); }