Files
swift-mirror/SwiftCompilerSources/Sources/SIL/GlobalVariable.swift
Erik Eckstein 345fcbe39a Improve collections in the swift SIL/Optimizer
Improve block/instruction lists and similar collections

* pretty print collections in the form “[a, b, c]”
* also do this for lazy sequences
* define a custom Mirror
* in a collection, only print the name of blocks, functions and globals (instead of the full object)
* replace `BasicBlock.reverseInstructions` with `BasicBlock.instructions.reversed()` - in an efficient way
2022-01-12 15:47:16 +01:00

34 lines
1.0 KiB
Swift

//===--- GlobalVariable.swift - Defines the GlobalVariable class ----------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2021 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
import SILBridging
final public class GlobalVariable : CustomStringConvertible, HasName {
public var name: String {
return SILGlobalVariable_getName(bridged).string
}
public var description: String {
return SILGlobalVariable_debugDescription(bridged).takeString()
}
// TODO: initializer instructions
var bridged: BridgedGlobalVar { BridgedGlobalVar(obj: SwiftObject(self)) }
}
// Bridging utilities
extension BridgedGlobalVar {
var globalVar: GlobalVariable { obj.getAs(GlobalVariable.self) }
}