public FunctionCallResult(FunctionCall functionCall) : base(StorageAreaKind.FunctionCallResult) { FunctionCall = functionCall; // This is both a storage area definition and a reference to the same storage area int uniqueCounter = Interlocked.Increment(ref callSiteCounter); DataDescriptionEntry = new FunctionCallResultDescriptionEntry(functionCall, uniqueCounter); SymbolReference = new SymbolReference(DataDescriptionEntry.DataName); }
public FunctionCallResultDescriptionEntry(FunctionCall functionCall, int callSiteId) : base() { // Generate a unique symbol name for the function call at this specific call site var generatedSymbolName = new GeneratedSymbolName(functionCall.FunctionNameToken, functionCall.FunctionName + "-" + callSiteId); DataName = new SymbolDefinition(generatedSymbolName, SymbolType.DataName); FunctionCall = functionCall; }
public virtual bool Visit(FunctionCall functionCall) { return(true); }