Changes in src/GenPoly/GenPoly.cc [ae1b9ea:682dcae]
- File:
-
- 1 edited
-
src/GenPoly/GenPoly.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/GenPoly.cc
rae1b9ea r682dcae 100 100 if ( dynamic_cast< TypeInstType * >( type ) ) { 101 101 return type; 102 } else if ( ArrayType * arrayType = dynamic_cast< ArrayType * >( type ) ) { 103 return isPolyType( arrayType->base, env ); 102 104 } else if ( StructInstType *structType = dynamic_cast< StructInstType* >( type ) ) { 103 105 if ( hasPolyParams( structType->get_parameters(), env ) ) return type; … … 115 117 return type; 116 118 } 119 } else if ( ArrayType * arrayType = dynamic_cast< ArrayType * >( type ) ) { 120 return isPolyType( arrayType->base, tyVars, env ); 117 121 } else if ( StructInstType *structType = dynamic_cast< StructInstType* >( type ) ) { 118 122 if ( hasPolyParams( structType->get_parameters(), tyVars, env ) ) return type; … … 367 371 return is<VoidType>( ap->get_base() ) || is<VoidType>( bp->get_base() ) 368 372 || typesPolyCompatible( ap->get_base(), bp->get_base() ); 373 } else if ( aid == type_index{typeid(ReferenceType)} ) { 374 ReferenceType *ap = as<ReferenceType>(a), *bp = as<ReferenceType>(b); 375 return is<VoidType>( ap->get_base() ) || is<VoidType>( bp->get_base() ) 376 || typesPolyCompatible( ap->get_base(), bp->get_base() ); 369 377 } else if ( aid == type_index{typeid(ArrayType)} ) { 370 378 ArrayType *aa = as<ArrayType>(a), *ba = as<ArrayType>(b);
Note:
See TracChangeset
for help on using the changeset viewer.