#2867 closed Bug (No Bug)
Au3Stripper /rsln replaces wrong @ScriptLineNumber in function parameter default value
| Reported by: | Owned by: | ||
|---|---|---|---|
| Milestone: | Component: | Other | |
| Version: | Other | Severity: | None |
| Keywords: | Au3Stripper v14.801.1932.0 /rsln @ScriptLineNumber | Cc: |
Description
Au3Stripper v14.801.1932.0 currently replaces @ScriptLineNumber in a function parameter default with the line number of the callee code. It should be the line number of the caller code. To implement this, it could automatically insert default arguments for all unspecified function arguments and also the line number of the calling code, where the function call occurs.
Attachments (1)
Change History (4)
by , 12 years ago
| Attachment: | test_Au3Stripper.ZIP added |
|---|
comment:1 by , 12 years ago
comment:2 by , 12 years ago
| Resolution: | → No Bug |
|---|---|
| Status: | new → closed |
You have posted about this in the forum. Why have you also raised a Trac ticket before Jos has had a chance to respond?
Closed - I will reopen if Jos agrees there is a bug - although looking at mLipok's script I do not think that is very likely.
M23
comment:3 by , 12 years ago
The bug report that I posted was about the function parameter, not the function argument. There is a difference.
https://en.wikipedia.org/wiki/Parameter_%28computer_programming%29#Parameters_and_arguments
What you have demonstrated is a workaround for the bug in the new feature of the /rsln option. What I was hoping was that au3stripper could solve the problem by automatically modifying the code. Example:
#include <Debug.au3>
; Function Parameters:
; _Assert ( $sCondition [, $bExit = True [, $iCode = 0x7FFFFFFF [, $sLine = @ScriptLineNumber]]] )
; Function Arguments:
_Assert("1=1")
au3stripper should replace the code with the following function call. Otherwise, @ScriptLineNumber gets replaced in the function definition, not in the function call.
_Assert("1=1", True, 0x7FFFFFFF, @ScriptLineNumber)
Because $sLine is an optional argument, the user code might not specify it. In this case, au3stripper must automatically insert all the optional arguments into the function call.

I make a repro to check:
and the result is:
this is correct line in test_Au3Stripper_stripped.au3
So please make your repro to show where is the issue.