JavaLanguage.st
changeset 2678 c865275e48a7
parent 2495 5f36daadd04a
child 2731 13f5be2bf83b
equal deleted inserted replaced
2639:453c3d9e8a94 2678:c865275e48a7
    51      as of 1.9.2010
    51      as of 1.9.2010
    52 
    52 
    53 "
    53 "
    54 ! !
    54 ! !
    55 
    55 
       
    56 !JavaLanguage class methodsFor:'others'!
       
    57 
       
    58 version_HG
       
    59 
       
    60     ^ '$Changeset: <not expanded> $'
       
    61 ! !
       
    62 
    56 !JavaLanguage methodsFor:'accessing'!
    63 !JavaLanguage methodsFor:'accessing'!
    57 
    64 
    58 lookup
    65 lookup
    59 
    66 
    60     ^Lookup builtin
    67     ^Lookup builtin
    84 
    91 
    85 !JavaLanguage methodsFor:'accessing - classes'!
    92 !JavaLanguage methodsFor:'accessing - classes'!
    86 
    93 
    87 compilerClass
    94 compilerClass
    88     "Answer a class suitable for compiling a source code in 'my' language"
    95     "Answer a class suitable for compiling a source code in 'my' language"
    89     
    96 
    90     (OperatingSystem getLoginName = 'm') ifTrue: [ ^ ByteCodeCompiler ].
    97     ^ JavaCompiler
    91     ^ GroovyCompiler "No Java compiler yet :-("
    98 
    92 
       
    93     "Modified (comment): / 04-04-2012 / 22:45:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    94     "Modified (format): / 02-12-2012 / 14:36:20 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
    99     "Modified (format): / 02-12-2012 / 14:36:20 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
       
   100     "Modified: / 31-08-2013 / 10:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    95 !
   101 !
    96 
   102 
    97 evaluatorClass
   103 evaluatorClass
    98     "There is no evaluator for Java. If you would like to
   104     "There is no evaluator for Java. If you would like to
    99      evaluate Java code, use GroovyEvaluator instead"
   105      evaluate Java code, use GroovyEvaluator instead"
   109     ^JavaLookup
   115     ^JavaLookup
   110 
   116 
   111     "Created: / 17-03-2011 / 14:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   117     "Created: / 17-03-2011 / 14:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   112 !
   118 !
   113 
   119 
       
   120 metaClass
       
   121     "will be used for new classes (in the class wizard);
       
   122      a fallback here"
       
   123 
       
   124     ^ JavaMetaclass
       
   125 
       
   126     "Created: / 12-04-2013 / 20:21:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   127 !
       
   128 
   114 parserClass
   129 parserClass
   115     "Answer a class suitable for parsing a source code in 'my' language"
   130     "Answer a class suitable for parsing a source code in 'my' language"
   116 
   131 
   117     ^ nil "No Java parser yet"
   132     ^ JavaParser "No Java parser yet"
   118 
   133 
   119     "Modified: / 26-10-2010 / 23:41:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   134     "Modified: / 31-08-2013 / 10:02:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   120 !
   135 !
   121 
   136 
   122 sourceFileReaderClass
   137 sourceFileReaderClass
   123     "Answers a class that can be used for reading & compiling source files"
   138     "Answers a class that can be used for reading & compiling source files"
   124 
   139 
   139     "Answers a class used by browser and debugger to colorze code.
   154     "Answers a class used by browser and debugger to colorze code.
   140      It is OK to return nil, which means that the code is shown as-is"
   155      It is OK to return nil, which means that the code is shown as-is"
   141 
   156 
   142     "return nil by default"
   157     "return nil by default"
   143 "/    ^nil
   158 "/    ^nil
   144     ^JavaSyntaxHighlighter
   159     ^JavaSourceHighlighter
   145 "/    ^ JavaSyntaxHighlighter_Old
   160 "/    ^ JavaSyntaxHighlighter_Old
   146 
   161 
   147     "Created: / 11-02-2012 / 18:11:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   162     "Created: / 11-02-2012 / 18:11:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   163     "Modified: / 30-08-2013 / 01:11:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   164 !
       
   165 
       
   166 toolboxClass
       
   167     "Answer a 'toolbox class'. A toolbox is used by language-agnostic tools (such as
       
   168      class browser) to perform language-specific tasks (search for implementors,
       
   169      build implementor menu and so on. If nil is returned, no toolbox available"
       
   170 
       
   171     ^ JavaToolbox
       
   172 
       
   173     "Created: / 31-08-2013 / 10:05:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   148 ! !
   174 ! !
   149 
   175 
   150 !JavaLanguage methodsFor:'queries'!
   176 !JavaLanguage methodsFor:'queries'!
   151 
   177 
   152 supportsExtensionMethods
   178 supportsExtensionMethods
   182 
   208 
   183 classTemplateFor: superClass in: category asNamespace: isNamespace private: isPrivate
   209 classTemplateFor: superClass in: category asNamespace: isNamespace private: isPrivate
   184     | sclass |
   210     | sclass |
   185 
   211 
   186     self assert: isNamespace not.
   212     self assert: isNamespace not.
   187     self assert: ((superClass == Object) or:[superClass isJavaClass]).
   213     JavaVM booted ifFalse:[
   188 
   214         JavaVM boot.
   189     sclass := superClass == Object ifTrue:[Java classForName:'java.lang.Object'] ifFalse:[superClass].
   215     ].
   190 
   216     superClass isJavaClass ifFalse:[
   191     ^'//import stx.libjava.annotations.Category;
   217         sclass := JavaVM classForName:'java.lang.Object'
   192 //@Category("%(CATEGORY)")
   218     ] ifTrue:[
       
   219         sclass := superClass.
       
   220     ].
       
   221 
       
   222     ^'//package ...;
       
   223 
       
   224 //import java.util.*;
       
   225 
   193 %(ACCESS) class %(NAME) extends %(SNAME) {
   226 %(ACCESS) class %(NAME) extends %(SNAME) {
   194     /* fields and methods here... */
   227     /* fields and methods here... */
   195 }
   228 }
   196 ' expandPlaceholdersWith:
   229 ' expandPlaceholdersWith:
   197         (Dictionary new
   230         (Dictionary new
   200             at: 'NAME' put: 'NewClass';
   233             at: 'NAME' put: 'NewClass';
   201             at: 'SNAME' put: sclass javaName;
   234             at: 'SNAME' put: sclass javaName;
   202             yourself)
   235             yourself)
   203 
   236 
   204     "Created: / 18-02-2012 / 18:27:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   237     "Created: / 18-02-2012 / 18:27:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
   238     "Modified: / 09-08-2013 / 00:36:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   205 ! !
   239 ! !
   206 
   240 
   207 !JavaLanguage class methodsFor:'documentation'!
   241 !JavaLanguage class methodsFor:'documentation'!
   208 
   242 
   209 version_CVS
   243 version_CVS
   210     ^ '$Header: /cvs/stx/stx/libjava/JavaLanguage.st,v 1.5 2013-04-11 09:34:19 stefan Exp $'
   244     ^ '$Header: /cvs/stx/stx/libjava/JavaLanguage.st,v 1.6 2013-09-06 00:41:23 vrany Exp $'
   211 !
       
   212 
       
   213 version_HG
       
   214 
       
   215     ^ '§Changeset: <not expanded> §'
       
   216 !
   245 !
   217 
   246 
   218 version_SVN
   247 version_SVN
   219     ^ '§Id§'
   248     ^ '§Id§'
   220 ! !
   249 ! !