protected SwiftType(CoreCompoundType type, bool isReference, SwiftName name = null) { Type = type; IsReference = isReference; Name = name; Attributes = new List <SwiftTypeAttribute> (); IsVariadic = false; }
protected TLVariable(CoreCompoundType type, string mangledName, SwiftName module, SwiftClassType classType, SwiftName ident, SwiftType ofType, bool isStatic, ulong offset, SwiftType extensionOn) : base(type, mangledName, module, classType, offset) { Name = Ex.ThrowOnNull(ident, nameof(ident)); OfType = Ex.ThrowOnNull(ofType, nameof(ofType)); IsStatic = isStatic; ExtensionOn = extensionOn; }
protected TLFunction(string mangledName, SwiftName module, SwiftName functionName, SwiftClassType classType, SwiftBaseFunctionType signature, ulong offset, OperatorType oper = OperatorType.None, CoreCompoundType type = CoreCompoundType.Function) : base(type, mangledName, module, classType, offset) { Name = functionName; Signature = signature; Operator = oper; }
protected TLDefinition(CoreCompoundType type, string mangledName, SwiftName module, ulong offset) { if (module == null) { throw new ArgumentNullException(nameof(module)); } Type = type; Module = module; MangledName = Ex.ThrowOnNull(mangledName, nameof(mangledName)); Offset = offset; }
protected TLClassElem(CoreCompoundType type, string mangledName, SwiftName module, SwiftClassType classType, ulong offset) : base(type, mangledName, module, offset) { Class = classType; }