TypeDenoter CheckFieldIdentifier(FieldTypeDenoter ast, Identifier identifier) { if (ast is MultipleFieldTypeDenoter mft) { if (mft.Identifier.Equals(identifier)) { identifier.Declaration = ast; return(mft.Type); } return(CheckFieldIdentifier(mft.FieldType, identifier)); } if (ast is SingleFieldTypeDenoter sft) { if (sft.Identifier.Equals(identifier)) { identifier.Declaration = ast; return(sft.Type); } } return(StandardEnvironment.ErrorType); }
protected RecordAggregate(SourcePosition position) : base(position) { _type = null; }