ByteCodeCompiler.st
changeset 3580 6a02c462b0ec
parent 3569 d2ca8339f9f7
child 3641 884997aa010d
equal deleted inserted replaced
3579:12b2bb9c8da5 3580:6a02c462b0ec
  2978                     ParseError new
  2978                     ParseError new
  2979                         errorMessage:(exOrNil errorMessage) startPosition:(exOrNil startPosition) endPosition:(exOrNil endPosition);
  2979                         errorMessage:(exOrNil errorMessage) startPosition:(exOrNil startPosition) endPosition:(exOrNil endPosition);
  2980                         parameter:exOrNil parameter;
  2980                         parameter:exOrNil parameter;
  2981                         lineNumber:exOrNil lineNumber;
  2981                         lineNumber:exOrNil lineNumber;
  2982                         raiseRequest.
  2982                         raiseRequest.
       
  2983                  ] ifFalse:[
       
  2984                      ParseError raiseRequestErrorString:'compilation failed'. #Error 
  2983                  ].
  2985                  ].
  2984                  ParseError raiseRequestErrorString:'compilation failed'. #Error 
  2986                  (install and:[selector notNil]) ifTrue:[
       
  2987                      |newMethod|
       
  2988 
       
  2989                       "/ if proceeded, install a trap method
       
  2990                      newMethod := (Method trapMethodForNumArgs:selector numArgs) copy.
       
  2991                      newMethod mclass:nil; setPackage:nil.
       
  2992                      newMethod makeInvalid.
       
  2993                      newMethod source:aStringArg.
       
  2994                      aClassArg basicAddSelector:selector withMethod:newMethod
       
  2995                  ].
  2985         ]
  2996         ]
  2986 
  2997 
  2987     "Modified: / 18-01-2011 / 11:35:21 / cg"
  2998     "Modified: / 18-01-2011 / 11:35:21 / cg"
  2988 !
  2999 !
  2989 
  3000 
  3640 ! !
  3651 ! !
  3641 
  3652 
  3642 !ByteCodeCompiler class methodsFor:'documentation'!
  3653 !ByteCodeCompiler class methodsFor:'documentation'!
  3643 
  3654 
  3644 version
  3655 version
  3645     ^ '$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.293 2015-02-02 21:26:24 cg Exp $'
  3656     ^ '$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.294 2015-02-09 10:09:24 cg Exp $'
  3646 !
  3657 !
  3647 
  3658 
  3648 version_CVS
  3659 version_CVS
  3649     ^ '$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.293 2015-02-02 21:26:24 cg Exp $'
  3660     ^ '$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.294 2015-02-09 10:09:24 cg Exp $'
  3650 !
  3661 !
  3651 
  3662 
  3652 version_SVN
  3663 version_SVN
  3653     ^ '$ Id $'
  3664     ^ '$ Id $'
  3654 ! !
  3665 ! !