CompiledCode.st
changeset 12160 48e09b1971f3
parent 10905 96c44ab0e80f
child 13427 6a957644862b
equal deleted inserted replaced
12159:1768c0019100 12160:48e09b1971f3
   528     "Created: / 30.1.1999 / 14:55:51 / cg"
   528     "Created: / 30.1.1999 / 14:55:51 / cg"
   529 ! !
   529 ! !
   530 
   530 
   531 !CompiledCode methodsFor:'compiler interface'!
   531 !CompiledCode methodsFor:'compiler interface'!
   532 
   532 
       
   533 compilerClass
       
   534     "who is responsible to parse the source code?
       
   535      Fetch it from the class"
       
   536 
       
   537     ^ self programmingLanguage compilerClass
       
   538 
       
   539     "
       
   540      (Object compiledMethodAt:#at:) compilerClass
       
   541     "
       
   542 !
       
   543 
   533 parserClass
   544 parserClass
   534     "who is responsible to parse the source code?
   545     "who is responsible to parse the source code?
   535      Fetch it from the class"
   546      Fetch it from the class"
   536 
   547 
   537     |mclass|
   548     ^ self programmingLanguage parserClass
   538 
   549 
   539     mclass := self mclass.
   550     "
   540     mclass isNil ifTrue:[^ Parser].
   551      (Object compiledMethodAt:#at:) parserClass
   541     ^ mclass parserClass
   552     "
       
   553 !
       
   554 
       
   555 programmingLanguage
       
   556 "/ the following is correct, but might be too slow...
       
   557 "/ we have language-specific methods anyway, so simply ask itself.
       
   558 "/    |mclass|
       
   559 "/
       
   560 "/    mclass := self mclass.
       
   561 "/    mclass isNil ifTrue:[^ SmalltalkLanguage].
       
   562 "/    ^ mclass programmingLanguage
       
   563     ^  SmalltalkLanguage instance
   542 
   564 
   543     "
   565     "
   544      (Object compiledMethodAt:#at:) parserClass
   566      (Object compiledMethodAt:#at:) parserClass
   545     "
   567     "
   546 !
   568 !
   548 syntaxHighlighterClass
   570 syntaxHighlighterClass
   549     "if #askClass is returned here, my owning class will be asked for the syntaxHighlighter.
   571     "if #askClass is returned here, my owning class will be asked for the syntaxHighlighter.
   550      if nil is returned, no syntaxHighlighting will be done.
   572      if nil is returned, no syntaxHighlighting will be done.
   551      Can be redefined in subclasses (MetaMethod) which use special syntax."
   573      Can be redefined in subclasses (MetaMethod) which use special syntax."
   552 
   574 
   553     ^ #askClass
   575     ^ self programmingLanguage syntaxHighlighterClass
   554 ! !
   576 ! !
   555 
   577 
   556 !CompiledCode methodsFor:'converting'!
   578 !CompiledCode methodsFor:'converting'!
   557 
   579 
   558 makeRealMethod
   580 makeRealMethod
  1745 ! !
  1767 ! !
  1746 
  1768 
  1747 !CompiledCode class methodsFor:'documentation'!
  1769 !CompiledCode class methodsFor:'documentation'!
  1748 
  1770 
  1749 version
  1771 version
  1750     ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.107 2008-03-08 10:54:16 cg Exp $'
  1772     ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.108 2009-10-06 14:59:40 fm Exp $'
       
  1773 !
       
  1774 
       
  1775 version_CVS
       
  1776     ^ '$Header: /cvs/stx/stx/libbasic/CompiledCode.st,v 1.108 2009-10-06 14:59:40 fm Exp $'
  1751 ! !
  1777 ! !