private VariableOrExpression[] CreateArguments(CodeElementsParser.ArgumentContext[] argumentContext) { VariableOrExpression[] arguments = new VariableOrExpression[argumentContext.Length]; for(int i = 0; i < argumentContext.Length; i++) { arguments[i] = CreateVariableOrExpression(argumentContext[i].variableOrExpression1()); } return arguments; }
internal VariableOrExpression CreateVariableOrExpression(CodeElementsParser.VariableOrExpression2Context context) { VariableOrExpression variableOrExpression = null; if (context.identifier() != null) { variableOrExpression = new VariableOrExpression( CreateIdentifier(context.identifier())); } else if (context.numericValue() != null) { variableOrExpression = new VariableOrExpression( CobolWordsBuilder.CreateNumericValue(context.numericValue())); } else if (context.alphanumericValue2() != null) { variableOrExpression = new VariableOrExpression( CobolWordsBuilder.CreateAlphanumericValue(context.alphanumericValue2())); } else if (context.repeatedCharacterValue1() != null) { variableOrExpression = new VariableOrExpression( CobolWordsBuilder.CreateRepeatedCharacterValue(context.repeatedCharacterValue1())); } else { variableOrExpression = new VariableOrExpression( CreateArithmeticExpression(context.arithmeticExpression())); } // Collect storage area read/writes at the code element level if (variableOrExpression.StorageArea != null) { this.storageAreaReads.Add(variableOrExpression.StorageArea); } return variableOrExpression; }
public IntrinsicFunctionCallResult(ExternalName intrinsicFunctionName, VariableOrExpression[] arguments) : base(StorageAreaKind.IntrinsicFunctionCallResult) { IntrinsicFunctionName = intrinsicFunctionName; Arguments = arguments; }
public virtual bool Visit(VariableOrExpression variableOrExpression) { return(true); }