Fixed subscripting of channel bundles to be corrected like record field subscripts are
This commit is contained in:
parent
084861e0be
commit
2d232dd322
|
@ -645,6 +645,16 @@ addDirections = occamOnlyPass "Add direction specifiers to inputs and outputs"
|
|||
|
||||
makeEnd :: Meta -> A.Direction -> Transform A.Variable
|
||||
makeEnd m dir v
|
||||
= case v of
|
||||
A.SubscriptedVariable _ _ innerV
|
||||
-> do t <- astTypeOf innerV
|
||||
case t of
|
||||
A.ChanDataType {} -> return v
|
||||
_ -> makeEnd'
|
||||
_ -> makeEnd'
|
||||
where
|
||||
makeEnd' :: PassM A.Variable
|
||||
makeEnd'
|
||||
= do t <- astTypeOf v
|
||||
case t of
|
||||
A.ChanEnd {} -> return v
|
||||
|
@ -1074,6 +1084,9 @@ inferTypes = occamOnlyPass "Infer types"
|
|||
A.Record _ ->
|
||||
do n <- nameToUnscoped wrong
|
||||
return $ A.SubscriptField m n
|
||||
A.ChanDataType {} ->
|
||||
do n <- nameToUnscoped wrong
|
||||
return $ A.SubscriptField m n
|
||||
_ -> return s
|
||||
fixSubscript _ s = return s
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user