Axle: Implement Matrix<T, N> and Matrix<T, N, M> syntactic sugar.

This completes the majority of <rdar://problem/15100137>.


Swift SVN r9098
This commit is contained in:
Doug Gregor
2013-10-09 22:24:21 +00:00
parent 23ca48185a
commit 7fee09b41e
18 changed files with 517 additions and 24 deletions

View File

@@ -2347,6 +2347,21 @@ Type ModuleFile::getType(TypeID TID) {
break;
}
case decls_block::MATRIX_TYPE: {
TypeID baseID;
uint64_t rows;
uint64_t columns;
uint8_t columnsSpecified;
decls_block::MatrixTypeLayout::readRecord(scratch, baseID, rows, columns,
columnsSpecified);
if (columnsSpecified)
typeOrOffset = MatrixType::get(getType(baseID), rows, columns, ctx);
else
typeOrOffset = MatrixType::get(getType(baseID), rows, Nothing, ctx);
break;
}
case decls_block::ARRAY_TYPE: {
TypeID baseID;
uint64_t size;