Changeset 11862 for src/Pugs/Eval
- Timestamp:
- 08/02/06 02:33:36 (2 years ago)
- Files:
-
- 1 modified
-
src/Pugs/Eval/Var.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/Eval/Var.hs
r11640 r11862 154 154 Just exp | not (':' `elem` drop 2 name) -> do 155 155 typ <- evalInvType $ unwrap exp 156 if typ == mkType "Scalar::Perl5" then fmap (err $ NoSuchMethod $ show typ) (runPerl5Sub name) else do 157 findTypedSub typ name 156 if typ == mkType "Scalar::Perl5" 157 then do 158 fmap (err $ NoSuchMethod $ show typ) (runPerl5Sub name) 159 else do 160 findTypedSub typ name 158 161 _ -> findBuiltinSub NoSuchSub name 159 162 where … … 207 210 else canPerl5 sv "AUTOLOAD" 208 211 if not found' 209 then evalExp (App (Var name) Nothing (map (Val . PerlSV) (sv:svs))) 212 then do 213 -- XXX - when svs is empty, this could call back here infinitely 214 -- add an extra '&' to force no-reinterpretation. 215 evalExp (App (Var ('&':name)) Nothing (map (Val . PerlSV) (sv:svs))) 210 216 else do 211 217 subSV <- liftIO . vstrToSV $ tail name
