mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-04 07:10:22 +00:00
Adds .overloaded and .minargs to idstruct.
Allows more functions to be overloaded in the future, like _RGB32.
This commit is contained in:
parent
6ee70f1afa
commit
19fda93caf
|
@ -659,7 +659,9 @@ TYPE idstruct
|
||||||
|
|
||||||
callname AS STRING * 256
|
callname AS STRING * 256
|
||||||
ccall AS INTEGER
|
ccall AS INTEGER
|
||||||
|
overloaded AS _BYTE
|
||||||
args AS INTEGER
|
args AS INTEGER
|
||||||
|
minargs AS INTEGER
|
||||||
arg AS STRING * 400 'similar to t
|
arg AS STRING * 400 'similar to t
|
||||||
argsize AS STRING * 400 'similar to tsize (used for fixed length strings)
|
argsize AS STRING * 400 'similar to tsize (used for fixed length strings)
|
||||||
specialformat AS STRING * 256
|
specialformat AS STRING * 256
|
||||||
|
@ -15680,7 +15682,8 @@ IF LEN(f$) THEN 'special format given
|
||||||
ELSE 'no special format given
|
ELSE 'no special format given
|
||||||
|
|
||||||
IF n$ = "ASC" AND args = 2 THEN GOTO skipargnumchk
|
IF n$ = "ASC" AND args = 2 THEN GOTO skipargnumchk
|
||||||
IF n$ = "_RGB32" AND (args > 0 AND args <= 4) THEN GOTO skipargnumchk
|
IF id2.overloaded = -1 AND (args >= id2.minargs AND args <= id2.args) THEN GOTO skipargnumchk
|
||||||
|
|
||||||
IF id2.args <> args THEN Give_Error "Incorrect number of arguments passed to function": EXIT FUNCTION
|
IF id2.args <> args THEN Give_Error "Incorrect number of arguments passed to function": EXIT FUNCTION
|
||||||
|
|
||||||
END IF
|
END IF
|
||||||
|
|
|
@ -1331,6 +1331,8 @@ clearid
|
||||||
id.n = "_RGB32"
|
id.n = "_RGB32"
|
||||||
id.subfunc = 1
|
id.subfunc = 1
|
||||||
id.callname = "func__rgb32"
|
id.callname = "func__rgb32"
|
||||||
|
id.overloaded = -1
|
||||||
|
id.minargs = 1
|
||||||
id.args = 4
|
id.args = 4
|
||||||
id.arg = MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER)
|
id.arg = MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER)
|
||||||
id.ret = ULONGTYPE - ISPOINTER
|
id.ret = ULONGTYPE - ISPOINTER
|
||||||
|
|
Loading…
Reference in a new issue