[MIRROR] Converts all A && A.B into A?.B (#1292)

* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
This commit is contained in:
SkyratBot
2020-10-13 23:19:25 +02:00
committed by GitHub
co-authored by ZeWaka
parent ce11cae6b7
commit b8d9874c27
214 changed files with 377 additions and 377 deletions
+2 -2
View File
@@ -1117,7 +1117,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
continue
ban_details = i
break //we only want to get the most recent ban's details
if(ban_details && ban_details.len)
if(ban_details?.len)
var/expires = "This is a permanent ban."
if(ban_details["expiration_time"])
expires = " The ban is for [DisplayTimeText(text2num(ban_details["duration"]) MINUTES)] and expires on [ban_details["expiration_time"]] (server time)."
@@ -1797,7 +1797,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if("ambientocclusion")
ambientocclusion = !ambientocclusion
if(parent && parent.screen && parent.screen.len)
if(parent?.screen && parent.screen.len)
var/obj/screen/plane_master/game_world/PM = locate(/obj/screen/plane_master/game_world) in parent.screen
PM.backdrop(parent.mob)