Lines Matching defs:Field
232 FieldInfo &Field = Fields.back();
233 Field.Offset =
236 NextOffset = std::max(NextOffset, Field.Offset);
239 return Field;
885 bool parseFieldInitializer(const FieldInfo &Field,
887 bool parseFieldInitializer(const FieldInfo &Field,
890 bool parseFieldInitializer(const FieldInfo &Field,
893 bool parseFieldInitializer(const FieldInfo &Field,
903 bool emitFieldValue(const FieldInfo &Field);
904 bool emitFieldValue(const FieldInfo &Field, const IntFieldInfo &Contents);
905 bool emitFieldValue(const FieldInfo &Field, const RealFieldInfo &Contents);
906 bool emitFieldValue(const FieldInfo &Field, const StructFieldInfo &Contents);
908 bool emitFieldInitializer(const FieldInfo &Field,
910 bool emitFieldInitializer(const FieldInfo &Field,
913 bool emitFieldInitializer(const FieldInfo &Field,
916 bool emitFieldInitializer(const FieldInfo &Field,
3738 FieldInfo &Field = Struct.addField(Name, FT_INTEGRAL, Size);
3739 IntFieldInfo &IntInfo = Field.Contents.IntInfo;
3741 Field.Type = Size;
3746 Field.SizeOf = Field.Type * IntInfo.Values.size();
3747 Field.LengthOf = IntInfo.Values.size();
3748 const unsigned FieldEnd = Field.Offset + Field.SizeOf;
3943 FieldInfo &Field = Struct.addField(Name, FT_REAL, Size);
3944 RealFieldInfo &RealInfo = Field.Contents.RealInfo;
3946 Field.SizeOf = 0;
3951 Field.Type = RealInfo.AsIntValues.back().getBitWidth() / 8;
3952 Field.LengthOf = RealInfo.AsIntValues.size();
3953 Field.SizeOf = Field.Type * Field.LengthOf;
3955 const unsigned FieldEnd = Field.Offset + Field.SizeOf;
4033 bool MasmParser::parseFieldInitializer(const FieldInfo &Field,
4040 if (Field.LengthOf == 1 && Field.Type > 1)
4042 if (parseScalarInstList(Field.Type, Values, AsmToken::RCurly) ||
4046 if (Field.LengthOf == 1 && Field.Type > 1)
4048 if (parseScalarInstList(Field.Type, Values, AsmToken::Greater) ||
4051 } else if (Field.LengthOf > 1 && Field.Type > 1) {
4053 } else if (parseScalarInitializer(Field.Type, Values,
4054 /*StringPadLength=*/Field.LengthOf)) {
4058 if (Values.size() > Field.LengthOf) {
4060 std::to_string(Field.LengthOf) + " elements, got " +
4070 bool MasmParser::parseFieldInitializer(const FieldInfo &Field,
4074 switch (Field.Type) {
4092 if (Field.LengthOf == 1)
4098 if (Field.LengthOf == 1)
4103 } else if (Field.LengthOf > 1) {
4111 if (AsIntValues.size() > Field.LengthOf) {
4113 std::to_string(Field.LengthOf) + " elements, got " +
4124 bool MasmParser::parseFieldInitializer(const FieldInfo &Field,
4130 if (Field.LengthOf > 1) {
4150 if (Initializers.size() > Field.LengthOf) {
4152 std::to_string(Field.LengthOf) + " elements, got " +
4164 bool MasmParser::parseFieldInitializer(const FieldInfo &Field,
4166 switch (Field.Contents.FT) {
4168 return parseFieldInitializer(Field, Field.Contents.IntInfo, Initializer);
4170 return parseFieldInitializer(Field, Field.Contents.RealInfo, Initializer);
4172 return parseFieldInitializer(Field, Field.Contents.StructInfo, Initializer);
4201 const FieldInfo &Field = Structure.Fields[FieldIndex++];
4205 FieldInitializers.push_back(Field.Contents);
4209 FieldInitializers.emplace_back(Field.Contents.FT);
4210 if (parseFieldInitializer(Field, FieldInitializers.back()))
4224 for (const FieldInfo &Field : llvm::drop_begin(Structure.Fields, FieldIndex))
4225 FieldInitializers.push_back(Field.Contents);
4281 bool MasmParser::emitFieldValue(const FieldInfo &Field,
4285 if (emitIntValue(Value, Field.Type))
4291 bool MasmParser::emitFieldValue(const FieldInfo &Field,
4300 bool MasmParser::emitFieldValue(const FieldInfo &Field,
4313 bool MasmParser::emitFieldValue(const FieldInfo &Field) {
4314 switch (Field.Contents.FT) {
4316 return emitFieldValue(Field, Field.Contents.IntInfo);
4318 return emitFieldValue(Field, Field.Contents.RealInfo);
4320 return emitFieldValue(Field, Field.Contents.StructInfo);
4325 bool MasmParser::emitFieldInitializer(const FieldInfo &Field,
4329 if (emitIntValue(Value, Field.Type))
4335 if (emitIntValue(Value, Field.Type))
4341 bool MasmParser::emitFieldInitializer(const FieldInfo &Field,
4357 bool MasmParser::emitFieldInitializer(const FieldInfo &Field,
4373 bool MasmParser::emitFieldInitializer(const FieldInfo &Field,
4375 switch (Field.Contents.FT) {
4377 return emitFieldInitializer(Field, Field.Contents.IntInfo,
4380 return emitFieldInitializer(Field, Field.Contents.RealInfo,
4383 return emitFieldInitializer(Field, Field.Contents.StructInfo,
4397 const auto &Field = Structure.Fields[Index++];
4398 getStreamer().emitZeros(Field.Offset - Offset);
4399 Offset = Field.Offset + Field.SizeOf;
4400 if (emitFieldInitializer(Field, Init))
4404 for (const auto &Field : llvm::drop_begin(
4406 getStreamer().emitZeros(Field.Offset - Offset);
4407 Offset = Field.Offset + Field.SizeOf;
4408 if (emitFieldValue(Field))
4437 FieldInfo &Field =
4439 StructFieldInfo &StructInfo = Field.Contents.StructInfo;
4442 Field.Type = Structure.Size;
4447 Field.LengthOf = StructInfo.Initializers.size();
4448 Field.SizeOf = Field.Type * Field.LengthOf;
4450 const unsigned FieldEnd = Field.Offset + Field.SizeOf;
4626 for (auto &Field : llvm::drop_begin(ParentStruct.Fields, OldFields))
4627 Field.Offset += FirstFieldOffset;
4636 FieldInfo &Field = ParentStruct.addField(Structure.Name, FT_STRUCT,
4638 StructFieldInfo &StructInfo = Field.Contents.StructInfo;
4639 Field.Type = Structure.Size;
4640 Field.LengthOf = 1;
4641 Field.SizeOf = Structure.Size;
4643 const unsigned StructureEnd = Field.Offset + Field.SizeOf;
7286 const FieldInfo &Field = Structure.Fields[FieldIt->second];
7288 Info.Offset += Field.Offset;
7289 Info.Type.Size = Field.SizeOf;
7290 Info.Type.ElementSize = Field.Type;
7291 Info.Type.Length = Field.LengthOf;
7292 if (Field.Contents.FT == FT_STRUCT)
7293 Info.Type.Name = Field.Contents.StructInfo.Structure.Name;
7299 if (Field.Contents.FT != FT_STRUCT)
7301 const StructFieldInfo &StructInfo = Field.Contents.StructInfo;
7306 Info.Offset += Field.Offset;