@@ -175,19 +175,33 @@ literals = mkPattern' match'
175175 , prettyPrintIL' (Var Nothing $ withPrefix name)
176176 , return $ emit "()"
177177 ]
178− match (Indexer _ index@NumericLiteral{} val) = mconcat <$> sequence
179− [ return $ emit "At("
180− , prettyPrintIL' val
181− , return $ emit ", "
182− , prettyPrintIL' index
183− , return $ emit ")"
178+ match (Indexer _ prop@StringLiteral{} val@ObjectLiteral{}) = mconcat <$> sequence
179+ [ prettyPrintIL' val
180+ , return $ emit "["
181+ , prettyPrintIL' prop
182+ , return $ emit "]"
184183 ]
185− match (Indexer _ prop val) = mconcat <$> sequence
186− [ return $ emit "Get("
187− , prettyPrintIL' val
188− , return $ emit ", "
184+ match (Indexer _ prop@StringLiteral{} val) = mconcat <$> sequence
185+ [ prettyPrintIL' val
186+ , return $ emit ".("
187+ , return $ emit dictType
188+ , return $ emit ")["
189189 , prettyPrintIL' prop
190− , return $ emit ")"
190+ , return $ emit "]"
191+ ]
192+ match (Indexer _ index val@ArrayLiteral{}) = mconcat <$> sequence
193+ [ prettyPrintIL' val
194+ , return $ emit "["
195+ , prettyPrintIL' index
196+ , return $ emit "]"
197+ ]
198+ match (Indexer _ index val) = mconcat <$> sequence
199+ [ prettyPrintIL' val
200+ , return $ emit ".("
201+ , return $ emit arrayType
202+ , return $ emit ")["
203+ , prettyPrintIL' index
204+ , return $ emit "]"
191205 ]
192206 match (InstanceOf _ val ty) = mconcat <$> sequence
193207 [ return $ emit "Contains("