JavaMethod.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 28 Jan 2015 03:12:08 +0100
branchcvs_MAIN
changeset 3360 1a8899091305
parent 3324 a58245c0e83a
child 3412 df11bb428463
permissions -rw-r--r--
Merged with mercurial revision cb6c15e66be (594 changesets total) Merged changesets: - 69af63cd04a3: Jan Vrany, 2013-09-06 10:36 +0100: Added JarFileTests to test signed jars. - d87e89dd5276: Jan Vrany, 2013-09-10 10:34 +0100: Removed packages from subProjects, makefiles uodated. - 13f5be2bf83b: Jan Vrany, 2013-09-15 01:44 +0100: Merged d87e89dd5276 and fe83a843a7bf (branch default - CVS HEAD) - 7d1a1fb5b01a: Jan Vrany, 2013-09-15 02:16 +0100: Merged 272689c14005 and 13f5be2bf83b. - 3d97124aebf5: Jan Vrany, 2013-09-16 01:04 +0100: Fixes for syntax highlighting. - f56049613ff3: Jan Vrany, 2013-09-16 14:09 +0100: Initial support for live code checker / lint. - e20dd8496371: Jan Vrany, 2013-09-17 11:22 +0100: Initial support for source code indexing (for semi-modal navigation) - 7cb269d572d3: Jan Vrany, 2013-09-17 12:19 +0100: Added link to Jenkins. - 83f8416e153c: Jan Vrany, 2013-09-20 02:03 +0100: Cleanup. Change source API in `Java` to return stream rather than string. - a633a2e8e67e: Jan Vrany, 2013-09-20 02:13 +0100: Make sure eclipse Parser is initialized before actually start parsing. - b34398d8856b: Jan Vrany, 2013-09-20 10:56 +0100: Bugfix: JavaClass>>source: check for missing source. - 5c458398e060: Jan Vrany, 2013-09-20 10:57 +0100: Fixes for JavaLintService/Highlighter: correctly flush previous problems... - a9ac61c2c454: Jan Vrany, 2013-09-21 05:23 +0100: Fixes for Java syntax highlighting and checking. - 8ff7a8f45a9f: Jan Vrany, 2013-09-22 10:33 +0100: Fix in JavaClassReloader: do not transfer compiler problems... - 0db3e311a7e7: Jan Vrany, 2013-09-22 19:32 +0100: - JavaMethodDeclarationNode - 7c283887f8c4: Jan Vrany, 2013-09-22 19:35 +0100: Fixes. - 08ef7d05987b: Jan Vrany, 2013-09-23 10:03 +0100: Update JavaLintService after rename of SmallSense::SyntaxHighlightingService... - ba792256b173: Jan Vrany, 2013-09-24 00:11 +0100: Added initial version of Jabber Client demo application. - 718fab8ca4cf: Jan Vrany, 2013-09-24 01:56 +0100: Do not load libj2pcks11.so/dll but do not bark when it's loaded. - d68db9271133: Jan Vrany, 2013-09-24 01:59 +0100: Removed examples/jabber from subprojects. - ddc68c69915a: Jan Vrany, 2013-09-24 12:45 +0100: Improvements for Java code navigation. - bf52a1e5701b: Jan Vrany, 2013-09-25 10:27 +0100: Support for implementors/senders menu. - 825b27484850: Jan Vrany, 2013-09-25 16:11 +0100: Added JavaPackage>>#compiler / #source methods... - f5f21ffdbfd9: Jan Vrany, 2013-09-26 09:11 +0100: More fixes for semi-modal navigation. - 18d2c83ecb3c: Jan Vrany, 2013-09-26 09:15 +0100: Added parse tree inspector tab to JavaSourceDocument to ease debugging. - 7638771efcbe: Jan Vrany, 2013-09-28 01:49 +0100: Fix in JavaClass>>source. - bdabb1cf8408: Jan Vrany, 2013-10-01 14:17 +0100: Some more fixes for semi-modal navigation. - 1b698ca5f0fd: Jan Vrany, 2013-10-01 23:36 +0100: More fixes for semi-modal navigation - 4756cc015954: Jan Vrany, 2013-10-02 00:59 +0100: Fix in JavaSourceDocument>>#inspector2TabParseTreeInspector - added missing notNil - 09774212044f: Jan Vrany, 2013-10-02 12:31 +0100: Another fix for semimodal navigation - d82859be4462: Marcel Hlopko, 2013-09-10 00:11 +0200: remove findResolvedStaticValue from JavaFieldRef2, not used anymore - 3d4c32e21475: Marcel Hlopko, 2013-09-10 00:14 +0200: add JavaClass>>canCacheReferences - fc8ef16dcb5c: Marcel Hlopko, 2013-09-12 23:43 +0200: add JavaClass>>hasMultipleVersions - fa96e547c9a5: Marcel Hlopko, 2013-09-12 23:44 +0200: set cleanCacheFlag in JavaFieldRef when multiple java class versions present - b097de8f18b1: Marcel Hlopko, 2013-09-12 23:47 +0200: merge heads - ad96da73c612: Marcel Hlopko, 2013-09-12 23:53 +0200: merge heads - 630363041ceb: Marcel Hlopko, 2013-09-13 22:11 +0200: tiny refactoring - e3092c16bcce: Marcel Hlopko, 2013-09-19 23:24 +0200: add cleanCacheFlag to JavaFieldRef2 - 7cdd959123dd: Marcel Hlopko, 2013-09-20 00:10 +0200: fix reloading tests (now they fail where expected) - c6f2c3b4a45b: Marcel Hlopko, 2013-09-22 21:12 +0200: merge heads - 2158564a90d1: Marcel Hlopko, 2013-10-01 22:58 +0200: temporarily add JavaConstantPool>>invalidateReferencesForClass - 6659925a80a4: Marcel Hlopko, 2013-10-01 23:06 +0200: tiny fix in reloading tests - 66f842986836: Marcel Hlopko, 2013-10-02 22:07 +0200: cleanup multiple Java class versions handling - 06599146279d: Marcel Hlopko, 2013-10-02 23:33 +0200: fix JavaClassReloader>>invalidate - 7d5ffec2f654: Marcel Hlopko, 2013-10-02 23:35 +0200: run ObjectMemory>>garbageCollect before and after each Java reloading test - 0216e0808608: Jan Vrany, 2013-10-03 15:30 +0100: Bugfix: Added missing JavaSocket>>timeout: - 241e36a125a9: Jan Vrany, 2013-10-03 17:36 +0100: Added java support code for stx:libjava/libtool - d4914ffbb0cf: Jan Vrany, 2013-10-03 20:07 +0100: Fix in JavaSourceHighlighter: save full tree in sourceIndex. - b25c8b9e886a: Jan Vrany, 2013-10-04 08:59 +0100: Highlighter cleanup, addes support for Groovy. - e6109bd7dfd2: Jan Vrany, 2013-10-04 12:22 +0100: Problem highlighting optimization/cleanup. - b530c3f48cd3: Jan Vrany, 2013-10-04 12:49 +0100: Changed display string for Java methods. - 6a57107d168a: Jan Vrany, 2013-10-04 17:02 +0100: Improvement in interop/java extensions. - 662204c99509: Jan Vrany, 2013-10-05 00:57 +0100: Oops, fixed interop for extensions defined on interfaces. - f3cfee185a72: Jan Vrany, 2013-10-05 01:01 +0100: Fix for GroovyEvaluator - cec025d0f359: Jan Vrany, 2013-10-05 01:11 +0100: Oops, fix for resolving. - 92ae91b29303: Jan Vrany, 2013-10-05 01:27 +0100: Added some common collection methods to java.util.Collection... - f0c1243363d8: Jan Vrany, 2013-10-05 01:50 +0100: Improvement in GroovyEvaluator: add receiver's instance variables to accessible variables. - 6936cde374d2: Jan Vrany, 2013-10-05 23:36 +0100: Fix in Java parser: set source level to 1.6 or 1.7 depending on running system. - 2fdee4f9e146: Jan Vrany, 2013-10-05 23:37 +0100: Added Java files required by interop tests. - b2fa940b8184: Jan Vrany, 2013-10-06 00:01 +0100: Fixed tests JavaFieldRefTests>>testCorrectResolving - 24e508459735: Jan Vrany, 2013-10-06 00:03 +0100: Merged 2fdee4f9e146 (tools support and fixes) and 7d5ffec2f654 (multivers fixes) - 62c767616a13: Jan Vrany, 2013-10-06 22:37 +0100: Fixed stupid bug in JavaFieldRef2 (did not correctly set type to R_DOUBLE for double fields) - b9c510a2234e: Jan Vrany, 2013-10-06 22:39 +0100: Merged 62c767616a13 and 24e508459735 - ba98473322b9: Jan Vrany, 2013-10-07 11:06 +0100: Fix in JavaToolbox>>#displayStringForSelector:in:withClassName: - 43370b378bf9: Jan Vrany, 2013-10-07 11:27 +0100: Added lost extension MessageSend>>navigateToUsing: - c4bd856eeb26: Jan Vrany, 2013-10-07 11:29 +0100: Oops, fixed MessageSend>>navigateToUsing: extension. Sigh... - 41d1af53f1eb: Jan Vrany, 2013-10-07 11:54 +0100: Fix in JavaVM>>standardThreadGroup - 46f6ef83cce6: Jan Vrany, 2013-10-07 19:16 +0100: More extensions for List - 13b4f59e3b0a: Jan Vrany, 2013-10-08 07:05 +0100: Fixes in parsing/highlighting. - e3b939ba5a5d: Jan Vrany, 2013-10-08 09:25 +0100: Fix in JavaSourceDocument>>initializeSourceRefsInMethods - match methods using their descriptors... - 7072f7fb65f6: Jan Vrany, 2013-10-08 09:28 +0100: Support for generic (parametrized) types in source indexer. - 8542f6311dcc: Jan Vrany, 2013-10-08 10:02 +0100: Merged 7072f7fb65f6 and e3b939ba5a5d - 7cd5e50a6c5a: Jan Vrany, 2013-10-08 11:13 +0100: Load java extension methods silently. - b00543ba4599: Jan Vrany, 2013-10-08 14:06 +0100: Added #first, #second, ... extensions to the List interface - 342fbc21cc23: Jan Vrany, 2013-10-08 14:08 +0100: Small fix in JavaMethod>>argAndVarNamesInContext: - 1c7b69664136: Jan Vrany, 2013-10-08 18:04 +0100: Fixes in JavaSourceHighlighter: - 681e5db578ad: Jan Vrany, 2013-10-08 19:16 +0100: Cleanup - remove old tools (parsers/parse nodes...) - 4b819ed57eeb: Jan Vrany, 2013-10-09 11:30 +0100: Oops, cleanup commit swept way to much. Restored Java extension containers for AST nodes. - 6d3bac6f72c7: Jan Vrany, 2013-10-09 23:37 +0100: Fix in stx.libjava.tools.text.Highligter - do not override parseClassBodyDeclarations()... - 7fb4ad65d417: Jan Vrany, 2013-10-09 23:38 +0100: build.xml files fixed. - 6fa1bcf9c997: Jan Vrany, 2013-10-10 00:08 +0100: JavaClass>>#name vs. #binaryName refactoring - 881eb22c2724: Jan Vrany, 2013-10-10 01:03 +0100: Bugfix in JavaClass>>nameSpaceName: all classes loaded by primordial, ext or system class loader should go to JAVA namespace. - 36f000314bcd: Jan Vrany, 2013-10-10 10:42 +0100: Fix in mixed exception handling. - 5157d3aea2c5: Jan Vrany, 2013-10-10 10:49 +0100: Merged 6fa1bcf9c997 (classname refactoring) and 7fb4ad65d417 (main) - 16c497edc69d: Jan Vrany, 2013-10-10 10:50 +0100: Merged 5157d3aea2c5 and 36f000314bcd (mixed exception handling fix) - d4ebf2a7c399: Jan Vrany, 2013-10-10 11:00 +0100: Merged 16c497edc69d and 881eb22c2724 (fix in JavaClass>>nameSpaceName - 5ea0697eef5f: Jan Vrany, 2013-10-10 11:25 +0100: Hack for old VM JavaClass>>binaryName:numStatic: - 96f3e2254489: Marcel Hlopko, 2013-10-08 19:02 +0200: remove JavaConstantPool#ConstantPools weak array, use JavaVM registry instead - 9e7d690fdc68: Marcel Hlopko, 2013-10-10 16:53 +0200: add blank requestRecompile & requestReload methods - 06e68d6098db: Jan Vrany, 2013-10-10 16:48 +0100: Added JavaObject>#instanceOf: - 90bcc3f41a0a: Jan Vrany, 2013-10-11 10:16 +0100: Merged 06e68d6098db and 9e7d690fdc68 (Marcel's fixes) - e4f0dcc42f4a: Jan Vrany, 2013-10-11 11:33 +0100: Fixed logging of monitor-related events - honour JavaVM.MonitorTrace flag. - 3680bdc3ef00: Jan Vrany, 2013-10-11 18:34 +0100: Merged 5ea0697eef5f and e4f0dcc42f4a (monitor trace fixes) - 76893aac6a7e: Marcel Hlopko, 2013-10-12 15:53 +0200: add JavaFieldRef>>reresolveForVersion: javaClass - 1ab75f8aa9de: Marcel Hlopko, 2013-10-12 18:10 +0200: small cleanup - ad2948878d56: Marcel Hlopko, 2013-10-12 18:13 +0200: fix stupid test and voila - hierarchy tests passing :) - 751597d0526a: Marcel Hlopko, 2013-10-12 21:01 +0200: do not migrate instances when type of the field is generalized - d030cf717ca2: Marcel Hlopko, 2013-10-12 21:03 +0200: temporarily ignore type inconsistencies on return values - 6d2d593cb29e: Marcel Hlopko, 2013-10-12 21:52 +0200: rename reresolveForVersion to resolveForVersion - cace5e1f84f3: Marcel Hlopko, 2013-10-13 12:04 +0200: experimenting with fieldRef resolving for particular class version - a31c3f2902d7: Marcel Hlopko, 2013-10-13 12:31 +0200: jv please revide, I probably broke something and this only fixes a symptom. - b9fadb7c9a1f: Marcel Hlopko, 2013-10-13 14:54 +0200: move resolveForVersion moved to JavaClassRef2 - a141e4ea784d: Marcel Hlopko, 2013-10-13 16:22 +0200: ensure JavaClassRef2>>resolveForVersionOf:or: chooses class specified by the reference - 83f90bb755e8: Marcel Hlopko, 2013-10-13 16:23 +0200: fix hierarchy reloading test so it is type safe. - 853c11fe1ce8: Marcel Hlopko, 2013-10-13 20:55 +0200: wire in requestRecompile sends - c62aa3987316: Marcel Hlopko, 2013-10-13 20:56 +0200: fix another field reloading tests - 36690c744edb: Marcel Hlopko, 2013-10-13 21:11 +0200: fix field visibility reloading text so surprising behavior is even more visible - and CALLING FOR HELP :) - 47083445aaf9: Jan Vrany, 2013-10-14 08:45 +0100: Merged 3680bdc3ef00 and 36690c744edb (Marcel's reloading fixes) - 095a83d77fe3: Jan Vrany, 2013-10-14 15:18 +0100: Added #creator for mixed exception handling. - ca49798e0a5d: Jan Vrany, 2013-10-14 19:11 +0100: More fixes for new naming scheme - cfd4ec1ffa22: Jan Vrany, 2013-10-14 23:17 +0100: Reverted back Marcel's change in JavaCompiler: pass plain Smalltalk string. - 7d803d440e44: Jan Vrany, 2013-10-14 23:18 +0100: Fix in JavaClassReloaderTests>>register: (send #binaryName instead of #name) - 10c0fcf2d304: Jan Vrany, 2013-10-14 23:29 +0100: Fix JavaClassReloader for new naming (#name -> #binaryName) - 3a85f55763e2: Jan Vrany, 2013-10-15 02:33 +0100: Implemented JavaClassReloader>>#requestReload & #requestRecompile (part 1) - af4e7f1dd33e: Jan Vrany, 2013-10-15 02:34 +0100: Implemented JavaClassReloader>>#requestReload & #requestRecompile (part 3) - 192833bfdba1: Jan Vrany, 2013-10-15 15:30 +0100: Implemented stx.libjava.tools.environment.Environment.cleanup() - 3d942fb39104: Jan Vrany, 2013-10-15 15:31 +0100: Removed eclipse-runtime from stx:libjava/libs dependencies... - 7bd41088bd64: Jan Vrany, 2013-10-15 17:58 +0100: Fix in JavaCompiler>>#compile:register:notifying: (send #binaryName instead of #name) - c330ff3eb374: Jan Vrany, 2013-10-15 23:40 +0100: Fix in JavaClassReloader (recompilation) - 50b4916dd8d2: Jan Vrany, 2013-10-16 01:20 +0100: Fixes for Java method tracing/counting. - 916f3eedc505: Jan Vrany, 2013-10-16 09:09 +0100: Fix in JavaClassReloader - when updating class, also update attributes and annotations. - d92f88db7514: Jan Vrany, 2013-10-16 10:05 +0100: Improved JavaClassReader to read InnerClasses and MissingTypes attributes. - 1eaa3f10540b: Jan Vrany, 2013-10-16 10:48 +0100: Removed JavaSingleClassReloaderTests, tests merged in JavaClassReloaderTests. - 90724c4fa7f8: Jan Vrany, 2013-10-16 14:15 +0100: Fix to recompile erroneous classes upon reload. - 4b11c2089443: Jan Vrany, 2013-10-17 02:02 +0100: Removed obsolete tests... - b8187695c8cd: Jan Vrany, 2013-10-17 02:05 +0100: Added JavaMethod>>#interpretWithReceiver:arguments: - 948160ac3435: Jan Vrany, 2013-10-17 02:24 +0100: Fix in JavaCompiler>>#recompile: when recompiling, use class's original class loader. - 3ed529d88338: Jan Vrany, 2013-10-17 11:11 +0100: Recompilation fixed (avoid endless recursion) - 3084c43f20a1: Jan Vrany, 2013-10-18 16:54 +0100: Introduced GroovyScanner with support for Groovy-only tokens... - e62187297585: Jan Vrany, 2013-10-18 16:55 +0100: Fix in JavaSourceDocument - care for types with no method declarations - d8458cc3aabe: Jan Vrany, 2013-10-19 17:38 +0100: Make JavaVM>>#loadClassesIn: to work with .jar files as well. - 7bcde178eee7: Jan Vrany, 2013-10-20 00:07 +0100: Fix in JavaSourceHighlighter: do full highlighting for applications spawn from the debugger. - 5f7f5fca111a: Jan Vrany, 2013-10-21 08:31 +0100: Fix stx.libjava.tools.Source#getFileName(): always return a name to avoid NPE. - 83a135e3ef74: Jan Vrany, 2013-10-21 08:32 +0100: Call CompilationUnitDeclaration#analyseCde() to perform flow analysis... - a4c9642a6a67: Jan Vrany, 2013-10-21 10:39 +0100: Bugfix in JavaScannerBase>>:syntaxError:position:to: - raise ParseError. - dc03c9cd404a: Jan Vrany, 2013-10-22 00:07 +0100: Optimization in JavaLintService: cache language of the code view in an instvar. - 781c4bed22d0: Jan Vrany, 2013-10-22 03:44 +0100: Added JavaScannerBase>>#tokenName for compativility with smalltalk Scanner. - a284a338f355: Jan Vrany, 2013-10-22 14:57 +0100: Fixed a very. very nasty bug in wait(). - 64b02ee49807: Jan Vrany, 2013-10-22 18:50 +0100: Addes synchronization in JavaClass>>classInit. - 38bc44ad0f95: Jan Vrany, 2013-10-22 23:21 +0100: More fixes after Java class name refactoring. - 2f98edaf6aba: Jan Vrany, 2013-10-23 00:49 +0100: Removed JavaContext>>#argsAndVars - context inspector should show `this` as well. - 5b492b74975f: Jan Vrany, 2013-10-23 10:50 +0100: Bugfix in JavaMethod>>lineNumber (missing return) - a988e67e4dea: Jan Vrany, 2013-10-23 12:25 +0100: Fix in native java.lang.Class#forName0() - 96f3d8a73343: Jan Vrany, 2013-10-24 23:19 +0100: Fixed JavaLintService>>#unregister - break dependencies when unregistering - 60ed1d160ea5: Jan Vrany, 2013-10-26 17:56 +0100: Fix in JavaClassReloader - ignore non-Java methods when recompiling users of removed method. - 80bc02e62077: Jan Vrany, 2013-10-26 18:05 +0100: - JavaClassReloader - 272f9a99e3db: Jan Vrany, 2013-10-26 21:29 +0100: Fix in JavaSourceHighlighter::Indexer - allow for null variable binding. - 75e3fb8a615f: Jan Vrany, 2013-10-27 09:43 +0000: Fix in JavaSourceHighlighter>>doLexicalHighlightingOnly: care for window groups with no main view - 70df89fe0af0: Jan Vrany, 2013-10-27 10:28 +0000: Fix in JavaSourceDocument>>#initializeSourceRefsInMethods - 20d65bcdae80: Jan Vrany, 2013-10-28 10:42 +0000: Refactored JavaObject>>#doesNotUnderstand: refacttored to provide better UX in debugger - 1dbc311e1d74: Jan Vrany, 2013-10-28 11:29 +0000: Bugfix JavaClassReloader: handle missing/mis-spelled classes. - 894e894aa511: Jan Vrany, 2013-10-28 11:39 +0000: Fix in JavaClassReloader>>updateOldClass: update old method only if class of the method is the same. - edaa0c80646e: Marcel Hlopko, 2013-10-28 15:36 +0100: fix JavaBehavior>>hasMultipleVersions - 21a756977e9f: Marcel Hlopko, 2013-10-28 15:37 +0100: add Java reloading tests - fields in parent, GCing unused class versions - ec6e8825f168: Jan Vrany, 2013-10-31 07:53 -0300: Fix in stx.libjava.tools.text.Highlighter: do not try resolve fields when binding is null. - b7070e447ed0: Jan Vrany, 2013-11-05 17:52 +0000: Fixes for displaying local variables in debugger. - 89c09ec6e109: Jan Vrany, 2013-11-06 23:31 +0000: Fix for JavaTestsLoader (after JavaClass>>name refactoring) - 8005b7c3e51a: Jan Vrany, 2013-11-06 23:33 +0000: Fix in stx.libjava.tools.text.Highlighter: do not try resolve QualifiedNameReference when binding is null - 3a7d18c7fe40: Jan Vrany, 2013-11-06 23:40 +0000: Merged 8005b7c3e51a and 21a756977e9f - 3dd946439657: Jan Vrany, 2013-11-07 18:48 +0000: Fix in JavaClass>>#javaUnwrap: care for nil/null. - 503761e88b38: Jan Vrany, 2013-11-08 10:11 +0000: Fixes for Mauve tests. - 064418faa2e3: Jan Vrany, 2013-11-11 09:48 +0000: Another pass over Mauve tests. - 2fae1fd966be: Jan Vrany, 2013-11-11 17:27 +0000: Added JavaRelease>>system which uses default system Java installation. - f6e83cfb4d0f: Jan Vrany, 2013-11-11 21:20 +0000: Added natives required by OpenJDK 7, update 25. - 69560c0ea583: Jan Vrany, 2013-11-11 21:32 +0000: Oops, fix in JavaNativeMethodImpl_OpenJDK6>>invoke:receiver:arguments:context:constructor: - a38c23f77e42: Jan Vrany, 2013-11-11 22:05 +0000: Fixed native java.io.*FileSystem#createFileExclusively - 7d69859368db: Jan Vrany, 2013-11-11 22:33 +0000: Oops, fixed mispelled arg name in JavaNativeMethodImpl_OpenJDK6. - 1f4c3054998c: Jan Vrany, 2013-11-12 01:31 +0000: Native java.lang.Object#clone() refactored to use ACX_CLOENABLE flag. - ac252847cc04: Jan Vrany, 2013-11-12 02:14 +0000: Oops, fix in isCloneable - if ACX_CLONEABLE is not set, always check interfaces. - 3d8a63dbf6dd: Jan Vrany, 2013-11-12 11:17 +0000: Oops, fix for JavaClass>>isCloneable - handle subclasses of a class that implements Cloneable. - e634189c444e: Jan Vrany, 2013-11-13 11:13 +0000: Another pass over java.io.* natives. Fixes for OpenJDK 7. - e2fc5ead5542: Jan Vrany, 2013-11-14 01:25 +0000: Fix in Float/LargeInteger>>javaBox: - d4ef0fe45599: Jan Vrany, 2013-11-14 12:06 +0000: Fix in JUnitTestCaseProxy>>#testSelectors. - 36e0682339ed: Jan Vrany, 2013-11-14 23:24 +0000: Fixed natives to convert float/double to int/long bits and other way around... - 85ccd41f883c: Jan Vrany, 2013-11-14 14:50 -0800: Fixes and (void) natives for shared-memory JDI transport. - 9fd2ea0570fe: Jan Vrany, 2013-11-15 11:01 +0000: Merged 36e0682339ed and 85ccd41f883c - 0be6bc618029: Jan Vrany, 2013-11-15 15:17 +0000: When accessing Java source in .har, try uncompress it using ZipArchive first... - 0479c114bcc0: Jan Vrany, 2013-11-15 22:39 +0000: Merged 9fd2ea0570fe and 0be6bc618029 - a77c05c8cd68: Jan Vrany, 2013-11-15 23:00 +0000: Fix in JavaVM for exception debugging. - 223fb480e1fb: Jan Vrany, 2013-11-15 23:01 +0000: Fix for OpenJDK7 native _java_util_zip_ZipFile_getEntryBytes:_: _: _: - b8295c72dd53: Jan Vrany, 2013-11-18 14:00 +0000: Added tests for FREM/DREM and ?AND and ?OR. - 08a14f3553a2: Jan Vrany, 2013-11-18 14:53 +0000: Fix in JavaVM>>#unpark: (typo) - b919ffd3d2a6: Jan Vrany, 2013-11-18 22:08 +0000: Fixed classpath for stx:libjava/libs eclipse project (removed obsolete libs) - 8c690545a18d: Jan Vrany, 2013-11-18 23:04 +0000: Fix in JavaCodeLibrary>>classPathOn: - allow for sources-only libraries. - e215dba1f0fb: Jan Vrany, 2013-11-18 23:07 +0000: Fix in JavaClassReader for concurrent access to zipa archives. - 54787b966373: Jan Vrany, 2013-11-18 23:08 +0000: Added Java code bundle with Tomcat sources to ease debugging. - 7c556b58cd4b: Jan Vrany, 2013-11-19 00:44 +0000: Fixes in ApacheTomcat6 (misspelled class name) + build files regenerated - 969166ba9c7c: Jan Vrany, 2013-11-19 00:45 +0000: Merged 7c556b58cd4b and 08a14f3553a2 - 1fc9ae49376d: Jan Vrany, 2013-11-19 00:46 +0000: Merged 969166ba9c7c and 54787b966373 - 7a439bd8ae5b: Jan Vrany, 2013-11-19 10:01 +0000: Added JavaCompilerForSmalltalkExtensionsOnly for environments without full JavaCompiler... - 65d127f0c9c1: Jan Vrany, 2013-11-19 10:20 +0000: Fix in interop - make sure the class is initialized when invoking static method. - c464794e5fa2: Jan Vrany, 2013-11-19 11:29 +0000: Added signal handlers to ApacheTomcat6 startup class. - 3f4853b3c30d: Jan Vrany, 2013-11-20 10:00 +0000: Calls to fdlim functions embedded into natives, JavaMathSupport removed. - 451954b79f93: Jan Vrany, 2013-11-20 10:42 +0000: Fixes for Tomcat 6 startup. - c342efcd1bcb: Jan Vrany, 2013-11-20 16:13 +0000: Oops, added missing class JavaCompilerForSmalltalkExtensionsOnly. - c39cbf09ea3d: Jan Vrany, 2013-11-20 16:40 +0000: Fixes for Java reflection on Smalltalk classes. - cc9cf6c073bd: Jan Vrany, 2013-11-20 16:41 +0000: Merged c342efcd1bcb and c39cbf09ea3d - d0b831020baa: Jan Vrany, 2013-11-20 17:31 +0000: Fixes for Tomcat example: allow Workspace WEBAPP to run without JavaScript loaded. - 98971af93e31: Jan Vrany, 2013-11-20 23:45 +0000: Fix in JavaVM>>#initializeSystemPropertiesInto: be careful when initializing stx.libjava.tests... - 5f8f0ac505a5: Jan Vrany, 2013-11-22 10:33 +0000: Fix in JavaClassReader>>#readClass:from:ignoring: (fix wrong code for zar refcounting) - e5fc3aaad7a2: Jan Vrany, 2013-11-23 10:19 +0000: Build support files for tomcat6 laucnher fixed - af30789878ce: Jan Vrany, 2013-11-26 21:19 +0000: Temporary class loading race-condition workaround. - 448a12efa893: Jan Vrany, 2013-11-26 21:21 +0000: Fix in Mauve DoubleTest. - ec1be126d72e: Jan Vrany, 2013-11-26 23:04 +0000: Fixes in Java source highlighting - boot Java if not already. - 590fd4bf22a8: Jan Vrany, 2013-11-27 00:29 +0000: Hack in JavaSourceHighlighter for JImport expecco plugin. - ff6465e92d95: Jan Vrany, 2013-12-03 00:17 +0000: Flush JavaClassRegistry's notifier when flushing classes. - 7c542571c7c1: Jan Vrany, 2013-12-03 00:37 +0000: Added interop tests for constructors. - f5b13d9b249b: Jan Vrany, 2013-12-03 01:14 +0000: Added all stubs for native methods from recent OpenJDK 6. - 55692310d4e6: Jan Vrany, 2013-12-06 22:10 +0000: Fix in JavaVM>>monitorEnter:in: inflate thinlock using #getMonitor. - 17be352f0130: Jan Vrany, 2013-12-08 00:41 +0000: Added lockWord to JavaBehavior to enable thinlocking for static methods and resolver. - 02b58c7079ac: Jan Vrany, 2013-12-08 22:36 +0000: Added JavaObject>>synchronized: and JavaClass>>synchronized: - bbd626006ab0: Jan Vrany, 2013-12-09 23:52 +0000: Access to ZipEntryCache synchronized to avoid races. - 3e837849ce3e: Jan Vrany, 2013-12-10 10:46 +0000: Bugfix: fixed premature freeing of zip entry causing zip entry. - d133d35e293b: Jan Vrany, 2013-12-10 22:33 +0000: Class loading refactoring (part 1) - 86e181f74199: Jan Vrany, 2013-12-10 23:04 +0000: Class loading refactoring (part 2) - 83d32dc4fcea: Jan Vrany, 2013-12-10 23:20 +0000: Class loading refactoring (part 3) - 2397022c7057: Jan Vrany, 2013-12-12 15:30 +0000: Bugfix in JavaRelease::OracleJDK7>>validateJavaHome2: - 7c3b2a89f173: Jan Vrany, 2013-12-18 00:02 +0100: Use system class loader when loading class for JavaClassAccessor. - bac7022ca26a: Jan Vrany, 2013-12-18 12:03 +0100: Merged 7c3b2a89f173 and 80a1a085a982 (branch performance-optimizations) - afd174546057: Jan Vrany, 2013-12-18 14:52 +0100: Post-merge fixes. - 8ffaaa45f964: Jan Vrany, 2013-12-23 22:49 +0100: Fix in Java>>flushClasses: do not use Smalltalk>>removeKey: - d4963adcb114: Jan Vrany, 2013-12-23 22:59 +0100: Added JavaClass>>synchronized: that uses thinlocks. - 38f0943c97a4: Jan Vrany, 2013-12-23 23:14 +0100: Fix in JavaRef2>>#resolve: resolving is now synchronized on class. - c9408352a572: Jan Vrany, 2014-01-07 13:44 +0100: Fix in JavaClass>>#perform:onReceiver:from:ifNotFound: pass selector/sender when evaluatinh method using Method>>valueWith:... - a44d1fa11204: Jan Vrany, 2014-01-14 09:49 +0000: Fix in JavaSourceHighlighter>>#formatClassDefinition:in: - care for formatting class side... - 3d6c08acf4cd: Jan Vrany, 2014-01-18 11:43 +0000: Fixed native #_sun_reflect_Reflection_getCallerClass:_: to work with new JIT compilation scheme. - 64ec2085e797: Jan Vrany, 2014-01-18 21:42 +0000: Better printOn: / printString: fpr JavaMethodRef2 - 36b5b06398b5: Jan Vrany, 2014-01-18 21:44 +0000: Fix in ByteArray>>_CHECKCAST:/_INSTANCEOF: (typo/copy paste error) - ec1f7113fac0: Jan Vrany, 2014-01-18 21:47 +0000: Added _INVOKE*R: methods used by new JIT compiler. - a384a02381c0: Jan Vrany, 2014-01-20 14:04 +0000: Update JavaLookup to work with new JIT-compilation scheme... - c3005d991df7: Jan Vrany, 2014-01-20 14:06 +0000: JavaRef2>>invalidate/invalidateForClass: moved from experiments to stx:libjava - f44a7499454b: Jan Vrany, 2014-01-20 15:11 +0000: Added _GETFIELD_R:_:/ _GETSTATIC_R: / _PUTFIELD_R:_:_: / _PUTSTATIC_R:_: (used by new JIT code) - c69ab7aefc53: Jan Vrany, 2014-01-20 23:08 +0000: Fixed _GETSTATIC_R: / _PUTSTATIC_R: - initialize class if not already. - 604d4f079e66: Jan Vrany, 2014-01-21 11:28 +0000: Fix in JavaClass>>basicNew initialize class if not already. - 5c86c719a79b: Jan Vrany, 2014-01-21 14:44 +0000: Fix in JavaLookup::Smalltalk2Java: match Unicode16/32String to java.lang.String when calling Java method from Smalltalk. - 673487527490: Jan Vrany, 2014-01-22 15:02 +0000: Fix in JUnitTestCaseProxy>>performTest. - 3947e2e8f8d9: Jan Vrany, 2014-01-22 15:28 +0000: Added new native JavaNativeMethodImpl_OpenJDK6>>#_java_lang_Class_getDeclaringClass0: - 3f59f05b601e: Jan Vrany, 2014-01-23 16:16 +0000: Added tests from GETFIELD/PUTFIELD and INVOKE*. - 369b56b7f766: Jan Vrany, 2014-01-23 23:10 +0000: Merged 3f59f05b601e and 64ec2085e797 - 6b521f99c43b: Jan Vrany, 2014-01-27 14:00 +0000: Moved JavaCompilerTests to stx:libtool. - 1badaa4fa024: Jan Vrany, 2014-01-28 11:23 +0000: Added support for new MULTIANEWARRAY implementation. - ed6c057accab: Jan Vrany, 2014-01-28 11:23 +0000: Added tests for MULTIANEWARRAY instruction - 593add70a2cd: Jan Vrany, 2014-01-28 14:43 +0000: Added _MULTIANEWARRAY* methods to suppott new MULTIANEWARRAY implementation. - 21011804a910: Jan Vrany, 2014-01-29 17:27 +0000: Fixed _GETFIELD_R: / _PUTFIELD_R: to throw NPE when an object is nil. - c45e84ee0baf: Jan Vrany, 2014-01-30 23:40 +0000: Fix in method ref: initialize class if not already, removed breakpoints... - 732f9db2a195: Jan Vrany, 2014-01-31 09:19 +0000: Cleanup & refactoring of constant pool references (JavaRef2 hierarchy) - ed8cd8e5a16d: Jan Vrany, 2014-01-31 12:41 +0000: Added JavaBooleanArray to represent boolean[]. - 53644e5c7d2b: Jan Vrany, 2014-01-31 17:17 +0000: Rename __ACC_BREAKPNT to __ACX_BREAKPNT, there's no such constant in JVM spec. - 4f0cd5c93d1b: Jan Vrany, 2014-02-03 09:25 +0000: Fixed some java.io.WinNT/Win32FileSystem natives. - 7472dbd72ef7: Jan Vrany, 2014-02-05 09:08 +0000: Fixed native _java_net_Inet4AddressImpl_lookupAllHostAddr:_: - 7702920fa03a: Jan Vrany, 2014-02-05 14:01 +0100: Added tests for reflection on arrays. More tests for shift instructions. - 220f5d25933a: Jan Vrany, 2014-02-05 15:13 +0100: Merged 7702920fa03a and 1badaa4fa024 - fe87c228905c: Jan Vrany, 2014-02-05 15:22 +0100: Merged 220f5d25933a and 7472dbd72ef7 - 08d798b4ef80: Jan Vrany, 2014-02-05 16:26 +0100: Added run-all.rb scrip to run all tests on several different configurations - a80a2d7fc0e1: Jan Vrany, 2014-02-05 16:28 +0100: Added XMPP Chat example (shown at Smalltalks 2013) - c1ec15d94457: Marcel Hlopko, 2014-01-25 21:35 +0100: fix javaHome for oracle-7 - c9f0019485ff: Marcel Hlopko, 2014-01-25 21:47 +0100: get rid of old mh breakpoint - 659fb25645b0: Marcel Hlopko, 2014-01-26 17:15 +0100: fix constant pool content tests - 394676d5c68e: Marcel Hlopko, 2013-12-12 16:42 +0100: fix typo in JavaRelease - c1c82d3baae7: Jan Vrany, 2014-02-06 10:38 +0100: Use Ant+Ivy instead of Maven to download libraries in stx:libjava/libs - 8fcf6cde056e: Jan Vrany, 2014-02-06 10:45 +0100: Merged c1c82d3baae7 and 394676d5c68e - 414e6567b574: Jan Vrany, 2014-02-06 10:48 +0100: Merged 8fcf6cde056e and 659fb25645b0 - 024e71f1142e: Jan Vrany, 2014-02-06 11:10 +0100: Merged Claus's Java release definition for OS X into JavaRelease::AppleJDK6. - 8b3f1f16a660: Jan Vrany, 2014-02-06 14:06 +0100: Fix in JavaRelease::AppleJDK6 - removed JavaVMData pool - 7ff48afbef00: Jan Vrany, 2014-02-07 09:07 +0100: Fixes in natives for non-TRADITIONAL_STACK machines. - c04668cd040d: Jan Vrany, 2014-02-07 09:49 +0100: Natives cleaned up a bit. - e7c286435bfe: Jan Vrany, 2014-02-11 16:29 +0000: Fixed tests'run-all.rb to run under Windows as well. - 39a55d1baeff: Jan Vrany, 2014-02-11 20:21 +0000: Yet another cleanup of java.io.FileSystem mess. - 506844f3740e: Jan Vrany, 2014-02-11 21:52 +0000: Reduced dimensions on MULTIANEWARRAY#test_incomplete_02 to avoid 2-pass compressing GC. - 31dc5184bf9a: Jan Vrany, 2014-02-12 10:30 +0000: Workaround in JavaRelease::OpenJDK7>>searchForSourcePath for Debian boxes. - 93a610491bf8: Jan Vrany, 2014-02-12 11:10 +0000: Fixes in java.io,Win32FileSystem - added listDrives0() native. - e2137bf62524: Jan Vrany, 2014-02-12 12:39 +0000: Fix in JUnit/TestletTestCaseProxy. - 2efe1601724c: Jan Vrany, 2014-02-12 15:37 +0000: Merged 31dc5184bf9a and e2137bf62524 - aed7115ce6e8: Jan Vrany, 2014-02-12 20:47 +0000: Fix in JavaRelease::OpenJDK6>>searchForSourcePath. - 3bc512cb6649: Jan Vrany, 2014-02-12 21:28 +0000: Branch development merged into default. - f17a68612f53: Jan Vrany, 2014-02-13 08:54 +0000: Fake-merged bdf545540de0 into 3bc512cb6649 to get rid of second head. - 5f69bed172fe: Jan Vrany, 2014-02-17 15:22 +0100: Fix in JavaRelease::AppleJDK6 - should be available only on OS X. - 590aa6c3cb24: Jan Vrany, 2014-02-19 10:21 +0000: Improvements and fixes in GroovyEvaluator. - b5001e1fb06c: Jan Vrany, 2014-02-20 22:54 +0000: More compatibility extensions for java.util.List - a7a3fdc9d6b7: Jan Vrany, 2014-02-25 17:01 +0000: Fixes in java.util.List>>indexOf: & identityIndexOf: - 36a4e9ab4d00: Jan Vrany, 2014-03-04 13:36 +0000: Skip all workspace tests in GroovyEvaluatorTests when there's no display connection... - 66e0970661db: Jan Vrany, 2014-03-04 17:03 +0000: Removed #preRequisites, build files regenerated. - 366b8f64dc45: Jan Vrany, 2014-03-07 00:20 +0000: Eclipse projects updated. - 31ddc9aa291d: Jan Vrany, 2014-03-18 11:32 +0100: Fix in JavaRelease>>system for UNIX-like systems. - e924b175ca61: Jan Vrany, 2014-03-19 11:12 +0000: Added ThreadStopTests to tests execution abortion. - ff90519ce3ac: Jan Vrany, 2014-03-19 11:48 +0000: Interop tests refactoring. - 7a326f9f8aad: Jan Vrany, 2014-03-19 17:44 +0000: Bug fix in interop with respect to overloaded methods in subclasses. - 40beb6dad64f: Jan Vrany, 2014-03-20 14:13 +0000: Eclipse projects cleanup - b25792751803: Tomáš Heger, 2014-03-19 05:32 +0100: First implementation of ClassFileScanner. - 135c3202c5b7: Tomáš Heger, 2014-03-19 23:43 +0100: ClassFileScanner fixed, tests added. - 08238e0175ae: Tomáš Heger, 2014-03-20 10:52 +0100: Major version number verifying added. - f08a8f57d43b: Jan Vrany, 2014-03-20 14:39 +0000: Merged 08238e0175ae and 40beb6dad64f (Tom's ClassFileScanner) - 3ac5c037b13d: Jan Vrany, 2014-03-20 14:43 +0000: Fixed stx.libjava.tools.compiler.CompilerError initialization problem. - 74535b57b370: Jan Vrany, 2014-03-21 13:25 +0000: Make internal JVM processes to form a new provess group on Smalltalk VM level. - 033e56844dc9: Jan Vrany, 2014-03-25 15:36 +0000: Fixes to for JDI debugger. - d23f94ac7fd5: Jan Vrany, 2014-03-31 12:05 +0200: Made non-ASCII literals encoded using \uXXXX rather than using direct UTF8 in .java sources. - 36df3896ac57: Jan Vrany, 2014-04-01 13:41 +0200: Fixed JavaReleaser>>JDK6/JDK7 - eae56960a120: Jan Vrany, 2014-04-01 14:40 +0200: Oops, fixed syntax error (missing dot) - 642c961ea130: Jan Vrany, 2014-04-02 16:19 +0200: Fix in JavaRelease::SunJDK122. - 7e5ad1b76629: Jan Vrany, 2014-04-03 12:38 +0200: Initial stubs for Java 8 - 10b7a8f2e23c: Jan Vrany, 2014-04-03 21:00 +0200: Change JavaRelease to use output of `java -version` when validating Java installation directory. - fd92dea7b142: Jan Vrany, 2014-04-04 13:10 +0200: Bugfix in JavaVM>>initializeVM: do not deadlock caller if VM initialization failed. - cec6d766280e: Jan Vrany, 2014-04-08 09:34 +0200: Workaround for JAVA NameSpace (from Java bridge) vs JAVA JavaPackage (from STX:LIBJAVA) - ccf0bb9b983b: Jan Vrany, 2014-04-08 14:59 +0200: JavaRelease>>inDirectory refactored to not hard-code relative paths to java executable within JRE/JDK. - 824804a0ae03: Jan Vrany, 2014-04-08 16:28 +0200: Added extension java.util.Collection#anElement - f252b6759c9e: Jan Vrany, 2014-04-08 19:16 +0200: Fixed DNU in JavaReleaseTests - d64f0b5cc383: Jan Vrany, 2014-04-09 08:37 +0200: Oops, fixed condition in skipIf: in JavaReleaseTests - a3f6e540a232: Jan Vrany, 2014-04-09 10:00 +0200: Keep source along with parse tree index. - 3ac1f611b373: Jan Vrany, 2014-04-09 14:30 +0200: Fixes in GroovyLanguage - fcbadfecc4d7: Jan Vrany, 2014-04-09 17:14 +0200: Updated Groovy to 2.1.1. Download Groovy and JUnit using IVY. - dd7f7a54107b: Jan Vrany, 2014-04-09 17:29 +0200: .hgignore improved - 8c0339f8c175: Jan Vrany, 2014-04-09 18:41 +0200: Fixes for groovy. - 4bbacafb9592: Jan Vrany, 2014-04-09 18:54 +0200: Renamed JavaClassRegistry>>classesDo: to allClassesDo: - a65f7a72b3bf: Jan Vrany, 2014-04-09 21:53 +0200: JavaCodeBundle>>standardPackageBundleFor: improved - a29506c02dcc: Jan Vrany, 2014-04-10 09:04 +0200: Minor fixes in start/stop position for local/type declaration nodes. - 3f6f3b935c17: Jan Vrany, 2014-04-10 10:10 +0200: Fixed unimplemented native java.lang.reflect.Array.get() - 7145c825db68: Jan Vrany, 2014-04-10 15:39 +0200: More work on java.lang.reflect.Array natives. - f22d5febda61: Jan Vrany, 2014-04-11 18:20 +0200: Introduced a JavaClassEnvironment - an abstract namespace-like class to keep Java classes. - 7c91a4227264: Tomáš Heger, 2014-04-04 11:38 +0200: Added the ".metadata" directory. - a6feb6da5718: Tomáš Heger, 2014-04-14 11:34 +0200: Initial implementation of a dumper of IBinaryType objects. - 92d7ca788f14: Tomáš Heger, 2014-04-14 11:35 +0200: Initial (and incomplete) implementation of Reflective* classes. - 642396977525: Tomáš Heger, 2014-04-14 12:09 +0200: Various fixes (including Honza's) regarding Reflective* classes. - a60e7d264dc2: Tomáš Heger, 2014-04-14 13:27 +0200: Unused code commented out. - db83cc770144: Tomáš Heger, 2014-04-14 13:37 +0200: Returning correct names fixed. - 7cb0df30d317: Tomáš Heger, 2014-04-14 14:38 +0200: test_06 fixed - f44978fc1abd: Jan Vrany, 2014-04-15 13:51 +0200: Added #hash and #= to JavaCodeLibraryOrBundle. - 718746a2ac28: Claus Gittinger, 2014-04-13 16:53 +0200: - JavaRelease - 76a10700c053: Claus Gittinger, 2014-04-15 01:04 +0200: - JavaObject - aa8989bbd454: Claus Gittinger, 2014-04-15 01:08 +0200: - JavaNativeMethodImpl_OpenJDK6 - eba90d210e65: Claus Gittinger, 2014-04-15 01:21 +0200: - JavaNativeMethodImpl_OpenJDK6 - 375c8ea59bad: Jan Vrany, 2014-04-15 19:01 +0200: Merged f44978fc1abd and eba90d210e65 - df5a76fdd3a6: Jan Vrany, 2014-04-15 22:22 +0200: Changed display string of JavaRelease. - e35f2fac0337: Jan Vrany, 2014-04-16 08:59 +0200: Improved JavaCodeBundle>>standardPackageBundleFor: to support layout with separated tests... - 4fbf1e915fdd: Claus Gittinger, 2014-04-16 14:28 +0200: - GroovyEvaluator - 51c43574dc90: Claus Gittinger, 2014-04-16 15:57 +0200: - JavaRelease - 99f84ab46898: Claus Gittinger, 2014-04-16 18:27 +0200: - JavaNativeMethodImpl_OpenJDK6 - ccde6af7278c: Claus Gittinger, 2014-04-16 18:53 +0200: JavaContext: - 88ad88fdeca5: Jan Vrany, 2014-04-16 19:32 +0200: Merged df5a76fdd3a6 and ccde6af7278c - 54211576c9ce: Claus Gittinger, 2014-04-16 20:14 +0200: JavaClassRef2: - 08ec1ceb01e7: Claus Gittinger, 2014-04-16 21:17 +0200: JavaLanguage: - 78e1d19eb584: Jan Vrany, 2014-04-17 07:45 +0200: Fixed JavaCompiler>>synchronizationSemaphore. - 9d79b824c1ad: Claus Gittinger, 2014-04-17 10:13 +0200: JavaRelease: - 7eef27e37553: Jan Vrany, 2014-04-17 11:56 +0200: Fixed path to Groovy jars in ant build files. - 35b8520c46f2: Jan Vrany, 2014-04-17 12:53 +0200: Oops, more fixes to ant build files. - 7bb1f4106033: Jan Vrany, 2014-04-17 16:20 +0200: Cherry-picked changes from 35b8520c46f2. - c49c94053695: Jan Vrany, 2014-04-17 16:34 +0200: Moved CompilerAdapterTests.java to tools/java/src-tests. - 5d7c92ab734b: Jan Vrany, 2014-04-17 20:16 +0200: Fixed JavaRelease class>>system - 388adc0de925: Jan Vrany, 2014-04-22 16:32 +0200: Fix in JavaClassEnvironment>>at:ifAbsent: - b1192955f5a3: Jan Vrany, 2014-04-22 22:37 +0200: Fixed native _java_lang_ClassLoader_defineClass1: _: _: _: _: _: _: _: - 158c061202f3: Jan Vrany, 2014-04-22 22:41 +0200: Merged 388adc0de925 and b1192955f5a3 - c37c50e0aa5a: Jan Vrany, 2014-04-27 21:00 +0100: Fix in containsMethodsAnnotatedWith: - do not compare binary names, compare superclasses - ebf6ad1545af: Claus Gittinger, 2014-04-30 20:29 +0200: source code access fixed for apple: - 19a2b75907ce: Claus Gittinger, 2014-04-30 22:02 +0200: new native - cf2d8949d5a5: Jan Vrany, 2014-05-05 10:10 +0100: Better coding style of JavaClass/JavaBehaviour>>setInterfaces: - 446b34b9a386: Jan Vrany, 2014-05-12 17:34 +0100: Fixed GroovyScanner w.r.t ''' multiline comments. - c0d467b37565: Jan Vrany, 2014-05-13 11:49 +0100: Changed supeclass of JavaClassEnvironment to SystemEnvironment. - a7d69709920f: Jan Vrany, 2014-05-14 00:07 +0100: Use lexical highlighting when JVM is not booted. - c4709bcca97a: Jan Vrany, 2014-05-14 16:36 +0100: Bugfix in JavaScanner - correctly handle dot a the end of input. - 7cc116da75e8: Jan Vrany, 2014-05-18 13:11 +0100: Added 'def' to keywords. - e53888146940: Jan Vrany, 2014-05-20 17:57 +0100: Added support for new constants used bu JSR 272 Invoke dynamic. - d1d41053a1c8: Jan Vrany, 2014-05-21 11:22 +0100: Mark all classes in stx:libjava/benchmark as obsolete. - 6d8f66f1ff39: Jan Vrany, 2014-05-21 16:56 +0100: [Class reader optimization 1/3]: Added JavaBenchmarkClassReader - 2c747ca6078d: Jan Vrany, 2014-05-21 17:10 +0100: [JavaClassReader optimization 2/3]: add methods at once instead of individually. - 3119ced5d03c: Jan Vrany, 2014-05-21 21:08 +0100: [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor: - b442904eec25: Jan Vrany, 2014-05-23 22:26 +0100: Moved Context>>arg1Index to stx:libbasic. - 1f8c991bc1d2: Jan Vrany, 2014-05-27 12:49 +0100: Variaous optimizations in string manipulatios to speed up class reading. - 3cdcaf15c918: Jan Vrany, 2014-05-27 13:18 +0100: Merged 1f8c991bc1d2 and b442904eec25 - 819926f83b48: Tomáš Heger, 2014-04-14 15:46 +0200: Occurences of "assertTrue(false)" replaced by "fail()" in the tests. Useless catch block removed from test_06. - 3e12320cb6c7: Tomáš Heger, 2014-05-22 02:01 +0200: Fields, annotations and tag bits implemented. - 54d901dba381: Tomáš Heger, 2014-05-22 03:25 +0200: Generic signature dumping fixed (wrong use of the delimiter). - 84a135e483a6: Tomáš Heger, 2014-05-27 16:34 +0200: Added testcase for the ReflectiveField.getConstant() method. - d73feaf2aecc: Tomáš Heger, 2014-05-27 16:37 +0200: ReflectiveField.getConstant() implemented. It's not working yet though - any attempt to get value of a field throws IllegalAccessException. - 6451ff1e43cf: Tomáš Heger, 2014-05-27 16:55 +0200: Anonymous inner classes aren't being returned by the ReflectiveType.getMemberTypes() method anymore. - 2720184478b7: Jan Vrany, 2014-05-30 08:55 +0100: Fix in ReflectiveField.getConstant() - make field accessible if it is not. - e4470b7efc3b: Jan Vrany, 2014-05-30 09:03 +0100: Made ReflectiveField.getConstant() return always NotAConstant. - b63dbae22813: Jan Vrany, 2014-05-30 09:04 +0100: Moved CompilerAdapterTests to from src to src-tests - ba69147aea97: Jan Vrany, 2014-06-02 14:54 +0100: Better error message for VM-thrown ArrayStoreException. - e4b35ecfc645: Jan Vrany, 2014-06-02 14:58 +0100: Oops. remove Context>>arg1Index from extensions list. - c09dc2c6937b: Jan Vrany, 2014-06-02 16:38 +0200: Fix in JavaRelease - correctly detect OpenJDK6 on Linux. - ffe44966a226: Jan Vrany, 2014-06-02 15:56 +0100: Merged e4b35ecfc645 and c09dc2c6937b - 546aadb1fee1: Jan Vrany, 2014-06-02 18:30 +0200: Implemented sun.net.PortConfig.getLower0/getHigher0 natives. - b4fa505f93c5: Jan Vrany, 2014-06-04 09:52 +0100: Increated timeout for JUnit/Testlet tests. - 93cf25f66530: Jan Vrany, 2014-06-04 10:30 +0100: Do not create JavaClassAccessor for `JAVA java lang Object`-style class references. - cc0ea0656186: Jan Vrany, 2014-06-12 12:12 +0100: Fixed bug #77: Ignore unhandled ThreadDeath exceptions. - c1a47c6796fc: Jan Vrany, 2014-06-12 16:07 +0100: Increated per-process stack size limit for Groocy 2.x.x - 81791eb890eb: Jan Vrany, 2014-06-13 08:43 +0100: Bugfix in GroovyEvaluator: properly wrap primitive values. - 553b1c08b6b1: Jan Vrany, 2014-06-13 15:46 +0100: Bugfix in JavaLintService>>unregister: call super unregister at the end of the unregister method. - 012cc8eddb86: Jan Vrany, 2014-06-25 11:03 +0100: Use Semaphore>>waitWithTimeoutMs:state: instead of copy'paste version of waitWithTimeoutMs: - 4eaeba9fa910: Jan Vrany, 2014-06-25 13:58 +0100: Java source highlughter refactoring. - 72765a504e7c: Tomáš Heger, 2014-06-03 22:13 +0200: Removed unused imports. - a0139792a8cd: Tomáš Heger, 2014-06-03 22:17 +0200: Methods usable to actually dump IBinaryTypes added to IBinaryDumper -> it's executable now. Output directory is expected as the first argument, names of the classes to be dumped as the following arguments. - f25781926cca: Tomáš Heger, 2014-06-24 00:53 +0200: IBinaryDumper modified so it can dump classes from jar files. It accepts an arbitrary number of parameters - the first one is supposed to be a directory used for output and the rest are supposed to be class names and/or jar files. - e7b9ceda9923: Jan Vrany, 2014-07-02 17:53 +0100: Make ReflectiveType#getSuperclassName() to return java.lang.Object for interfaces. - fb9e5936daec: Jan Vrany, 2014-07-02 17:58 +0100: Do not dump properties known to differ for ReflectiveType and ClassReader by default. - 490a1b914f93: Jan Vrany, 2014-07-02 23:09 +0100: Renamed IBinaryDumper to BinaryDumper as I prefix denotes interface. - ade0060d3c12: Jan Vrany, 2014-07-08 12:55 +0100: Added tag expecco_2_7_0 for changeset 4eaeba9fa910 - ee329fef15db: Jan Vrany, 2014-07-10 13:54 +0100: Merged 490a1b914f93 and e35f2fac0337 - 2f2937ea3f03: Jan Vrany, 2014-07-10 16:48 +0100: Merged ade0060d3c12 and ee329fef15db - defac61e541c: Jan Vrany, 2014-07-07 23:48 +0100: stx.libjava.tools.environment.Environment.java cleanup. - 4dbc3b22d078: Jan Vrany, 2014-07-08 00:16 +0100: Fix in Environment#isPackage() - conservatively return true. - 04c5d3e67c13: Jan Vrany, 2014-07-11 16:42 +0100: Fixed ReflectiveMethod#getGenericSignature() for constructors. - e683134b3617: Jan Vrany, 2014-07-11 16:44 +0100: BinaryDumper improvements - 3aa14b90dacd: Jan Vrany, 2014-07-15 13:07 +0100: Removed code for flushing shared compiler Environment. - f041babfda85: Claus Gittinger, 2014-05-09 15:06 +0200: fixed apple-jdk searchForSourcePath (should return strings, - 7f36435f79c9: Claus Gittinger, 2014-05-29 13:12 +0200: comment characters - 36bab0a3c02b: Claus Gittinger, 2014-05-29 13:14 +0200: comment strings - f9fe8892084a: Claus Gittinger, 2014-05-29 20:31 +0200: comment strings - e8002e2c2fd9: cg, 2014-07-10 16:34 +0200: no message - a37928cf9a1b: cg, 2014-07-10 16:45 +0200: Merge - 47fda38729e0: Claus Gittinger, 2014-07-10 16:46 +0200: merge - 8f159d8e0749: Claus Gittinger, 2014-07-10 16:47 +0200: merge - b95b1843ab38: Claus Gittinger, 2014-07-18 18:30 +0200: filename vs. string - 0d4ba716d325: Jan Vrany, 2014-07-19 10:32 +0100: Merged 3aa14b90dacd and b95b1843ab38 - 21134786ad33: Jan Vrany, 2014-07-13 22:02 +0100: Environment renamed to ReflectiveEnvrionment to match naming of other classes. - 3ae04adf796f: Jan Vrany, 2014-07-19 02:01 +0100: Oops, fixed ReflectiveType#getGenericSignature() - 770c76797564: Jan Vrany, 2014-07-20 02:41 +0100: ReflectiveEnvironment#isPackage() refactored to scan classpath for packages. - fb5aefff7ae5: Jan Vrany, 2014-07-20 21:46 +0100: ReflectiveEnvironmnt#isPackage() now consult a list of classes loaded by given ClassLoader. - fb47f223848a: Jan Vrany, 2014-07-24 20:56 +0100: Merged 0d4ba716d325 and fb5aefff7ae5 - 26dd7e06c4bb: Jan Vrany, 2014-07-24 21:18 +0100: Removed classFileBytes from JavaClass. - a95e78d1d7dc: Jan Vrany, 2014-07-25 00:08 +0100: Speed optimization in ReflectiveEnvironment#isPackage() - 87cedea6290e: Jan Vrany, 2014-07-25 00:51 +0100: Got rid of JavaZipSupport. Inflater/Deflater made public. - 243dcc6b3220: Jan Vrany, 2014-07-25 01:52 +0100: Optimized java.util.zip.ZipFile#getNextEntry() - 79cde29be713: Jan Vrany, 2014-07-25 09:23 +0100: Another speed optimization in ReflectiveEnvironment#isPackage() - 99e1b2bde5de: Jan Vrany, 2014-07-25 09:53 +0100: Fix in JavaMapInspectorView (use #binaryName instead of #name) - d7978de50434: Jan Vrany, 2014-07-25 10:08 +0100: For Java objects, use standars Java toString() as value string in inspectors. - a80e78c59918: Jan Vrany, 2014-07-25 10:11 +0100: Make JavaClass>>nameWithoutNameSpacePrefix returning the lastName. - 19acb606dd69: Jan Vrany, 2014-07-28 11:49 +0100: Merged 79cde29be713 and a80e78c59918 - 2d3e5574157a: Jan Vrany, 2014-07-28 21:17 +0100: Removed jdtcore from stx:libjava/benchmark dependencies. - a725721c7855: Jan Vrany, 2014-07-28 22:40 +0100: Fix in JavaSyntaxHighlighter - resolve types even if class does not exist yet. - 3611c3493dbc: Jan Vrany, 2014-07-28 23:49 +0100: Introduced package annotation stx.libjava.annotations.Package. - 9003a9074b2c: Jan Vrany, 2014-07-30 16:34 +0100: Renamed ReflectiveEnvironment#packages to cachedIsPackageResults. Added more comments. - 945bee015640: Jan Vrany, 2014-07-31 09:30 +0100: Made JavaClass>>package returning Smalltalk/X package name from annotation, if annotated. - 3f605f43f795: Jan Vrany, 2014-08-01 14:25 +0100: Fixed JavaRelease>>validateJavaVersionString: - d9a3d685c8b9: Jan Vrany, 2014-08-01 14:27 +0100: Force a garbage collect after each run of classreader benchmark. - 304d3543242f: Jan Vrany, 2014-08-03 23:28 +0100: Cleanup in ReflectiveEnvironment: more comments & logging. - 603fdba602c4: Jan Vrany, 2014-08-03 18:16 +0100: Fixed annotation support in reflective environment (getValue() and standard tag bits) - 5260fddf10f6: Jan Vrany, 2014-08-03 23:39 +0100: Merged 304d3543242f and 603fdba602c4 - b6bced0551a9: Jan Vrany, 2014-08-03 23:43 +0100: Merged d9a3d685c8b9 and 5260fddf10f6 - 7abed44f04cc: Jan Vrany, 2014-08-03 23:46 +0100: Merged 945bee015640 and b6bced0551a9 - 9aade8151557: Jan Vrany, 2014-08-04 00:38 +0100: Added JavaSourceFileWriter>>fileOut:on:withTimestamp:... - 0b6a9ff08acd: Jan Vrany, 2014-08-04 15:43 +0100: Class reading optimization [1/4]: optimize CharacterArray class>>decodeFromJavaUTF8: - d617b4590431: Jan Vrany, 2014-08-04 16:13 +0100: (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:... - d44f099dcff0: Jan Vrany, 2014-08-04 16:47 +0100: Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor: - a4ddeef7c5e9: Jan Vrany, 2014-08-04 17:12 +0100: Class reading optimization [4/4]: defer cache flushing at class initialization time. - 189c572dbe71: Jan Vrany, 2014-08-04 23:08 +0100: Fixed getDeclaringClass() native. - a63cf3e1042f: Jan Vrany, 2014-08-05 00:11 +0100: Merged 9aade8151557 and 189c572dbe71 - 3890b120ec7f: Jan Vrany, 2014-08-05 01:02 +0100: Little tweak in ReflectiveEnvironment - a3cb415bc22b: Jan Vrany, 2014-08-05 09:27 +0100: Merged a63cf3e1042f and 3890b120ec7f - 185bbb8910e8: Jan Vrany, 2014-08-05 11:57 +0100: Fixed native java.lang.Class.getEnclosingMethod0 - ea55682eefe7: Jan Vrany, 2014-08-05 12:03 +0100: Align JavaClass>>enclosingClass with java.lang.Class.getEnclosingClass() - 4284af836b5d: Jan Vrany, 2014-08-05 20:42 +0100: Merged ea55682eefe7 and a4ddeef7c5e9 - 959071100332: Jan Vrany, 2014-08-05 21:57 +0100: Merged a3cb415bc22b and 4284af836b5d - 6cb006c63c4a: Jan Vrany, 2014-08-05 22:41 +0100: Return enclusing class's package for inner classes. Make #owningClass to return enclosing class. - 5517d6a75d40: Jan Vrany, 2014-08-06 14:24 +0100: Fix in GroovyEvaluator: care for nil values of workspace variables. - b96f863a8500: Jan Vrany, 2014-08-07 01:49 +0100: Java lint service now do dry-compilation to get more accurate problem list. - 546065d4319b: Jan Vrany, 2014-08-07 10:32 +0100: Fixed off-by-one bug in AbstractVariableDeclaration>>startPosition / endPosition extensions. - c771a69d7f7d: Jan Vrany, 2014-08-07 12:41 +0100: Removed slot JavaClass#sourceFile. - caa15c28f3a1: Jan Vrany, 2014-08-07 14:42 +0100: Fixed bad bug in realoding - do not flush type when invalidating field ref. - d3094b384e55: Jan Vrany, 2014-08-08 07:36 +0100: Fix in JavaNativeMethod: compute line number by searching the source. - c38fcee7b0da: Jan Vrany, 2014-08-08 11:02 +0100: Fixes bad bug in Java thread handling that caused memory/resource leak. - 1f63ee2cdd97: Jan Vrany, 2014-08-11 01:19 +0100: Fixed JavaClass>>fileOutAs: - 1d977d2d3abb: Jan Vrany, 2014-08-11 01:55 +0100: es to ClassLoader#classes list. - 261bad2a9657: Jan Vrany, 2014-08-11 09:46 +0100: Fixes for class unloadfing: unload inner classes first. - 93a3efa06bd1: Jan Vrany, 2014-08-11 10:55 +0100: ReflectiveEnvironment#isPackage() refactored to provide better performance. - 19fc0c196e75: Jan Vrany, 2014-08-11 10:57 +0100: Fixed typo in comment in ASTNodeComparator - dac830f75266: Jan Vrany, 2014-08-11 10:57 +0100: Merged 19fc0c196e75 and 261bad2a9657 - 3aed12bd6638: Jan Vrany, 2014-08-11 12:23 +0100: Added Echo example. - 81e439368e3d: Jan Vrany, 2014-08-11 21:26 +0100: Added option to a JavaScanner to allow for runaway string constants. - 7940d8a38e51: Jan Vrany, 2014-08-12 09:42 +0100: Oops, added missing methods. - 79fe9b2d4932: Jan Vrany, 2014-08-12 11:15 +0100: Added ASTNodeFinder, a simple visitor to locate AST node based on position in source. - dce4fa6c6dad: Jan Vrany, 2014-08-12 11:16 +0100: Merged 79fe9b2d4932 and 7940d8a38e51 - 36c8ea432a7c: Jan Vrany, 2014-08-12 13:46 +0100: Fixes in syntax hibglighting - add support for line-based highlighting - 9e60100a47c6: Jan Vrany, 2014-08-12 22:40 +0100: Fix in JavaClass>>innerClassesIgnoreUnloaded: - also return anonymous classes. - a35cc585bb5a: Jan Vrany, 2014-08-12 23:09 +0100: Fix in JavaContext>>argsAndVars: do not strip receiver (this) from arg-and-vars - 4d120f1a64f1: Jan Vrany, 2014-08-14 08:54 +0100: Fixed native java.lang.Class.getDeclaredClasses0() - 7a4491b4b7eb: Jan Vrany, 2014-08-14 08:57 +0100: Added some (unimplemented) natives for OpenJDK7's java.nio.* - 1ce74dc95339: Jan Vrany, 2014-08-14 12:24 +0100: Fix for JavaSetInspectorView (after binaryName / name refactoring ) - 1ab5987f3982: Jan Vrany, 2014-08-14 12:50 +0100: Oops, fix for class reader - remember exception table. - 7bf7a8831ed9: Jan Vrany, 2014-08-14 12:55 +0100: Fixed assertions Java>>removeThread:for: - 5c9cb5b7a35b: Jan Vrany, 2014-08-14 16:00 +0100: Merged 7bf7a8831ed9 and 9e60100a47c6 - 6a5d85f29c3a: Jan Vrany, 2014-08-16 08:13 +0100: Fixes for reloading - c8b42e8c2d6c: Jan Vrany, 2014-08-17 08:46 +0100: Fix in reloading of a method with method-level breakpoint. - 2a7558e77d4d: Jan Vrany, 2014-09-17 17:13 +0100: Changed GroovyEvaluatorTests workspace tests to run headless. - 01aa5d9b5206: Jan Vrany, 2014-09-17 17:13 +0100: Fixed comment in INVOKESPECIALX tests. - 353f4a75d558: Jan Vrany, 2014-09-18 10:00 +0100: Eclipse project settings fixed (works on 4.4 Luna) - 4e707dec1e44: Jan Vrany, 2014-09-18 11:56 +0100: Fix in GroovyScanner: honour allowRunawayString - 422e32abb28d: Jan Vrany, 2014-09-18 16:13 +0100: Fix in Java: do not flush Threads dictionary when rebooting JVM - b340178eb595: Jan Vrany, 2014-09-18 16:59 +0100: Added JavaMetaclass>>topOwningClass - 769369f7b48c: Jan Vrany, 2014-10-10 11:56 +0100: Bugfix in JavaCodeBundle: handle correclt non-exisitng packages... - 0a8b9f03ffa5: Jan Vrany, 2014-10-11 23:21 +0100: Fixed class reloader in cases a top-level class has both, nested and anonymous classes. - 16a1b7c1eccc: Jan Vrany, 2014-10-11 23:25 +0100: Eclipse projects renamec to use dotted named. - 7bd0c3fb8bfb: Jan Vrany, 2014-10-27 22:26 +0000: Fix in JavaRelease class>>system - care for broken links - e3119602c69d: Jan Vrany, 2014-11-04 08:50 +0000: Eclipse project settings fixed (again, sigh) - 03cc67fbfd3d: Jan Vrany, 2014-11-04 09:21 +0000: Added variant of native Class.forName0 as used by OpenJDK 7u71. - da769ad115e1: Jan Vrany, 2014-11-04 16:51 +0000: Merged e3119602c69d and 03cc67fbfd3d - c2c8a670bb76: Tomáš Heger, 2014-07-17 00:00 +0200: IBinaryDumper now indicates the end of dumping. - f3b26e7e56ee: Tomáš Heger, 2014-07-23 22:36 +0200: Merged with Honza's changes. - f4240f7f424a: Tomas Heger, 2014-09-10 17:28 +0200: Merged f3b26e7e56ee and c8b42e8c2d6c. - d9c528c25924: Tomas Heger, 2014-09-10 18:11 +0200: java.lang.SafeVarargs added to the supported annotations. - 98d2f92fe05b: Tomas Heger, 2014-09-10 18:17 +0200: A bug in ReflectiveType.getMemberTypes() fixed. It now returns null instead of an empty array if there are no member types. This behaviour is in compliance with the specification in the IBinaryType interface. - 645964f5513e: Tomas Heger, 2014-09-10 18:21 +0200: BinaryDumper doesn't dump SourceName for anonymous classes anymore. - a3c96c7782f1: Tomas Heger, 2014-09-18 22:33 +0200: Method ReflectiveAnnotation.getXConstant() implemented. - 225b46c95c0d: Tomas Heger, 2014-10-03 16:43 +0200: BinaryDumper has new method of dumping objects. It dumps arrays' contents and ignores an actual hashcode of the object (replaces it with a constant string), which is useful when looking for differences in dumps. - 259a03474cc4: Tomas Heger, 2014-10-03 17:15 +0200: BinaryDumper's stringToDump() method improved. It now works for empty arrays and dumps arrays' types as well. - f48973e448ab: Tomas Heger, 2014-10-03 18:14 +0200: BinaryDumper now correctly dumps methods when <clinit> is there. - 4ff24f26a19e: Tomas Heger, 2014-10-13 17:14 +0200: New class ReflectiveUtils created. General methods getXConstant() and getFieldType() moved to the new class. These are methods used by various classes. - ba5d431a3b8c: Tomas Heger, 2014-10-21 16:10 +0200: Enclosing method dumping fixed. Now it's dumped on its own row as it should be. - 0e4e6b5a86c6: Tomas Heger, 2014-10-21 16:44 +0200: If a type (ReflectiveType instance) represents a local or anonymous class within a constructor, that constructor is now returned by the ReflectiveType.getEnclosingMethod() method. - 65569ad02b60: Jan Vrany, 2014-11-05 09:03 +0000: Merged da769ad115e1 and 0e4e6b5a86c6 - 69fc19f5e37d: Jan Vrany, 2014-11-04 13:58 +0000: For Windows JDK7, make sure TwoStackSocketImpl is used - dcaeeee3e396: Jan Vrany, 2014-11-05 11:01 +0000: Implemented natives for TwoStackPlainSocketImpl - c8b892ed8c91: Jan Vrany, 2014-11-05 11:45 +0000: Merged 65569ad02b60 and dcaeeee3e396 - c536d81240a9: Tomas Heger, 2014-11-07 10:42 +0100: The getFieldType() method refactored (the actual functionality moved to new method called getSigFromName()) and new method called getNameFromSig() added. - 60ac91f62d59: Tomas Heger, 2014-11-07 10:44 +0100: A config option (dumpRuntimeInvisibleAnnots) added. With this config option set to false (which is the default value) only annotations with RetentionPolicy.RUNTIME are dumped by the BinaryDumper. - 8ca0926cc281: Tomas Heger, 2014-11-10 16:23 +0100: Functionality to find out if the annotations should be dumped (in case that they're not runtime visible) moved to a new method which is also newly used for dumping parameter annotations. - 9d8b5fb04b41: Jan Vrany, 2014-11-11 21:01 +0100: Fixed ReflectiveAnnotation on JDK6 - 34baed88b792: Jan Vrany, 2014-11-11 21:02 +0100: Merged c8b892ed8c91 and 9d8b5fb04b41 - 7a2b5c67bc0f: Jan Vrany, 2014-11-13 00:25 +0100: Fixed getXConstant() for Enums - 31b5a49df0e0: Jan Vrany, 2014-11-13 00:35 +0100: Fixed ReflectiveElementValuePair for Enum values. - a19f06fa6f09: Jan Vrany, 2014-11-13 00:49 +0100: Fixed ReflectiveAnnotation for type java.lang.invoke.MethodHandle$PolymorphicSignature. - 881799d310e3: Jan Vrany, 2014-11-13 12:18 +0100: Intern all constant pool strings. - e35a94591cb1: Jan Vrany, 2014-11-14 10:32 +0100: Updates after JavaPackage has been moved to stx:libbasic - 31188d530b64: Jan Vrany, 2014-11-16 10:25 +0000: Merged 881799d310e3 and e35a94591cb1 - c56b4d5f0c52: Marcel Hlopko, 2014-11-23 18:45 +0000: README.md edited online with Bitbucket - 3188fcb8391d: Jan Vrany, 2014-11-26 16:45 +0000: Fix in JavaClassReader>>skipAttribute: - 821170928b31: Jan Vrany, 2014-11-21 09:02 +0000: Added tag expecco_2_7_0 for changeset 31188d530b64 - d95fd165e9e3: Jan Vrany, 2014-12-01 00:20 +0000: Update for recent OpenJDK6 - 12d89689d2f2: Jan Vrany, 2014-12-01 00:48 +0000: Merge - 90f0566d8145: Jan Vrany, 2014-12-04 20:56 +0000: Extracted readMagic to alow lazy loading of constant pool. - c56313e00930: Jakub Nesveda, 2014-12-07 13:16 +0100: typo fix - e48aed9570a9: Jakub Nesveda, 2014-12-07 13:17 +0100: cc - 19e3d2dac675: Jakub Nesveda, 2014-12-07 14:25 +0100: fixed JavaRelease >> displayString for non installed or not found java releases - 1d1b9d446dd6: Jakub Nesveda, 2014-12-07 15:08 +0100: Merge - 4ac115074bce: Jan Vrany, 2014-12-07 22:55 +0000: Fixes for JavaRelase>>displayString tests. - 3aaf43a51816: Jan Vrany, 2014-12-08 18:08 +0000: Extracted magic and version detection into separate methods - 76d4443744ed: Jan Vrany, 2014-12-08 23:03 +0000: JavaClass memory optimization (part 1) - 2cf782f380f2: Jan Vrany, 2014-12-03 15:29 +0000: JavaClass memory optimization (part 2) - 10163a452c54: Jan Vrany, 2014-12-07 01:25 +0000: JavaClass memory optimization (part 3) - 14292924cac7: Jan Vrany, 2014-12-07 02:16 +0000: JavaClass memory optimization (part 4) - 1013708261a8: Jan Vrany, 2014-12-08 16:37 +0000: JavaClass memory optimization (part 5) - 87ec39ef23b8: Jan Vrany, 2014-12-08 10:26 +0000: Java settings cleanup (part 1): minor tweaks and fixes - 761c7bb5853c: Jan Vrany, 2014-12-09 14:49 +0000: Java settings cleanup (part 2): release settings refactored. - 8eb3481bfdcf: Jan Vrany, 2014-12-09 15:06 +0000: Java settings cleanup (part 3): removed user bundle editor - d9b55a42fa54: Jan Vrany, 2014-12-09 16:18 +0000: Merged 8eb3481bfdcf and 1013708261a8 - 61e9df43f8a4: Jan Vrany, 2014-12-10 09:06 +0000: Sigh, more fixes for JavaRelease>>displayString tests. - ca8cb260a3d0: Jan Vrany, 2014-12-11 00:44 +0000: Fix in JavaRelease class>>system - 1155c0d79d45: Jan Vrany, 2014-12-12 00:33 +0000: Fixed JavaClass#innerClasses, added #anonynousClasses - 777478bcd3f9: Jan Vrany, 2014-12-12 03:12 +0000: Fix in JavaSyntaxHighlighter: do resolve classes... - af659e602072: Jan Vrany, 2014-12-16 01:08 +0000: Fixes for class unloading. - ac4ecd6e586c: Jan Vrany, 2014-12-16 02:05 +0000: Minor clieanup in tools tests. - d85c559c01c6: Jan Vrany, 2014-12-16 02:42 +0000: Fixed bug in ReflectiveEnvironment#isPackage() - 8bbc18b95b78: Jan Vrany, 2014-12-16 02:49 +0000: Added JavaLintAnnotation - required by recent CodeView2 - cf7c55662e21: Jan Vrany, 2014-12-16 02:56 +0000: Merged d85c559c01c6 and 8bbc18b95b78 - b0f4e406b42d: Jan Vrany, 2014-12-17 01:20 +0000: Fix in flushing Java - flush smalltalk-to-java thread object mapping... - a467328c29fd: Jan Vrany, 2014-12-20 01:47 +0100: Fix in flushing Java - flush all dynamic proxies - b3526f83c2ff: Tomas Heger, 2014-11-16 15:08 +0100: Fixed ReflectiveUtils.getXConstant() for Classes. - 7bc74064acf3: Tomas Heger, 2014-11-18 22:54 +0100: Member filtering implemented. - ac4ade238e90: Tomas Heger, 2014-11-19 18:25 +0100: ReflectiveElementValuePair.getValue() fixed for Constant values. - 186065c6ada4: Tomas Heger, 2014-11-19 18:27 +0100: NullPointerException bug fixed in BinaryDumper.stringToDump() - bdc3f443e3c0: Tomas Heger, 2014-11-19 18:37 +0100: BinaryDumper.stringToDump() returns "null" instead of "" if null is given as a parameter. - c9cb51667da1: Tomas Heger, 2014-11-21 21:39 +0100: ReflectiveElementValuePair class tests added. - b78cacf5e303: Tomas Heger, 2014-12-11 22:47 +0100: Tests for getConstant() and getModifiers() added. - 490bd00c692c: Tomas Heger, 2014-12-11 22:53 +0100: BinaryDumper.stringToDump() now returns a String "null" for runtime invisible annotation (if the relevant config option is used). - ec683302163c: Tomas Heger, 2014-12-18 22:30 +0100: Fixed two bugs related to annotations (java.lang.annotation.Target hack improved and the problem with element-value pairs with the default value solved) - b0871eb73fd2: Tomas Heger, 2015-01-01 13:54 +0100: Minor refactoring of ReflectiveUtils. No funcionality changes. - 264b56c86880: Tomas Heger, 2015-01-04 11:25 +0100: Static variable that is no longer needed was removed from ReflectiveField. - cdab5cc716a7: Jan Vrany, 2014-12-17 00:08 +0000: Fixed bad bug in URL to to File conversion... - 00320742d075: Jan Vrany, 2015-01-05 11:00 +0100: Merged a467328c29fd and cdab5cc716a7 - 740ba227611d: Jan Vrany, 2015-01-05 11:04 +0100: Merged 00320742d075 and 264b56c86880 - a58245c0e83a: Jan Vrany, 2015-01-05 17:10 +0100: Updated copyright notices. - d9297d724fa0: Jan Vrany, 2015-01-06 11:01 +0100: Fix for D116331: Do not write to a changefile when compiling new native method - a373d416ae8c: Jan Vrany, 2015-01-11 08:03 +0000: Fix in JavaClass>>annotations - 3f9968ddacf8: Jan Vrany, 2015-01-14 11:19 +0000: Ant build files refactoring (part 1) - 327e493d2688: Jan Vrany, 2015-01-19 17:08 +0100: Ant build files refactoring (part 2) - 4c3b0badaa5f: Jan Vrany, 2015-01-20 09:42 +0100: Oops, fixed endless recursion in JavaClass>>innerClasses... - b14c58b2876c: Jan Vrany, 2015-01-20 10:41 +0100: Oops, moved stray reloading-related methods from stx:libjava/experiments to stx:libjava. - ee36f2088d60: Jan Vrany, 2015-01-20 10:49 +0100: JavaClassReloaderTests moved from stx:libjava/experiments to stx:libjava - 7aa6c098fb82: Jan Vrany, 2015-01-21 09:09 +0100: Repository cleanup (1/7): removed esug2012 and thesis directories. - 81e0e61fa317: Jan Vrany, 2015-01-21 09:30 +0100: Repository cleanup (2/7): removed smaCC directory. - 297cc823a07a: Jan Vrany, 2015-01-21 10:02 +0100: Repository cleanup (3/7): removed obsolete eclipse projects. - acdda45271f7: Jan Vrany, 2015-01-21 11:28 +0100: Repository cleanup (4/7): moved mauve source to stx:libjava/mauve/java where it belongs - 08a79331ec58: Jan Vrany, 2015-01-21 13:19 +0100: Repository cleanup (5/7): made stx:libjava/tests a full Smalltalk/X package. - fd5013aca049: Jan Vrany, 2015-01-21 13:46 +0100: Repository cleanup (6/7): moved Mauve test suite under stx:libjava/tests - 1dd84eba684a: Jan Vrany, 2015-01-21 15:50 +0100: Repository cleanup (7/7): removed docs/todo.txt - 23451a6823b1: Jan Vrany, 2015-01-22 21:31 +0100: More Java AST utilities. - e8d92a1c50f3: Jan Vrany, 2015-01-23 14:49 +0100: Updated Apache POI to 3.11 - 0f2df59e58e2: Tomas Heger, 2015-01-09 21:41 +0100: Shell script for easier launching of BinaryDumper added. - 77aa10f9e436: Tomas Heger, 2015-01-09 21:41 +0100: Many tests for the whole reflective environment added as well as some mock classes used by the tests. - a29efdbbfad2: Jan Vrany, 2015-01-27 10:14 +0000: Updated to Groovy 2.1.9 - a3ad7164f528: Jan Vrany, 2015-01-27 10:34 +0000: Groovy and JUnit .jars commited to repository. - 34b4fea6dd4f: Jan Vrany, 2015-01-27 10:45 +0000: Merged a3ad7164f528 and 77aa10f9e436 - a6358ca80d11: convert-repo, 2015-01-27 21:07 +0000: update tags - a3407cf1cd0d: Jan Vrany, 2015-01-27 22:34 +0000: Merged 34b4fea6dd4f and a6358ca80d11 - cb6c15e66bed: Jan Vrany, 2015-01-28 00:49 +0000: Temporary workaround to make tests running in eXept builds.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
454
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
     1
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3236
diff changeset
     2
 COPYRIGHT (c) 1996-2015 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
     3
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
     4
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
     5
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3236
diff changeset
     6
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
     7
                            SWING Research Group, Czech Technical University in Prague
454
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
     8
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
     9
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    10
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    11
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    12
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    13
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    14
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
    15
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    16
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    17
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    18
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    19
     as of 1.9.2010
2086
66b8f6529783 comment
Claus Gittinger <cg@exept.de>
parents: 750
diff changeset
    20
"
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
    21
"{ Package: 'stx:libjava' }"
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
    22
2551
6b1262d7f5a0 class: JavaMethod
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
    23
CompiledCode variableSubclass:#JavaMethod
2160
15a9de58bf7d changed: #rationale
Claus Gittinger <cg@exept.de>
parents: 2158
diff changeset
    24
	instanceVariableNames:'accessFlags selector javaClass descriptor signature lookupObject
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
    25
		lineNumberTable localVariableTable source annotations'
2160
15a9de58bf7d changed: #rationale
Claus Gittinger <cg@exept.de>
parents: 2158
diff changeset
    26
	classVariableNames:'AbstractMethodInvokationSignal SignatureTypeCodes
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
    27
		ForceByteCodeDisplay ShowFullSource UnresolvedClassSignal
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
    28
		A_PUBLIC A_PRIVATE A_PROTECTED A_STATIC A_FINAL A_SYNCHRONIZED
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2902
diff changeset
    29
		A_ABSTRACT A_NATIVE A_BREAKPOINT A_HASHANDLER A_BRIDGE A_VARARGS
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2902
diff changeset
    30
		A_STRICT A_SYNTHETIC A_RESOLVED A_HASFINALLY'
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    31
	poolDictionaries:'JavaConstants'
2160
15a9de58bf7d changed: #rationale
Claus Gittinger <cg@exept.de>
parents: 2158
diff changeset
    32
	category:'Languages-Java-Classes'
2
91843ac44d2f intitial checkin
cg
parents:
diff changeset
    33
!
91843ac44d2f intitial checkin
cg
parents:
diff changeset
    34
454
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    35
!JavaMethod class methodsFor:'documentation'!
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    36
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    37
copyright
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    38
"
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3236
diff changeset
    39
 COPYRIGHT (c) 1996-2015 by Claus Gittinger
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    40
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    41
 New code and modifications done at SWING Research Group [1]:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    42
3324
a58245c0e83a Updated copyright notices.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3236
diff changeset
    43
 COPYRIGHT (c) 2010-2015 by Jan Vrany, Jan Kurs and Marcel Hlopko
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    44
                            SWING Research Group, Czech Technical University in Prague
454
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    45
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    46
 This software is furnished under a license and may be used
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    47
 only in accordance with the terms of that license and with the
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    48
 inclusion of the above copyright notice.   This software may not
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    49
 be provided or otherwise made available to, or used by, any
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    50
 other person.  No title to or ownership of the software is
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    51
 hereby transferred.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
    52
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    53
 [1] Code written at SWING Research Group contains a signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    54
     of one of the above copright owners. For exact set of such code,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    55
     see the differences between this version and version stx:libjava
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    56
     as of 1.9.2010
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
    57
2086
66b8f6529783 comment
Claus Gittinger <cg@exept.de>
parents: 750
diff changeset
    58
"
454
38f590639d65 *** empty log message ***
cg
parents: 449
diff changeset
    59
! !
2
91843ac44d2f intitial checkin
cg
parents:
diff changeset
    60
129
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
    61
!JavaMethod class methodsFor:'initialization'!
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
    62
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
    63
initialize
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
    64
    AbstractMethodInvokationSignal isNil ifTrue:[
2114
cbdc4c02a8e2 ExecutionErrorSignal -> ExecutionError
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
    65
        AbstractMethodInvokationSignal := ExecutionError newSignalMayProceed:true.
594
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
    66
        AbstractMethodInvokationSignal nameClass:self message:#abstractMethodInvokationSignal.
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
    67
        AbstractMethodInvokationSignal notifierString:'attempt to execute abstract method'.
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
    68
2114
cbdc4c02a8e2 ExecutionErrorSignal -> ExecutionError
Claus Gittinger <cg@exept.de>
parents: 2110
diff changeset
    69
        UnresolvedClassSignal := ExecutionError newSignalMayProceed:true.
594
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
    70
        UnresolvedClassSignal nameClass:self message:#unresolvedClassSignal.
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
    71
        UnresolvedClassSignal notifierString:'unresolved class'.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
    72
    ].
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
    73
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
    74
    ShowFullSource := true.
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
    75
    ForceByteCodeDisplay := false.
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
    76
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    77
    A_PUBLIC       := 16r0001.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    78
    A_PRIVATE      := 16r0002.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    79
    A_PROTECTED    := 16r0004.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    80
    A_STATIC       := 16r0008.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    81
    A_FINAL        := 16r0010.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    82
    A_SYNCHRONIZED := 16r0020.
2145
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
    83
    A_BRIDGE       := 16r0040.
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
    84
    A_VARARGS      := 16r0080.
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    85
    A_NATIVE       := 16r0100.
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    86
    A_ABSTRACT     := 16r0400.
2145
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
    87
    A_STRICT       := 16r0800.
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
    88
    A_SYNTHETIC    := 16r1000.
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
    89
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    90
    A_BREAKPOINT   := 16r10000000.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    91
    A_HASHANDLER   := 16r20000000.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    92
    A_HASFINALLY   := 16r00004000.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
    93
    A_RESOLVED     := 16r00000200.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
    94
173
10513c48882f checkin from browser
cg
parents: 169
diff changeset
    95
    self flags:(self flags bitOr:Behavior flagJavaMethod).
10513c48882f checkin from browser
cg
parents: 169
diff changeset
    96
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
    97
    SignatureTypeCodes := IdentityDictionary new.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
    98
    SignatureTypeCodes at:$B put:#byte.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
    99
    SignatureTypeCodes at:$C put:#char.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   100
    SignatureTypeCodes at:$D put:#double.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   101
    SignatureTypeCodes at:$F put:#float.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   102
    SignatureTypeCodes at:$I put:#int.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   103
    SignatureTypeCodes at:$J put:#long.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   104
    SignatureTypeCodes at:$S put:#'unsigned short'.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   105
    SignatureTypeCodes at:$Z put:#boolean.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   106
    SignatureTypeCodes at:$L put:#object.
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   107
    SignatureTypeCodes at:$[ put:#array.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   108
    SignatureTypeCodes at:$T put:#typevar.
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   109
207
dfbd9b69a64e checkin from browser
cg
parents: 189
diff changeset
   110
    ForceByteCodeDisplay := false.
dfbd9b69a64e checkin from browser
cg
parents: 189
diff changeset
   111
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   112
    "
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   113
     JavaMethod initialize.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   114
     JavaMethodWithHandler initialize.
209
9e4b45da1117 checkin from browser
cg
parents: 207
diff changeset
   115
     ForceByteCodeDisplay := true.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   116
     ForceByteCodeDisplay := false.
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   117
    "
173
10513c48882f checkin from browser
cg
parents: 169
diff changeset
   118
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   119
    "Modified: / 16-10-1998 / 01:29:48 / cg"
2992
732f9db2a195 Cleanup & refactoring of constant pool references (JavaRef2 hierarchy)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2902
diff changeset
   120
    "Modified: / 31-01-2014 / 03:35:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   121
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   122
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   123
reinitialize
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   124
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   125
    self flags:(self flags bitOr:Behavior flagJavaMethod).
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   126
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   127
    "Created: / 14-12-2010 / 20:58:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   128
! !
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   129
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   130
!JavaMethod class methodsFor:'instance creation'!
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   131
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   132
fromMethod:aJavaMethod
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   133
    "create a new javaMethod, copying values from another javaMethod"
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   134
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   135
    ^ self new fromMethod:aJavaMethod
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   136
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   137
    "Created: / 16.10.1998 / 01:25:12 / cg"
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   138
!
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   139
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   140
new
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   141
    "create a new javaMethod.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   142
     Redefined, since constants are NOT stored in a literalArray,
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   143
     but my classes constantTable instead."
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   144
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   145
    ^ self basicNew:0.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   146
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   147
    "Created: / 16.10.1998 / 01:13:02 / cg"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   148
! !
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   149
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   150
!JavaMethod class methodsFor:'Signal constants'!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   151
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   152
abstractMethodInvokationSignal
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   153
    "return the signal raised when an abstract method is invoked"
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   154
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   155
    ^ AbstractMethodInvokationSignal
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   156
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
   157
    "Created: / 27.1.1998 / 21:50:05 / cg"
594
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   158
!
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   159
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   160
unresolvedClassSignal
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   161
    "return the signal raised when an unresolved class is referenced"
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   162
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   163
    ^ UnresolvedClassSignal
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   164
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
   165
    "Created: / 27.1.1998 / 21:50:05 / cg"
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   166
! !
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   167
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   168
!JavaMethod class methodsFor:'accessing'!
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   169
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   170
showFullSource
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   171
    ^ ShowFullSource
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   172
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   173
    "Created: / 14-09-2013 / 11:56:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   174
! !
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
   175
169
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   176
!JavaMethod class methodsFor:'misc'!
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   177
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   178
forceByteCodeDisplay
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   179
    ^ ForceByteCodeDisplay
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   180
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   181
    "Created: 7.4.1997 / 20:11:39 / cg"
309
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   182
!
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   183
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   184
forceByteCodeDisplay:aBoolean
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   185
    ForceByteCodeDisplay := aBoolean
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   186
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   187
    "
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   188
     self forceByteCodeDisplay:true
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   189
     self forceByteCodeDisplay:false
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   190
    "
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   191
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
   192
    "Created: / 4.2.1998 / 00:22:54 / cg"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   193
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   194
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   195
makeJavaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   196
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   197
    self flags:((self flags
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   198
                 bitOr:Behavior flagJavaMethod)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   199
                 bitClear:Behavior flagMetaMethod)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   200
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   201
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   202
        JavaMethod makeJavaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   203
        JavaMethod makeMetaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   204
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   205
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   206
    "Created: / 23-02-2011 / 12:56:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   207
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   208
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   209
makeMetaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   210
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   211
    self flags:((self flags
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   212
                 bitOr:Behavior flagMetaMethod)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   213
                 bitClear:Behavior flagJavaMethod)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   214
     "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   215
        JavaMethod makeJavaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   216
        JavaMethod makeMetaMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   217
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   218
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   219
    "Created: / 23-02-2011 / 12:56:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
169
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   220
! !
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   221
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   222
!JavaMethod class methodsFor:'others'!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   223
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   224
version_HG
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   225
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   226
    ^ '$Changeset: <not expanded> $'
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   227
! !
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   228
129
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   229
!JavaMethod class methodsFor:'signature parsing'!
5
f026f5d20c15 checkin from browser
cg
parents: 2
diff changeset
   230
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   231
argSigArrayFromSignature:aSignature
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   232
    "given a signature, return a specArray for the arguments"
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   233
238
18c543cfe8ef *** empty log message ***
cg
parents: 237
diff changeset
   234
    |s|
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   235
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   236
    s := aSignature readStream.
237
4c9ca89313d4 *** empty log message ***
cg
parents: 220
diff changeset
   237
    s next ~~ $( ifTrue:[self halt].
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   238
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   239
    ^ self argSigArrayFromStream:s.
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   240
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   241
    "
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   242
     JavaMethod argSigArrayFromSignature:'(LObject;)V'
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   243
     JavaMethod argSigArrayFromSignature:'(BB)S'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   244
     JavaMethod argSigArrayFromSignature:'(LObject;LObject;II)V'
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   245
    "
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   246
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   247
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   248
argSigArrayFromStream:s
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   249
    "parse an argSpec, return an array of specs - see java doc"
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   250
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   251
    |argSpec spec|
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   252
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   253
    spec := #().
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   254
    [s atEnd or:[s peek == $)]] whileFalse:[
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   255
"/        s peek == Character space ifTrue:[
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   256
"/            s next
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   257
"/        ] ifFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   258
            argSpec := self fieldTypeFromStream:s in:nil.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   259
            spec := spec copyWith:argSpec.
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   260
"/        ]
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   261
    ].
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   262
    ^ spec
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   263
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   264
    "Modified: / 8.1.1998 / 19:10:20 / cg"
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   265
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   266
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   267
argSignatureFromArgTypeArray:arr
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   268
    | sig |
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   269
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   270
    sig := ''.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   271
    arr do:
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   272
            [:el |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   273
            | jCLass |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   274
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   275
            jCLass := el.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   276
            jCLass isJavaClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   277
                ifFalse:[ jCLass := JavaVM reflection classForJavaClassObject:el ].
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   278
            jCLass isJavaClass
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   279
                ifTrue:
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   280
                    [ sig := sig , jCLass typeName.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   281
                    ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   282
                ifFalse:[ self halt. ] ].
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
   283
    ^ sig
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   284
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   285
    "
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   286
     self argSignatureFromArgTypeArray:
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   287
 (Array
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   288
     with:(JavaVM javaClassObjectForClass:(Java at:'com.sun.java.swing.JComponent')))"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   289
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   290
    "Modified: / 13-02-1998 / 14:57:58 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   291
    "Modified: / 02-03-2011 / 22:49:24 / Marcel Hlopko <hlopik@gmail.com>"
321
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   292
!
1fc4570fb914 preps for getMethod nativeCall
cg
parents: 309
diff changeset
   293
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   294
argSpecFromSignature:aSignature withName:name
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   295
    "given a signature, return a spec"
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   296
238
18c543cfe8ef *** empty log message ***
cg
parents: 237
diff changeset
   297
    |s argSpec|
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   298
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   299
    s := aSignature readStream.
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   300
    s next ~~ $( ifTrue:[self halt. ^ name].
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   301
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   302
    argSpec := self argSpecFromStream:s in:nil.
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   303
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   304
    s next ~~ $) ifTrue:[self halt. ^ name].
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   305
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   306
    ^ name , ' (' , argSpec , ')'
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   307
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   308
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   309
     JavaMethod argSpecFromSignature:'(LObject;)V' withName:'foo'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   310
     JavaMethod argSpecFromSignature:'(BB)S'       withName:'foo'
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   311
    "
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
   312
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   313
    "Modified: / 8.1.1998 / 19:05:36 / cg"
5
f026f5d20c15 checkin from browser
cg
parents: 2
diff changeset
   314
!
f026f5d20c15 checkin from browser
cg
parents: 2
diff changeset
   315
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   316
argSpecFromStream:s in:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   317
    "parse an argSpec - see java doc"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   318
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   319
    |argSpec spec|
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   320
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   321
    spec := ''.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   322
    [s atEnd or:[s peek == $)]] whileFalse:[
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   323
"/        s peek == Character space ifTrue:[
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   324
"/            s next
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   325
"/        ] ifFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   326
            argSpec := self fieldTypeFromStream:s in:aPackage.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   327
            spec size ~~ 0 ifTrue:[
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   328
                spec := spec , ', '
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   329
            ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   330
            spec := spec , argSpec.
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   331
"/        ]
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   332
    ].
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   333
    ^ spec
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   334
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   335
    "Created: / 18-03-1997 / 11:06:44 / cg"
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   336
    "Modified: / 04-10-2013 / 12:45:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   337
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   338
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   339
argSpecWithArgsFromStream:s in:aPackage
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   340
    "parse an argSpec - see java doc"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   341
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   342
    ^ self argSpecWithArgsFromStream:s in:aPackage argNames:nil
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   343
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   344
    "Modified: / 8.1.1998 / 19:21:00 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   345
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   346
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   347
argSpecWithArgsFromStream:s in:aPackage argNames:argNames
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   348
    "parse an argSpec - see java doc"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   349
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   350
    |argSpec spec argNr nm|
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   351
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   352
    argNr := 1.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   353
    spec := ''.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   354
    [s atEnd or:[s peek == $)]] whileFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   355
        argSpec := self fieldTypeFromStream:s in:aPackage.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   356
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   357
        (argNames notNil
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   358
        and:[argNames size >= argNr
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   359
        and:[(nm := argNames at:argNr) notNil]]) ifFalse:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   360
            nm := 'arg' , argNr printString.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   361
        ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   362
        argSpec := argSpec , ' ' , nm.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   363
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   364
        spec size ~~ 0 ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   365
            spec := spec , ', '
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   366
        ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   367
        spec := spec , argSpec.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   368
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   369
        argNr := argNr + 1.
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   370
    ].
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   371
    ^ spec
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   372
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   373
    "Created: / 8.1.1998 / 19:20:36 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   374
    "Modified: / 8.1.1998 / 21:14:33 / cg"
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   375
!
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
   376
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   377
fieldTypeFromStream:s in:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   378
    "parse a fieldTypeSpec - see java doc"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   379
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   380
    |typeChar typeSym elType size className nm out nangles |
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   381
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   382
    typeChar := s next.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   383
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   384
    typeSym := SignatureTypeCodes at:typeChar ifAbsent:#unknown.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   385
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   386
    typeSym == #unknown ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   387
        ^ typeSym
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   388
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   389
    (typeSym == #object or: [typeSym == #typevar]) ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   390
        "Take care about type variables"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   391
        out := String new writeStream.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   392
        [ s peek ~~ $; and:[ s peek ~~ $< ] ] whileTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   393
            out nextPut: s next.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   394
        ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   395
        className := out contents.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   396
        "Eat possible type variables"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   397
        (s peek == $<) ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   398
            nangles := 1. s next.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   399
            [  nangles ~~ 0 ] whileTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   400
                s peek == $< ifTrue:[nangles := nangles + 1].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   401
                s peek == $> ifTrue:[nangles := nangles - 1].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   402
                s next.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   403
            ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   404
        ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   405
        s peek ~~ $; ifTrue:[self error: 'Signature corrupted?'].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   406
        s next. "/eat ;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   407
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   408
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   409
        typeSym == #typevar ifTrue:[^className].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   410
        "/ strip off default
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   411
        nm := className.
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   412
"/        aPackage notNil ifTrue:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   413
"/            (nm startsWith:aPackage) ifTrue:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   414
"/                nm := nm copyFrom:(aPackage size + 2).
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   415
"/            ].
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   416
"/        ].
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   417
        "/ Show only local name, otherwise names are way too long...
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   418
        nm := nm copyFrom: (nm lastIndexOf: $/) + 1.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   419
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   420
"/        nm := nm copyReplaceAll:$/ with:$..
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   421
        ^ nm
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   422
    ].
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   423
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   424
    typeSym == #array ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   425
        s peek isDigit ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   426
            size := Integer readFrom:s.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   427
            elType := self fieldTypeFromStream:s in:aPackage.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   428
            ^ elType , '[' , size printString , ']'
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   429
        ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   430
        elType := self fieldTypeFromStream:s in:aPackage.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   431
        ^ elType , '[]'
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   432
    ].
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   433
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   434
    ^ typeSym
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   435
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   436
    "Created: / 18-03-1997 / 11:07:56 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   437
    "Modified: / 18-07-1998 / 22:57:06 / cg"
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   438
    "Modified: / 04-10-2013 / 12:42:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   439
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   440
3197
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   441
numArgsFromDescriptor:descriptor 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   442
    "Given a method descriptor, return the number physical of args (number of arg slots)"
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   443
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   444
    | i c numArgs |
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   445
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   446
    "/ The following code is king of ugly, but it is optimized for speed as
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   447
    "/ profiling shown that some 10% time was spent in descriptor parsing.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   448
    "/ Fillowing code is written upon assumption we get a proper method
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   449
    "/ descriptor (i.e., descriptor, not signature with type parameters).
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   450
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   451
    numArgs := 0.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   452
    i := descriptor indexOf: $(.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   453
    i ~~ 0 ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   454
        i := i + 1.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   455
        [ (c := descriptor at: i) ~~ $) ] whileTrue:[
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   456
            c == $D ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   457
                numArgs := numArgs + 2.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   458
            ] ifFalse:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   459
                c == $J ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   460
                    numArgs := numArgs + 2.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   461
                ] ifFalse:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   462
                    numArgs := numArgs + 1.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   463
                    c == $[ ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   464
                        i := i + 1.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   465
                        [ (c := descriptor at: i) == $[ ] whileTrue:[ i := i + 1 ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   466
                    ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   467
                    c == $L ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   468
                        i := descriptor indexOf: $; startingAt: i + 1.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   469
                        i == 0 ifTrue:[ 
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   470
                            self error: 'Invalid descriptor'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   471
                        ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   472
                    ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   473
                ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   474
            ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   475
            i := i + 1.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   476
        ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   477
        ^ numArgs
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   478
    ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   479
    self error: 'Invalid descriptor'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   480
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   481
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   482
    "
3197
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   483
     JavaMethod numArgsFromDescriptor:'(LObject;)V'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   484
     JavaMethod numArgsFromDescriptor:'(BB)S'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   485
     JavaMethod numArgsFromDescriptor:'()V'  
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   486
     JavaMethod numArgsFromDescriptor:'(Ljava/util/ArrayList<*>;)V'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   487
     JavaMethod numArgsFromDescriptor:'(LObject;J)V'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   488
     JavaMethod numArgsFromDescriptor:'([[LObject;J)V'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   489
     JavaMethod numArgsFromDescriptor:'([[J)V'
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   490
    "
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   491
3197
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   492
    "/ Original (slow) code:
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   493
"/    | s |
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   494
"/
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   495
"/    s := descriptor readStream.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   496
"/    (descriptor includes:$() ifFalse:[
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   497
"/        self error:'Invalid signature'
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   498
"/    ].
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   499
"/    [ s next ~~ $( ] whileTrue.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   500
"/    ^ self numArgsFromStream:s.
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   501
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
   502
    "Modified: / 04-08-2014 / 16:39:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   503
!
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   504
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   505
numArgsFromStream:s
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   506
    "parse an argSpec - see java doc"
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   507
238
18c543cfe8ef *** empty log message ***
cg
parents: 237
diff changeset
   508
    |n t|
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   509
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   510
    n := 0.
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   511
    [s atEnd or:[s peek == $)]] whileFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   512
        t := self fieldTypeFromStream:s in:nil.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   513
        "/
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   514
        "/ some args count as 2
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   515
        "/
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   516
        t == #long ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   517
            n := n + 2.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   518
        ] ifFalse:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   519
            t == #double ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   520
                n := n + 2
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   521
            ] ifFalse:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   522
                n := n + 1.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   523
            ]
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   524
        ]
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   525
    ].
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   526
    ^ n
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   527
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   528
    "Modified: / 8.1.1998 / 19:10:25 / cg"
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   529
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   530
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   531
retValSpecFromSignature:aSignature in:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   532
    "given a signature, return a spec"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   533
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   534
    |s argSpec retvalSpec|
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   535
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   536
    s := aSignature readStream.
237
4c9ca89313d4 *** empty log message ***
cg
parents: 220
diff changeset
   537
    s next ~~ $( ifTrue:[self halt].
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   538
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   539
    argSpec := self argSpecFromStream:s in:aPackage.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   540
237
4c9ca89313d4 *** empty log message ***
cg
parents: 220
diff changeset
   541
    s next ~~ $) ifTrue:[self halt].
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   542
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   543
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   544
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   545
    ^ retvalSpec
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   546
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   547
    "
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   548
     JavaMethod retValSpecFromSignature:'(LObject;)V'
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   549
     JavaMethod retValSpecFromSignature:'(BB)S'
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   550
    "
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   551
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   552
    "Created: 18.3.1997 / 11:11:50 / cg"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   553
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   554
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   555
returnTypeFromSignature:aSignature in:aPackage
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   556
    "given a signature, return its type as a string"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   557
238
18c543cfe8ef *** empty log message ***
cg
parents: 237
diff changeset
   558
    |s c|
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   559
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   560
    s := aSignature readStream.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   561
    (c := s peek) ~~ $( ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   562
        c == $' ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   563
           [s peek ~= $'] whileTrue:[s next].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   564
           s next.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   565
           ^ (self retvalSpecFromStream:s in:aPackage)
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   566
        ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   567
        ^ (self retvalSpecFromStream:s in:aPackage)
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   568
    ].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   569
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   570
    s next.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   571
    self argSpecFromStream:s in:aPackage.
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   572
    s next ~~ $) ifTrue:[self halt. ^ nil].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   573
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   574
    ^ (self retvalSpecFromStream:s in:aPackage)
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   575
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   576
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   577
     JavaMethod returnTypeFromSignature:'(LObject;)V'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   578
     JavaMethod returnTypeFromSignature:'(BB)S'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   579
     JavaMethod returnTypeFromSignature:'()J'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   580
     JavaMethod returnTypeFromSignature:'''first''J'
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   581
    "
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   582
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   583
    "Created: / 1.8.1997 / 10:54:31 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   584
    "Modified: / 8.1.1998 / 19:09:06 / cg"
72
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
   585
!
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
   586
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
   587
returnsVoidFromSignature:aSignature
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
   588
    "given a signature, return true if it returns void, false if not"
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
   589
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   590
    ^ (self typeFromSignature:aSignature in:nil) = 'void'
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   591
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   592
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   593
     JavaMethod returnsVoidFromSignature:'(LObject;)V'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   594
     JavaMethod returnsVoidFromSignature:'(BB)S'
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   595
    "
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
   596
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   597
    "Modified: / 8.1.1998 / 19:13:53 / cg"
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   598
!
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   599
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   600
retvalSpecFromStream:s in:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   601
    "parse a retvalSpec - see java doc"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   602
332
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   603
    |spec|
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   604
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   605
    s atEnd ifTrue:[self halt. ^ #void].
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   606
    s peek == $V ifTrue:[^ #void].
332
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   607
    spec := self fieldTypeFromStream:s in:aPackage.
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   608
    spec knownAsSymbol ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   609
        ^ spec asSymbol
332
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   610
    ].
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   611
    ^ spec
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   612
332
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   613
    "Created: / 18.3.1997 / 11:12:19 / cg"
2cb9ceae74d3 checkin from browser
cg
parents: 323
diff changeset
   614
    "Modified: / 7.4.1998 / 22:28:27 / cg"
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   615
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   616
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   617
specComponentsWithArgsFromSignature:aSignature withName:name in:aPackage
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   618
    "given a signature, return a spec"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   619
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   620
    |s argSpec retvalSpec|
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   621
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   622
    s := aSignature readStream.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   623
    s next ~~ $( ifTrue:[self halt. ^ name].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   624
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   625
    argSpec := self argSpecWithArgsFromStream:s in:aPackage.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   626
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   627
    s next ~~ $) ifTrue:[self halt. ^ name].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   628
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   629
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   630
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   631
    ^ Array with:retvalSpec with:name with:argSpec
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   632
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   633
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   634
     JavaMethod specWithArgsFromSignature:'(LObject;)V' withName:'foo' in:nil
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   635
     JavaMethod specComponentsWithArgsFromSignature:'(LObject;)V' withName:'foo' in:nil
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   636
    "
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   637
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   638
    "Created: 18.3.1997 / 11:06:22 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   639
    "Modified: 1.8.1997 / 11:03:50 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   640
!
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   641
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   642
specFromSignature:aSignature withName:name argNames:argNames in:aPackage
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   643
    "given a signature, return a spec"
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   644
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   645
    |s argSpec retvalSpec|
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   646
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   647
    s := aSignature readStream.
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   648
    s next ~~ $( ifTrue:[self halt. ^ name].
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   649
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   650
    argSpec := self argSpecWithArgsFromStream:s in:aPackage argNames:argNames.
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   651
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   652
    s next ~~ $) ifTrue:[self halt. ^ name].
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   653
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   654
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   655
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   656
    ^ retvalSpec , ' ' , name , ' (' , argSpec , ')'
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   657
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   658
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   659
     JavaMethod specFromSignature:'(LObject;)V' withName:'foo' argNames:#('a') in:nil
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   660
     JavaMethod specFromSignature:'(BB)S'       withName:'foo' argNames:#('a' 'b') in:nil
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   661
    "
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   662
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   663
    "Created: / 18.3.1997 / 11:06:22 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   664
    "Modified: / 8.1.1998 / 21:14:43 / cg"
83
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   665
!
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   666
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   667
specFromSignature:aSignature withName:name in:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   668
    "given a signature, return a spec"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   669
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   670
    |s argSpec retvalSpec|
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   671
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   672
    s := aSignature readStream.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   673
    s next ~~ $( ifTrue:[self halt. ^ name].
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   674
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   675
    argSpec := self argSpecFromStream:s in:aPackage.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   676
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   677
    s next ~~ $) ifTrue:[self halt. ^ name].
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   678
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   679
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   680
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   681
    ^ retvalSpec , ' ' , name , ' (' , argSpec , ')'
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   682
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   683
    "
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   684
     JavaMethod specFromSignature:'(LObject;)V' withName:'foo' in:nil
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   685
     JavaMethod specFromSignature:'(BB)S'       withName:'foo' in:nil
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   686
    "
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   687
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   688
    "Created: / 18.3.1997 / 11:06:22 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   689
    "Modified: / 8.1.1998 / 21:06:32 / cg"
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   690
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
   691
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   692
specTextFromSignature:aSignature in:aPackage withName:name isConstructor: isCtor
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   693
    "given a signature, return a spec as boldified text"
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   694
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   695
    |s argSpec retvalSpec|
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   696
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   697
    s := aSignature readStream.
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   698
    s next ~~ $( ifTrue:[self halt. ^ name].
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   699
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   700
    argSpec := self argSpecFromStream:s in:aPackage.
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   701
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   702
    s next ~~ $) ifTrue:[self halt. ^ name].
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   703
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   704
    ^ isCtor ifTrue:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   705
        name , ' (' , argSpec , ')'
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   706
    ] ifFalse:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   707
        retvalSpec := self retvalSpecFromStream:s in:aPackage.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   708
        name , ' (' , argSpec , ') : ' , retvalSpec
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   709
    ]
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   710
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   711
"/    ^
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   712
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   713
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   714
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   715
     JavaMethod specTextFromSignature:'(LObject;)V' withName:'foo'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   716
     JavaMethod specTextFromSignature:'(BB)S'       withName:'foo'
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   717
    "
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   718
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   719
    "Created: / 04-10-2013 / 12:36:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   720
!
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   721
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   722
specTextFromSignature:aSignature withName:name
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   723
    "given a signature, return a spec as boldified text"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   724
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   725
    |s argSpec retvalSpec|
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   726
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   727
    s := aSignature readStream.
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   728
    s next ~~ $( ifTrue:[self halt. ^ name].
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   729
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   730
    argSpec := self argSpecFromStream:s in:nil.
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   731
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   732
    s next ~~ $) ifTrue:[self halt. ^ name].
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   733
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   734
    retvalSpec := self retvalSpecFromStream:s in:nil.
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   735
2110
6188ec8713ea no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 2107
diff changeset
   736
    ^ retvalSpec , ' ' , (name allBold) , ' (' , argSpec , ')'
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   737
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   738
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   739
     JavaMethod specTextFromSignature:'(LObject;)V' withName:'foo'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   740
     JavaMethod specTextFromSignature:'(BB)S'       withName:'foo'
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   741
    "
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   742
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   743
    "Modified: / 8.1.1998 / 19:11:20 / cg"
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   744
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   745
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   746
specTextWithArgsFromSignature:aSignature withName:name in:aPackage
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   747
    "given a signature, return a spec"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   748
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   749
    |s argSpec retvalSpec|
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   750
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   751
    s := aSignature readStream.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   752
    s next ~~ $( ifTrue:[self halt. ^ name].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   753
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   754
    argSpec := self argSpecWithArgsFromStream:s in:aPackage.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   755
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   756
    s next ~~ $) ifTrue:[self halt. ^ name].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   757
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   758
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   759
2110
6188ec8713ea no need for asText when sending allBold
Claus Gittinger <cg@exept.de>
parents: 2107
diff changeset
   760
    ^ retvalSpec , ' ' , (name allBold) , ' (' , argSpec , ')'
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   761
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   762
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   763
     JavaMethod specWithArgsFromSignature:'(LObject;)V' withName:'foo' in:nil
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   764
     JavaMethod specWithArgsFromSignature:'(BB)S'       withName:'foo' in:nil
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   765
    "
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   766
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   767
    "Modified: 20.3.1997 / 12:50:10 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   768
    "Created: 1.8.1997 / 10:43:57 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   769
!
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   770
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   771
specWithArgsFromSignature:aSignature withName:name in:aPackage
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   772
    "given a signature, return a spec"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   773
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   774
    |s argSpec retvalSpec|
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   775
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   776
    s := aSignature readStream.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   777
    s next ~~ $( ifTrue:[self halt. ^ name].
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   778
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   779
    argSpec := self argSpecWithArgsFromStream:s in:aPackage.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   780
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   781
    s next ~~ $) ifTrue:[self halt. ^ name].
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   782
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   783
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   784
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   785
    ^ retvalSpec , ' ' , name , ' (' , argSpec , ')'
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   786
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   787
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   788
     JavaMethod specWithArgsFromSignature:'(LObject;)V' withName:'foo' in:nil
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   789
     JavaMethod specWithArgsFromSignature:'(BB)S'       withName:'foo' in:nil
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   790
    "
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   791
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   792
    "Created: 18.3.1997 / 11:06:22 / cg"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   793
    "Modified: 20.3.1997 / 12:50:10 / cg"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   794
!
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
   795
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   796
specWithArgsFromSignature:aSignature withName:name in:aPackage isConstructor: isCtor
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   797
    "given a signature, return a spec"
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   798
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   799
    |s argSpec retvalSpec|
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   800
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   801
    s := aSignature readStream.
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   802
    s next ~~ $( ifTrue:[self halt. ^ name].
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   803
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   804
    argSpec := self argSpecWithArgsFromStream:s in:aPackage.
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   805
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   806
    s next ~~ $) ifTrue:[self halt. ^ name].
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   807
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   808
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   809
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   810
    ^ retvalSpec , ' ' , name , ' (' , argSpec , ')'
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   811
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   812
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   813
     JavaMethod specWithArgsFromSignature:'(LObject;)V' withName:'foo' in:nil
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   814
     JavaMethod specWithArgsFromSignature:'(BB)S'       withName:'foo' in:nil
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   815
    "
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   816
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   817
    "Created: / 04-10-2013 / 12:33:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   818
!
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
   819
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   820
typeFromSignature:aSignature in:package
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   821
    "given a signature, return its type as a string"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   822
238
18c543cfe8ef *** empty log message ***
cg
parents: 237
diff changeset
   823
    |s c|
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   824
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   825
    s := aSignature readStream.
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   826
    (c := s peek) ~~ $( ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   827
        c == $' ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   828
           s next.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   829
           [s peek ~= $'] whileTrue:[s next].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   830
           s next.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   831
           ^ (self retvalSpecFromStream:s in:package)
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   832
        ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
   833
        ^ (self retvalSpecFromStream:s in:package)
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   834
    ].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   835
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   836
    s next.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   837
    self argSpecFromStream:s in:nil.
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   838
    s next ~~ $) ifTrue:[self halt. ^ nil].
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   839
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   840
    ^ (self retvalSpecFromStream:s in:package)
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   841
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   842
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   843
     JavaMethod typeFromSignature:'(LObject;)Ljava/lang/Object'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
   844
     JavaMethod typeFromSignature:'(LObject;)Ljava/lang/Object' in:'java.lang'
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   845
    "
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
   846
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   847
    "Created: / 1.8.1997 / 10:50:38 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
   848
    "Modified: / 8.1.1998 / 19:09:31 / cg"
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   849
! !
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   850
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   851
!JavaMethod methodsFor:'* As yet uncategorized *'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   852
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   853
annotationIndexOf:aSymbol
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   854
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   855
    ^nil
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   856
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   857
    "Created: / 24-02-2012 / 16:06:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   858
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   859
3236
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   860
!JavaMethod methodsFor:'* uncategorized *'!
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   861
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   862
annotationAt:aSymbol    
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   863
    ^ nil "/ There are no annotation is Smalltalk sense...
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   864
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   865
    "Created: / 17-08-2014 / 08:34:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   866
! !
c8b42e8c2d6c Fix in reloading of a method with method-level breakpoint.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3197
diff changeset
   867
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   868
!JavaMethod methodsFor:'accessing'!
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   869
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   870
accessFlags
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   871
    "java calls this the modifiers"
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   872
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   873
    ^ accessFlags
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   874
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   875
    "Created: / 9.4.1998 / 17:49:44 / cg"
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   876
!
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
   877
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   878
analyzer
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   879
    "Returns an analyzer for the method which can be used
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   880
     to query some statistics like sent messages or modified classvars"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   881
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   882
    ^ JavaMethodAnalyzer analyze: self.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   883
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   884
    "Created: / 30-08-2013 / 13:47:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   885
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
   886
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   887
annotations
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   888
    annotations isNil ifTrue:[
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   889
        ^ JavaMethodAnnotationContainer empty
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   890
    ].
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   891
    ^ annotations
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   892
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   893
    "Modified: / 04-08-2014 / 16:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   894
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   895
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   896
annotations:something
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   897
    annotations := something.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   898
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   899
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   900
argSignature
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   901
    ^ self class argSigArrayFromSignature:descriptor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   902
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   903
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   904
asByteCodeMethod
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   905
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   906
    "JavaMethods are always bytecode methods"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   907
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   908
    ^self
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   909
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   910
    "Created: / 18-07-2011 / 20:48:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   911
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
   912
678
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   913
comment
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   914
    "should access the source here, and parse any method comment"
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   915
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   916
    ^ nil
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   917
!
0e4f13d5f7e9 printString; added dummy #comment
cg
parents: 673
diff changeset
   918
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   919
constantPool
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   920
    ^ javaClass constantPool
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   921
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   922
    "Modified: 16.4.1996 / 12:36:27 / cg"
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   923
    "Created: 16.4.1996 / 15:28:50 / cg"
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   924
!
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
   925
129
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   926
containingClass
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   927
    ^ javaClass
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   928
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   929
!
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
   930
169
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   931
decompiledBytecode
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   932
    |s|
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   933
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   934
    s := '' writeStream.
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   935
    JavaDecompiler decompile:self to:s.
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   936
    ^ s contents
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   937
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   938
    "Created: 7.4.1997 / 20:10:37 / cg"
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   939
!
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
   940
75
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   941
decompiledSource
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   942
    |s|
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   943
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   944
    s := '' writeStream.
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   945
    self decompileSourceTo:s.
75
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   946
    ^ s contents
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   947
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
   948
    "Modified: 30.7.1997 / 16:27:55 / cg"
75
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   949
!
9816a04c8b21 checkin from browser
cg
parents: 72
diff changeset
   950
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   951
descriptor
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   952
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   953
    ^ (JavaDescriptor fromString: descriptor) name: self name
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   954
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   955
    "Created: / 16-04-1996 / 11:34:29 / cg"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   956
    "Modified: / 06-12-2011 / 21:53:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   957
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   958
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   959
descriptorSymbol
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   960
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   961
    ^descriptor
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   962
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   963
    "Created: / 16-04-1996 / 11:34:29 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   964
    "Created: / 06-12-2011 / 23:00:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   965
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   966
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   967
ensureHasAnnotations
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   968
    annotations isNil ifTrue:[
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   969
        annotations := JavaMethodAnnotationContainer for:self
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   970
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   971
    ^ annotations
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   972
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   973
    "Created: / 25-02-2011 / 16:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   974
    "Modified: / 28-02-2011 / 16:33:00 / Marcel Hlopko <hlopik@gmail.com>"
3196
d617b4590431 (Class reading) optimization [2/4]: rewrite slow ifNil:... by faster isNil ifTrue:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3111
diff changeset
   975
    "Modified: / 04-08-2014 / 15:55:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   976
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   977
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   978
exceptionClasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   979
    "Return a collection of declared exception classes that this method
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   980
     throws"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   981
    ^#()
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   982
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   983
    "Created: / 01-08-2012 / 10:06:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   984
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
   985
135
098936234135 *** empty log message ***
cg
parents: 129
diff changeset
   986
exceptionHandlerTable
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   987
    ^ nil
135
098936234135 *** empty log message ***
cg
parents: 129
diff changeset
   988
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   989
    "Created: / 16.10.1998 / 01:50:51 / cg"
135
098936234135 *** empty log message ***
cg
parents: 129
diff changeset
   990
!
098936234135 *** empty log message ***
cg
parents: 129
diff changeset
   991
83
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   992
exceptionTable
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   993
    ^ nil
83
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   994
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
   995
    "Created: / 16.10.1998 / 01:51:04 / cg"
83
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   996
!
2d61ef3579e4 *** empty log message ***
cg
parents: 80
diff changeset
   997
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   998
firstInstructionLineNumber
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
   999
    ForceByteCodeDisplay == true ifTrue:[ ^ 1].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1000
    lineNumberTable notNil ifTrue:[ ^ lineNumberTable at:2].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1001
    ^ 0.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1002
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1003
    "Created: / 17-12-2010 / 17:02:46 / Jan Kurs <kurs.jan@post.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1004
    "Modified: / 08-01-2011 / 16:30:16 / Jan Kurs <kurs.jan@post.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1005
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1006
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1007
getExceptionTable
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1008
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1009
    ^ nil
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1010
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1011
    "Created: / 04-02-2011 / 23:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1012
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1013
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1014
getMclass
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1015
    ^javaClass
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1016
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1017
    "Created: / 15-04-2013 / 17:57:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1018
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1019
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1020
getSource
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1021
    ^ source
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1022
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1023
    "Created: / 13-09-2013 / 01:41:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1024
!
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1025
2090
756cbebc78f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2087
diff changeset
  1026
getSourcePosition
756cbebc78f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2087
diff changeset
  1027
    ^ 1
756cbebc78f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2087
diff changeset
  1028
!
756cbebc78f4 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 2087
diff changeset
  1029
90
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1030
hasLineNumberInformation
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1031
    ^ lineNumberTable notNil
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1032
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1033
    "Created: 16.4.1996 / 12:34:04 / cg"
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1034
    "Modified: 16.4.1996 / 12:49:06 / cg"
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1035
!
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1036
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  1037
javaByteCode
184
f65eb9c4ba6e checkin from browser
cg
parents: 175
diff changeset
  1038
"/    ^ javaByteCode
f65eb9c4ba6e checkin from browser
cg
parents: 175
diff changeset
  1039
    ^ byteCode
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  1040
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  1041
    "Created: 16.4.1996 / 14:55:44 / cg"
184
f65eb9c4ba6e checkin from browser
cg
parents: 175
diff changeset
  1042
    "Modified: 1.8.1997 / 00:08:45 / cg"
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  1043
!
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  1044
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1045
javaClass
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1046
    ^ javaClass
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1047
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1048
    "Modified: 16.4.1996 / 12:36:27 / cg"
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1049
    "Created: 16.4.1996 / 14:55:44 / cg"
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1050
!
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1051
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1052
javaExceptionTable
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1053
    <resource: #obsolete>
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1054
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1055
    self obsoleteMethodWarning: 'Use #exceptionClasses  instead'.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1056
    ^ self exceptionClasses
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1057
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1058
    "Created: / 04-06-2011 / 18:16:23 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1059
    "Modified: / 01-08-2012 / 10:08:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1060
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1061
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1062
javaNumArgs
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1063
^ self argSignature size.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1064
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1065
    "Created: / 14-03-2011 / 15:50:58 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1066
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1067
90
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1068
lineNumber
2888
5b492b74975f Bugfix in JavaMethod>>lineNumber (missing return)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2870
diff changeset
  1069
    ^ self sourceLineNumber.
2717
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1070
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1071
    "Created: / 16-04-1996 / 12:34:04 / cg"
2888
5b492b74975f Bugfix in JavaMethod>>lineNumber (missing return)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2870
diff changeset
  1072
    "Modified: / 23-10-2013 / 10:48:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
90
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1073
!
918e2740098c resolve rewritten
cg
parents: 85
diff changeset
  1074
50
458467ce0e15 checkin from browser
cg
parents: 48
diff changeset
  1075
lineNumberTable
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1076
"/    lineNumberTable ifNil:[ lineNumberTable := Dictionary new.].
50
458467ce0e15 checkin from browser
cg
parents: 48
diff changeset
  1077
    ^ lineNumberTable
458467ce0e15 checkin from browser
cg
parents: 48
diff changeset
  1078
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1079
    "Created: / 16-04-1996 / 12:34:04 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1080
    "Modified: / 13-12-2010 / 11:06:40 / Jan Kurs <kurs.jan@post.cz>"
50
458467ce0e15 checkin from browser
cg
parents: 48
diff changeset
  1081
!
458467ce0e15 checkin from browser
cg
parents: 48
diff changeset
  1082
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1083
literalsDetect:aBlock ifNone:exceptionBlock
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1084
    "execute a one arg block for each of our literals.
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1085
     return the first literal for which aBlock returns true"
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1086
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1087
    "/ sigh - must first extract all accessed literals ...
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1088
    "/ must deparse the byteCode in order to do this.
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1089
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1090
    |walker|
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1091
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1092
    walker := JavaByteCodeEnumerator new.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1093
    walker literalAction:[:pc :slotIndex :const |
651
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1094
        const isJavaMethodRef ifTrue:[
654
da8d060a3150 checkin from browser
cg
parents: 651
diff changeset
  1095
            (aBlock value:(const name)) ifTrue:[^ const name].
651
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1096
        ] ifFalse:[
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1097
            const isJavaClassRef ifTrue:[
654
da8d060a3150 checkin from browser
cg
parents: 651
diff changeset
  1098
                (aBlock value:(const name)) ifTrue:[^ const name].
651
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1099
            ]
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1100
        ]
c4f8130fb962 checkin from browser
cg
parents: 637
diff changeset
  1101
    ].
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1102
    walker decompile:self to:nil.
654
da8d060a3150 checkin from browser
cg
parents: 651
diff changeset
  1103
    ^ nil
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1104
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1105
    "Created: / 9.11.1999 / 15:21:40 / cg"
654
da8d060a3150 checkin from browser
cg
parents: 651
diff changeset
  1106
    "Modified: / 24.12.1999 / 02:55:55 / cg"
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1107
!
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  1108
85
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1109
localVariableTable
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1110
    ^ localVariableTable
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1111
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1112
    "
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1113
     JavaMethod allInstancesDo:[:m| m localVariableTable notNil ifTrue:[self halt]]
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1114
    "
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1115
!
888c37bbe4bb checkin from browser
cg
parents: 83
diff changeset
  1116
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1117
mclass
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1118
    ^ self javaClass
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1119
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1120
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1121
mclass: anObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1122
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1123
    javaClass := anObject
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1124
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1125
    "Created: / 18-10-2010 / 19:01:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1126
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1127
2086
66b8f6529783 comment
Claus Gittinger <cg@exept.de>
parents: 750
diff changeset
  1128
methodArgAndVarNames
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1129
    ^ "((1 to:self numArgs) collect:[:i | 'arg' , i printString])"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1130
      self methodArgNames
2086
66b8f6529783 comment
Claus Gittinger <cg@exept.de>
parents: 750
diff changeset
  1131
      ,
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1132
      "((1 to:self numVars) collect:[:i | 'local' , i printString])"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1133
      self methodVarNames
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1134
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1135
    "Modified: / 23-11-2010 / 19:32:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1136
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1137
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1138
methodArgAndVarNamesInContext: context
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1139
    | pc stop |
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1140
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1141
    self isNative ifTrue:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1142
        ^ self methodArgNames
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1143
    ].
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1144
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1145
    context isJavaContext ifTrue:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1146
        pc := context pc.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1147
    ] ifFalse:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1148
        "/ It may happen that the context for Java method is not
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1149
        "/ a JavaContext. This is true for some code-saver functions
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1150
        "/ such as __retInst1(), __retSelf1() and so on. In that case,
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1151
        "/ method sould be simple enough to have no nested scopes
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1152
        "/ or local variables. Forcing pc := 0 therefore works fine
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1153
        pc := 0.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1154
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1155
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1156
    localVariableTable isNil ifTrue:[^self methodArgNames , self methodVarNames ].
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1157
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1158
    stop := context arg1Index - 1 + self numArgs + self numVars.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1159
    stop := stop min: context size.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1160
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1161
    ^(1 to: stop) collect:[:i|
2814
342fbc21cc23 Small fix in JavaMethod>>argAndVarNamesInContext:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2791
diff changeset
  1162
        (localVariableTable nameForSlot: i - 1 atPC: pc) ? '<inaccessible>'.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1163
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1164
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1165
    "Created: / 18-12-2012 / 18:17:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1166
    "Modified: / 05-11-2013 / 17:28:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1167
!
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1168
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1169
methodArgAndVarValuesInContext: context
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1170
    | pc stop |
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1171
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1172
    localVariableTable isNil ifTrue:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1173
        | values |
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1174
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1175
        values := Array new: context size.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1176
        values replaceFrom: 1  count: context size with: context  startingAt: 1.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1177
        ^ values.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1178
    ].
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1179
    context isJavaContext ifTrue:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1180
        pc := context pc.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1181
    ] ifFalse:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1182
        "/ It may happen that the context for Java method is not
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1183
        "/ a JavaContext. This is true for some code-saver functions
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1184
        "/ such as __retInst1(), __retSelf1() and so on. In that case,
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1185
        "/ method sould be simple enough to have no nested scopes
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1186
        "/ or local variables. Forcing pc := 0 therefore works fine
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1187
        pc := 0.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1188
    ].
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1189
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1190
    stop := context arg1Index - 1 + self numArgs + self numVars.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1191
    stop := stop min: context size.
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1192
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1193
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1194
    ^(1 to: stop) collect:[:i|
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1195
        (localVariableTable nameForSlot: i - 1 atPC: pc) notNil ifTrue:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1196
            context at: i
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1197
        ] ifFalse:[
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1198
            nil
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1199
        ].
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1200
    ].
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1201
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1202
    "Created: / 04-11-2013 / 18:53:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  1203
    "Modified: / 05-11-2013 / 17:28:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1204
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1205
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1206
methodArgNames
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1207
    |nA "{ Class: SmallInteger }" isStatic|
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1208
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1209
    isStatic := self isStatic.
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  1210
    nA := self numArgs.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1211
    ^ 1 to:nA collect: [:argIndex |
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1212
            |slot name|
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1213
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1214
            "/ search for an entry with that index (slot),
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1215
            "/ which has is valid at PC 0
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1216
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1217
            localVariableTable notNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1218
                isStatic ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1219
                    slot := argIndex - 1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1220
                ] ifFalse:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1221
                    slot := argIndex "/+ 1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1222
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1223
                name := localVariableTable nameForSlot:slot atPC:0.
3083
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1224
            ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1225
            name isNil ifTrue:[
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1226
                name := 'arg' , argIndex printString
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1227
            ].
ccde6af7278c JavaContext:
Claus Gittinger
parents: 3028
diff changeset
  1228
            name
102
de5ab089cf47 checkin from browser
cg
parents: 90
diff changeset
  1229
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1230
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1231
    "Modified: / 23-11-2010 / 19:47:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1232
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1233
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1234
methodVarNames
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1235
    |nV|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1236
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1237
    nV := self numVars.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1238
    localVariableTable notNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1239
        ^ (self numArgs + 1 to: self numArgs + nV) collect:
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1240
            [:argIndex |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1241
                |slot name|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1242
                "/ search for an entry with that index (slot),
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1243
                "/ which has is valid at PC 0
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1244
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1245
                self isStatic ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1246
                    slot := argIndex - 1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1247
                ] ifFalse:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1248
                    slot := argIndex"/ + 1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1249
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1250
                name := localVariableTable nameForSlot:slot atPC:0.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1251
                name isNil ifTrue:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1252
                    'local' , argIndex printString
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1253
                ] ifFalse:[
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1254
                    name
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1255
                ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1256
            ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1257
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1258
    ^ (1 to:nV) collect:[:i | 'local' , i printString]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1259
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1260
    "Created: / 23-11-2010 / 19:28:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1261
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1262
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1263
name
2555
655f39b36a10 Changed usage of deprecated #copyWithoutLast: to #copyButLast:
Stefan Vogel <sv@exept.de>
parents: 2551
diff changeset
  1264
    ^ (selector copyButLast:descriptor size) asSymbol
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1265
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1266
    "Created: 16.4.1996 / 11:34:22 / cg"
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1267
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1268
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1269
nameSpaceName
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1270
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1271
    ^''
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1272
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1273
    "Created: / 18-10-2010 / 19:10:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1274
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1275
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1276
numJArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1277
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1278
    ^self numberOfJavaArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1279
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1280
    "Created: / 25-10-2011 / 10:50:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1281
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1282
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1283
numJavaArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1284
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1285
    ^self numberOfJavaArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1286
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1287
    "Created: / 25-10-2011 / 10:50:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
118
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  1288
!
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  1289
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1290
numberOfJavaArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1291
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1292
    ^(accessFlags bitAnd: 16r00FF0000) rightShift: 16.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1293
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1294
    "Created: / 25-10-2011 / 10:45:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1295
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1296
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1297
numberOfJavaArgs: nArgs
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1298
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1299
    ( nArgs > 16rFF ) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1300
        ArgumentError raiseRequestWith:self errorString:'too many args method  - ', nArgs printString.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1301
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1302
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1303
    accessFlags := accessFlags bitOr:
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1304
        ((nArgs bitAnd: 16rFF) bitShift: 16)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1305
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1306
    "Created: / 25-10-2011 / 10:43:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1307
!
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1308
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1309
originalMethodIfWrapped
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1310
    "return the method the receiver is wrapping - none here"
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1311
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1312
    ^ self
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1313
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1314
    "Created: / 22-10-2010 / 11:46:07 / cg"
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1315
!
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1316
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1317
previousVersion
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1318
    ^ nil
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1319
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1320
    "Created: 30.7.1997 / 15:56:18 / cg"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1321
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1322
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1323
previousVersionCode
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1324
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1325
    ^nil
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1326
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1327
    "Created: / 18-10-2010 / 20:15:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1328
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1329
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1330
retValSignature
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1331
    ^ self class retValSpecFromSignature:descriptor in:nil
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1332
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1333
    "Modified: / 8.1.1998 / 19:06:40 / cg"
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1334
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  1335
123
4a5d4ac95782 checkin from browser
cg
parents: 118
diff changeset
  1336
returnType
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1337
    "/ ^ returnType
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1338
    ^ self class typeFromSignature:descriptor in:nil.
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1339
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1340
    "Modified: / 16.10.1998 / 00:17:43 / cg"
123
4a5d4ac95782 checkin from browser
cg
parents: 118
diff changeset
  1341
!
4a5d4ac95782 checkin from browser
cg
parents: 118
diff changeset
  1342
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1343
returnTypeClass
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1344
    |cls returnType|
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1345
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1346
    (returnType := self returnType) isNil ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1347
        self halt.
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1348
    ].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1349
    cls := Java at:returnType.
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1350
    cls notNil ifTrue:[^ cls].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1351
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1352
    returnType == #void ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1353
        ^ nil
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1354
    ].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1355
    returnType == #double ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1356
        'warning: no returnTypeClass for double' printCR.
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1357
"/        self halt:'no returnTypeClass for double'.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1358
        ^ nil
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1359
    ].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1360
    returnType == #float ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1361
        'warning: no returnTypeClass for float' printCR.
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1362
"/        self halt:'no returnTypeClass for float'.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1363
        ^ nil
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1364
    ].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1365
    returnType == #long ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1366
        'warning: no returnTypeClass for long' printCR.
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1367
"/        self halt:'no returnTypeClass for long'.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1368
        ^ nil
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1369
    ].
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1370
    returnType == #int ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1371
        'warning: no returnTypeClass for int' printCR.
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1372
"/        self halt:'no returnTypeClass for int'.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1373
        ^ nil
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1374
    ].
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1375
    returnType == #boolean ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1376
        'warning: no returnTypeClass for boolean' printCR.
334
638045537cf7 *** empty log message ***
cg
parents: 332
diff changeset
  1377
"/        self halt:'no returnTypeClass for boolean'.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1378
        ^ nil
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1379
    ].
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1380
    self halt.
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1381
    ^ nil
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1382
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1383
    "Created: / 13.2.1998 / 15:08:26 / cg"
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1384
    "Modified: / 16.10.1998 / 00:16:07 / cg"
322
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1385
!
567088a5a1b0 partial support for getMethod0 & invokeMethod.
cg
parents: 321
diff changeset
  1386
116
7d612d4450c0 *** empty log message ***
cg
parents: 113
diff changeset
  1387
returnsDouble
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1388
    ^ self returnType == #double
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1389
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1390
    "Modified: / 16.10.1998 / 00:18:24 / cg"
116
7d612d4450c0 *** empty log message ***
cg
parents: 113
diff changeset
  1391
!
7d612d4450c0 *** empty log message ***
cg
parents: 113
diff changeset
  1392
72
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
  1393
returnsLong
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1394
    ^ self returnType == #long
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1395
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1396
    "Modified: / 16.10.1998 / 00:18:41 / cg"
72
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
  1397
!
9427aa6a8528 *** empty log message ***
cg
parents: 64
diff changeset
  1398
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1399
returnsVoid
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1400
    ^ self returnType == #void
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1401
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1402
    "Modified: / 16-10-1998 / 00:18:53 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1403
    "Modified: / 22-03-2011 / 12:27:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1404
!
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1405
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1406
selector
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1407
    "/ could theoretically be extracted from my classes
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1408
    "/ methodDictionary via:
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1409
    "/  ^ javaClass methodDictionary keyAtValue:self ifAbsent:nil.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1410
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1411
    ^ selector
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1412
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1413
    "Created: / 7.1.1998 / 14:05:11 / cg"
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1414
    "Modified: / 16.10.1998 / 13:41:06 / cg"
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1415
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1416
27
4560bb77bb36 checkin from browser
cg
parents: 19
diff changeset
  1417
signature
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1418
    ^ signature
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1419
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1420
    "Modified: / 04-12-2011 / 19:39:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1421
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1422
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1423
source
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1424
    | sourceString |
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1425
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1426
    (self isSynthetic or:[ForceByteCodeDisplay == true]) ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1427
        ^ self decompiledBytecode
169
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
  1428
    ].
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1429
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1430
    sourceString := javaClass source.
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1431
    sourceString isNil ifTrue:[
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1432
        ^ self decompiledSource.
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1433
    ].
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1434
    ShowFullSource ifTrue:[ ^ sourceString ].
2725
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1435
    source notNil ifTrue:[
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1436
        ^ source readFrom: sourceString.
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1437
    ].
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1438
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1439
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1440
    "/ stx:libjava/tools may not be loaded...
2725
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1441
    JavaSourceDocument notNil ifTrue:[
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1442
        "/ As a side effect, this fills in source references for all methods.
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1443
        "/ see JavaSourceDocument
2720
d55ab9c66bb3 Bugfix in JavaMethod>>source - wait until the source file is scanned for source positions...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2717
diff changeset
  1444
        | document |
d55ab9c66bb3 Bugfix in JavaMethod>>source - wait until the source file is scanned for source positions...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2717
diff changeset
  1445
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1446
        ((document := self sourceDocument) notNil and:[document sourceTreeOrNilIfParsing notNil]) ifTrue:[
2725
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1447
            ^ source readFrom: sourceString.
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  1448
        ]
2725
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1449
    ].
258b8c6de530 STC bug workaround in JavaMethod>>source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2722
diff changeset
  1450
    ^ sourceString
169
269f334e9f34 *** empty log message ***
cg
parents: 168
diff changeset
  1451
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1452
    "Modified: / 04-01-1998 / 13:48:35 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1453
    "Modified: / 13-12-2010 / 11:06:51 / Jan Kurs <kurs.jan@post.cz>"
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  1454
    "Modified: / 14-09-2013 / 12:01:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2717
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1455
!
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1456
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1457
sourceDocument
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1458
    | doc |
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1459
    "/ stx:libjava/tools may not be loaded...
2717
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1460
    JavaSourceDocument notNil ifTrue:[
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1461
        doc := JavaSourceDocument cachedDocumentFor: javaClass.
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1462
        doc isNil ifTrue:[
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1463
            doc := JavaSourceDocument for: javaClass.
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1464
            JavaSourceDocument cachedDocumentFor: javaClass put: doc.
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1465
        ].
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1466
        ^ doc
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1467
    ]
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1468
16564a7101b8 Initial support for displaying only selected method's source in browser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2716
diff changeset
  1469
    "Created: / 07-09-2013 / 02:29:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1470
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1471
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1472
sourceFilename
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  1473
    ^ javaClass sourceFile
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1474
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1475
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1476
sourceLineNumber
2722
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1477
    "Return the line number of method declaration
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1478
     withing method's source"
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1479
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1480
    ^ ShowFullSource ifFalse:[
2722
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1481
        "Showing only method's source..."
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1482
        source notNil
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1483
            ifTrue:[source line0 - source lineH + 1]
2722
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1484
            ifFalse:[1].
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1485
    ] ifTrue:[
2722
1527fdb0c92f Return line number withing method source.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2720
diff changeset
  1486
        "Showing full source..."
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1487
        source notNil ifTrue:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1488
            source lineH
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1489
        ] ifFalse:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1490
            self firstInstructionLineNumber - 2.
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1491
        ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1492
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1493
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1494
    "Created: / 30-07-1997 / 15:40:45 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1495
    "Modified: / 13-12-2010 / 23:46:30 / Marcel Hlopko <hlopik@gmail.com>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1496
    "Modified: / 08-01-2011 / 16:20:40 / Jan Kurs <kurs.jan@post.cz>"
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  1497
    "Modified: / 11-09-2013 / 03:24:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1498
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1499
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1500
wrapper
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1501
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1502
    ^nil
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1503
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1504
    "Created: / 18-10-2010 / 19:11:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1505
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1506
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1507
!JavaMethod methodsFor:'compiler interface'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1508
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1509
flushCode
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1510
    "Flushes jitted code, effectively cause a recompile"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1511
    self code: nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1512
    ObjectMemory flushCachesForSelector: selector.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1513
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1514
    "Created: / 15-10-2012 / 21:03:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1515
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1516
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1517
mcompile
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1518
    "__mcompile(OBJ aMethod, unsigned char *bytecode, int nBytes, int nArgs, OBJ receiver, OBJ selector, OBJ srchClass, OBJ *pArgsOrNull)"
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1519
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1520
    | bytecode  nBytes  nArgs  receiver  mySelector  srchClass  pArgsOrNull  retVal |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1521
    bytecode := self byteCode.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1522
    nBytes := self byteCode size.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1523
    nArgs := self numArgs.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1524
    receiver := nil.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1525
    mySelector := self selector.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1526
    srchClass := self mclass.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1527
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1528
%{
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1529
retVal = __mcompile(self, __ByteArrayInstPtr(bytecode), __intVal(nBytes), __intVal(nArgs), receiver, mySelector, srchClass, pArgsOrNull);
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1530
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1531
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1532
%}.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1533
self halt.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1534
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1535
    "Created: / 24-02-2012 / 11:39:13 / m"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1536
    "Modified: / 24-02-2012 / 14:00:04 / Marcel Hlopko <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1537
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1538
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1539
programmingLanguage
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1540
    "Returns a programming language of the method"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1541
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1542
    "Do not return JavaLanguage unconditionally here.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1543
     Consider another JVM-based languages (such as Groovy)"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1544
    ^javaClass programmingLanguage
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1545
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1546
    "Created: / 26-10-2010 / 23:42:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1547
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1548
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1549
updateFrom: anotherMethod
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1550
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1551
    self class allInstVarNames keysAndValuesDo:[:index :name|
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1552
        (#(#'code*' #'javaClass') includes: name) ifFalse:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1553
            self instVarAt: index put: (anotherMethod instVarAt: index)
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1554
        ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1555
    ]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1556
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  1557
    "Created: / 19-04-2013 / 00:08:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  1558
! !
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  1559
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1560
!JavaMethod methodsFor:'debugging'!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1561
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1562
breakPoint
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1563
    Debugger enter:thisContext sender withMessage:'breakpoint'
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1564
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1565
    "Modified: / 9.1.1998 / 23:01:17 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1566
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1567
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1568
clearBreakPoint
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1569
    | clsInEvent |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1570
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1571
    accessFlags := (accessFlags bitClear:A_BREAKPOINT).
449
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1572
    self hasCode ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1573
        MessageTracer unwrapMethod:self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1574
    ] ifFalse:[
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1575
        clsInEvent := self isStatic
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1576
                        ifTrue:[ javaClass theMetaclass ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1577
                        ifFalse:[ javaClass ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1578
        Smalltalk changed:#methodTrap with:{ clsInEvent . selector }
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1579
    ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1580
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1581
    "Modified: / 13-11-1998 / 23:31:00 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1582
    "Modified: / 30-05-2012 / 19:31:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1583
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1584
257
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1585
isCounting
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1586
    ^ false.
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1587
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1588
    "Created: / 12.1.1998 / 20:02:23 / cg"
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1589
!
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1590
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1591
isCountingMemoryUsage
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1592
    ^ false.
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1593
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1594
    "Created: / 12.1.1998 / 20:03:22 / cg"
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1595
!
f0d546da7ac3 checkin from browser
cg
parents: 256
diff changeset
  1596
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1597
setBreakPoint
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1598
    | clsInEvent |
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1599
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1600
    accessFlags := (accessFlags bitOr:A_BREAKPOINT).
449
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1601
    self hasCode ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1602
        MessageTracer trapMethod:self
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1603
    ] ifFalse:[
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1604
        clsInEvent := self isStatic
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1605
                        ifTrue:[ javaClass theMetaclass ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1606
                        ifFalse:[ javaClass ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1607
        Smalltalk changed:#methodTrap with:{ clsInEvent . selector }
449
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1608
    ].
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1609
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1610
    "Modified: / 13-11-1998 / 23:30:45 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1611
    "Modified: / 30-05-2012 / 19:30:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1612
! !
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  1613
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  1614
!JavaMethod methodsFor:'decompiling'!
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  1615
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1616
decompileSourceTo:aStream
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1617
    |argNames|
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1618
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1619
    byteCode isNil ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1620
        self isPublic ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1621
            aStream nextPutAll:'public '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1622
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1623
        self isProtected ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1624
            aStream nextPutAll:'protected '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1625
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1626
        self isPrivate ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1627
            aStream nextPutAll:'private '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1628
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1629
        self isStatic ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1630
            aStream nextPutAll:'static '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1631
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1632
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1633
        self isNative ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1634
            aStream nextPutAll:'native '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1635
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1636
        self isAbstract ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1637
            aStream nextPutAll:'abstract '.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1638
        ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1639
        argNames := #('arg1' 'arg2' 'arg3' 'arg4' 'arg5' 'arg6' 'arg7' 'arg8' 'arg9').
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1640
        aStream nextPutAll:(self signatureNameWithArgNames:argNames).
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1641
        aStream nextPutAll:';'; cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1642
        ^ self
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1643
    ].
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1644
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1645
    "
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1646
    JavaDeparser isNil ifTrue:[
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1647
        aStream nextPutAll:'// Sorry - no decompiler'.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1648
        ^ self
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1649
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1650
    "
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1651
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1652
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  1653
"/    self isNative ifFalse:[
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  1654
"/        self isAbstract ifFalse:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1655
            aStream nextPutAll:'// source not available...'; cr.
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1656
            SignalSet anySignal handle:[:ex |
2551
6b1262d7f5a0 class: JavaMethod
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
  1657
                ex creator == Object haltSignal ifTrue:[ex reject].
6b1262d7f5a0 class: JavaMethod
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
  1658
                ex creator == MessageTracer breakpointSignal ifTrue:[ex reject].
6b1262d7f5a0 class: JavaMethod
Claus Gittinger <cg@exept.de>
parents: 2396
diff changeset
  1659
                ex creator == Signal noHandlerSignal ifTrue:[ex reject].
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 504
diff changeset
  1660
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1661
                aStream nextPutAll:'error while decompiling:'.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1662
                aStream cr; cr; spaces:4.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1663
                aStream nextPutAll:ex errorString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1664
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1665
                aStream nextPutAll:ex suspendedContext printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1666
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1667
                aStream nextPutAll:ex suspendedContext sender printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1668
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1669
                aStream nextPutAll:ex suspendedContext sender sender printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1670
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1671
                aStream nextPutAll:ex suspendedContext sender sender sender printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1672
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1673
                aStream nextPutAll:ex suspendedContext sender sender sender sender printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1674
                aStream cr.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1675
                aStream nextPutAll:ex suspendedContext sender sender sender sender sender printString.
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1676
                aStream cr.
2095
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1677
                aStream nextPutAll:ex suspendedContext sender sender sender sender sender sender printString.
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1678
                aStream cr.
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1679
                aStream nextPutAll:ex suspendedContext sender sender sender sender sender sender sender printString.
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1680
                aStream cr.
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1681
                aStream nextPutAll:ex suspendedContext sender sender sender sender sender sender sender sender printString.
6773680aeb85 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2091
diff changeset
  1682
                aStream cr.
506
81d3ef12bdc9 *** empty log message ***
cg
parents: 504
diff changeset
  1683
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1684
                "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1685
                JavaByteCodeDisassembler isNil ifTrue:[
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1686
                    aStream nextPutAll:'// Sorry - no decompiler'
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1687
                ] ifFalse:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1688
                    JavaByteCodeDisassembler diassemble:self to:aStream.
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1689
                ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1690
                "
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1691
                ex return
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1692
            ] do:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1693
                "aStream nextPutAll:(JavaDeparser decompile:self)."
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1694
                JavaByteCodeDisassembler diassemble:self to:aStream.
637
d2e91e3e97c5 checkin from browser
cg
parents: 625
diff changeset
  1695
            ].
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  1696
"/        ].
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  1697
"/    ].
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  1698
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1699
    "Created: / 30-07-1997 / 16:28:09 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1700
    "Modified: / 21-12-1999 / 14:31:54 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1701
    "Modified: / 22-03-2011 / 21:34:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1702
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1703
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1704
decompiler
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1705
    ^ JavaDecompiler
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1706
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  1707
    "Created: 30.7.1997 / 16:36:48 / cg"
261
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1708
!
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1709
449
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1710
isMethod
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1711
    "return true, if the receiver is some kind of method;
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1712
     true returned here - the method is redefined from Object."
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1713
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1714
    ^ true
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1715
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1716
    "Created: / 13.11.1998 / 23:57:40 / cg"
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1717
!
c9910d4dd515 *** empty log message ***
cg
parents: 431
diff changeset
  1718
261
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1719
originalMethod
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1720
    ^ self
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1721
d95d5a3cc475 lots of new stuff
cg
parents: 257
diff changeset
  1722
    "Created: / 13.1.1998 / 15:03:05 / cg"
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  1723
! !
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  1724
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1725
!JavaMethod methodsFor:'error handling'!
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1726
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1727
errorInvalidClassRefAt: index
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1728
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1729
    "Sent by the VM when an invalid entry in contant pool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1730
     is encountered - for instance when the VM expects
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1731
     a classref but the entry is not a classref"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1732
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1733
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1734
    javaClass constantPool at: index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1735
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1736
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1737
    JavaInvalidRefError new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1738
        javaClass: javaClass;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1739
        index: index;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1740
        raiseRequest
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1741
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1742
    "Created: / 18-07-2011 / 23:33:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1743
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1744
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1745
errorInvalidFieldRefAt: index
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1746
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1747
    "Sent by the VM when an invalid entry in contant pool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1748
     is encountered - for instance when the VM expects
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1749
     a classref but the entry is not a classref"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1750
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1751
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1752
    javaClass constantPool at: index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1753
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1754
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1755
    JavaInvalidRefError new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1756
        javaClass: javaClass;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1757
        index: index;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1758
        raiseRequest
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1759
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1760
    "Created: / 18-07-2011 / 23:33:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1761
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1762
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1763
errorInvalidMethodRefAt: index
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1764
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1765
    "Sent by the VM when an invalid entry in contant pool
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1766
     is encountered - for instance when the VM expects
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1767
     a classref but the entry is not a classref"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1768
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1769
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1770
    javaClass constantPool at: index.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1771
    "
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1772
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1773
    JavaInvalidRefError new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1774
        javaClass: javaClass;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1775
        index: index;
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1776
        raiseRequest
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1777
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1778
    "Created: / 18-07-2011 / 19:59:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1779
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1780
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1781
invalidByteCode
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1782
    self isAbstract ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1783
        ^ AbstractMethodInvokationSignal raise.
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1784
    ].
3197
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  1785
    ((self class numArgsFromDescriptor:descriptor) > self class maxNumberOfArguments) ifTrue:[
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1786
        ^ self error:'method cannot be executed - too many args'
309
e1bfd26cadae *** empty log message ***
cg
parents: 277
diff changeset
  1787
    ].
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1788
    ^ super invalidByteCode
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1789
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1790
    "Created: / 27-01-1998 / 21:48:01 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1791
    "Modified: / 14-08-2011 / 19:29:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1792
!
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1793
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1794
invalidMethodRef
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1795
    self halt.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1796
    ^ nil.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1797
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1798
    "Modified: / 27.1.1998 / 21:50:19 / cg"
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  1799
    "Created: / 16.10.1998 / 11:27:21 / cg"
594
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
  1800
!
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
  1801
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
  1802
nullClassPointer
0d5fea9542d3 checkin from browser
cg
parents: 525
diff changeset
  1803
    JavaVM throwClassNotFoundException
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1804
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1805
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1806
wrongNumberOfArguments:numArgsGiven
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1807
    "{ Pragma: +optSpace }"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1808
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1809
    "this error is triggered by the VM, if a method is called with a wrong number
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1810
     of arguments.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1811
     This only applies to #valueWithReceiverXXX and #perform:withArguments: - sends.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1812
     With a normal send, this error cannot happen."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1813
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1814
    ^ JavaVM
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1815
        throwIllegalArgumentException:(' - %1 got %2 arg(s) where %3 expected'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1816
                        bindWith:self class name
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1817
                        with:numArgsGiven
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1818
                        with:self numArgs)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1819
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1820
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1821
     2 perform:#+
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1822
    "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1823
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1824
    "Modified: / 01-08-1997 / 00:23:10 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1825
    "Created: / 07-09-2011 / 14:17:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1826
! !
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1827
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1828
!JavaMethod methodsFor:'executing'!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1829
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1830
valueWithReceiver:anObject arguments:argArray selector:aSymbol search:aClass sender:virtualSender
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1831
    self isStatic ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1832
        anObject == javaClass ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1833
            self error: 'Invalid receiver - only owning class can be a receiver of static method invocation!!'
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1834
        ]
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1835
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1836
    ^super valueWithReceiver:anObject arguments:argArray selector:aSymbol search:aClass sender:virtualSender
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1837
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1838
    "Created: / 31-10-2012 / 23:09:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
277
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1839
! !
511c3bb153b7 jdk1.2 stuff.
cg
parents: 275
diff changeset
  1840
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1841
!JavaMethod methodsFor:'initialization'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1842
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1843
resolve
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1844
    "Called by VM to resolve all references used by this method. When
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1845
     successful (i.e., all references has been successfully resolved, a
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1846
     A_RESOLVED flag is set (to prevent VM from subsequent calls
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1847
     to this method)
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1848
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1849
     Returns 1 if successfull, 0 if not (at least one reference
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1850
     could not been resolved) or -1 when some (unspecified) erorr
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1851
     occurs."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1852
    "Marcel, continue here!! And ALWAYS commit ALL the code!! Sigh"
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1853
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1854
    [
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1855
	JavaByteCodePreresolver preresolve: self.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1856
	accessFlags := accessFlags | A_RESOLVED.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1857
        ^1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1858
    ] on: Error do:[:ex|
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1859
        self breakPoint: #mh.  "Marcel, please fix it"
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1860
        ^0.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1861
    ].
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1862
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1863
    "/RETURN 1...OK,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1864
    "/       0...Something could not be resolved
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1865
    "/      -1...Some error
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1866
    self breakPoint:#mh.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1867
    ^ 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1868
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1869
    "Created: / 09-02-2012 / 20:59:22 / mh <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1870
    "Modified: / 11-02-2012 / 13:46:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1871
    "Modified (format): / 23-02-2012 / 17:49:09 / Marcel Hlopko <hlopik@gmail.com>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1872
    "Modified: / 24-02-2012 / 14:46:10 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1873
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1874
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1875
setAccessFlags:flags
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1876
    accessFlags := flags.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1877
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1878
    "Created: 16.4.1996 / 11:34:14 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1879
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1880
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1881
setCode:codeBytes maxStack:max_stack maxLocals:max_locals u1:unknown1 u2:unknown2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1882
"/    javaByteCode := codeBytes.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1883
    byteCode := codeBytes.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1884
    "/ numStack := max_stack.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1885
    "/ numLocals := max_locals.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1886
    super numberOfVars:max_locals - self numArgs - (self isStatic ifTrue:[0] ifFalse:[1]).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1887
    super stackSize:max_stack.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1888
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1889
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1890
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1891
"/    self displayString printNL.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1892
"/    '   nStack: ' print. numStack print.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1893
"/    ' nLocal: ' print. numLocals print.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1894
"/    ' u1: ' print. unknown1 print.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1895
"/    ' u2: ' print. unknown2 printNL.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1896
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1897
    "Modified: / 01-08-1997 / 00:08:32 / cg"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1898
    "Modified: / 12-10-2012 / 11:46:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1899
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1900
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1901
setDescriptor:aString
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1902
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1903
    descriptor := aString asSymbol.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1904
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1905
    "Created: / 16-04-1996 / 11:34:29 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1906
    "Modified: / 16-10-1998 / 00:17:12 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1907
    "Modified: / 13-08-2011 / 01:21:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1908
    "Created: / 14-08-2011 / 19:41:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1909
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1910
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1911
setJavaClass:aJavaClass
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1912
    javaClass := aJavaClass
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1913
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1914
    "Modified: 16.4.1996 / 12:36:27 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1915
    "Created: 16.4.1996 / 15:28:15 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1916
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1917
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1918
setLineNumberTable:anArrayOfPCtoLineAssociations
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1919
    "since this uses up lots of memory, compress it"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1920
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1921
    |allBytes allWords idx|
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1922
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1923
    allBytes := allWords := true.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1924
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1925
    anArrayOfPCtoLineAssociations do:[:assoc |
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1926
        assoc key > 255 ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1927
            allBytes := false.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1928
            assoc key > 16rFFFF ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1929
                allWords := false.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1930
            ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1931
        ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1932
        assoc value > 255 ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1933
            allBytes := false.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1934
            assoc value > 16rFFFF ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1935
                allWords := false
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1936
            ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1937
        ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1938
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1939
    allBytes ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1940
        lineNumberTable := ByteArray new:(anArrayOfPCtoLineAssociations size * 2).
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1941
    ] ifFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1942
        allWords ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1943
            lineNumberTable := WordArray new:(anArrayOfPCtoLineAssociations size * 2).
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1944
        ] ifFalse:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1945
            lineNumberTable := Array new:(anArrayOfPCtoLineAssociations size * 2).
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1946
        ]
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1947
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1948
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1949
    idx := 1.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1950
    anArrayOfPCtoLineAssociations do:[:assoc |
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1951
        lineNumberTable at:idx   put:assoc key.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1952
        lineNumberTable at:idx+1 put:assoc value.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  1953
        idx := idx + 2.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1954
    ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1955
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1956
    "Created: 16.4.1996 / 12:34:04 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1957
    "Modified: 16.4.1996 / 12:49:06 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1958
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1959
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1960
setLocalVariableTable:anArray
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1961
     localVariableTable := anArray.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1962
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1963
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1964
setName:name descriptor:desc
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1965
    | numArgs numJArgs returnTypeSignatureChar returnTypeIsPrimitiveArray |
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1966
2791
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2790
diff changeset
  1967
    "/ Force Symbol creation so Smalltalk syntax highlighter will not
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2790
diff changeset
  1968
    "/ mark them as unknown message (it detects this solely by existence
6a57107d168a Improvement in interop/java extensions.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2790
diff changeset
  1969
    "/ of the symbol.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1970
    name asSymbol.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1971
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1972
    selector := (name , desc) asSymbol.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1973
    self setDescriptor:desc.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1974
3197
d44f099dcff0 Classr reading optimization [3/4]: Optimize JavaMethod class>>numArgsFromDescriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3196
diff changeset
  1975
    numJArgs := self class numArgsFromDescriptor:desc.
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1976
    (numJArgs > self class maxNumberOfArguments) ifTrue:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1977
        numArgs := 1.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1978
    ] ifFalse:[
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1979
        numArgs := numJArgs.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1980
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1981
    self numberOfArgs:numArgs.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  1982
    self numberOfJavaArgs:numJArgs.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1983
    returnTypeSignatureChar := descriptor last.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1984
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1985
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1986
     "/ for the convenience of the VM, also mirror the return type in
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1987
     "/ the flags ...
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  1988
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1989
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1990
    returnTypeSignatureChar == $V ifTrue:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1991
            accessFlags := accessFlags bitOr:ACX_R_VOID
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1992
    ] ifFalse:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1993
        returnTypeIsPrimitiveArray := (descriptor at: (descriptor size - 1)) == $[.
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1994
        returnTypeIsPrimitiveArray ifFalse:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1995
            returnTypeSignatureChar == $J ifTrue:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1996
                accessFlags := accessFlags bitOr:ACX_R_LONG
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1997
            ] ifFalse:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1998
               returnTypeSignatureChar == $D ifTrue:[
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  1999
                  accessFlags := accessFlags bitOr:ACX_R_DOUBLE
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2000
               ].
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2001
            ].
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2002
        ].
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2003
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2004
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2005
    "Created: / 14-08-2011 / 19:41:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2006
    "Modified: / 21-05-2014 / 20:47:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2007
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2008
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2009
setSignature:aString
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2010
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2011
    signature := aString asSymbol.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2012
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2013
    "Created: / 16-04-1996 / 11:34:29 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2014
    "Modified: / 16-10-1998 / 00:17:12 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2015
    "Modified (format): / 14-08-2011 / 19:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2016
!
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2017
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2018
setSource:aJavaMethodSourceRef
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  2019
    self assert: aJavaMethodSourceRef class == JavaSourceRef.
2716
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2020
    source := aJavaMethodSourceRef
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2021
1cca77810e04 Initial support for source file partitioning using eclipse parser.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2708
diff changeset
  2022
    "Created: / 07-09-2013 / 01:44:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  2023
    "Modified: / 13-09-2013 / 02:19:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2024
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2025
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2026
!JavaMethod methodsFor:'inspecting'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2027
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2028
inspectorExtraAttributes
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2029
    "extra (pseudo instvar) entries to be shown in an inspector."
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2030
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2031
    ^ Dictionary new
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2032
        declareAllNewFrom:(super inspectorExtraAttributes ? #());
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2033
        "/add:'-code' -> [ String streamContents:[:s | JavaDecompiler decompile: self to: s] ];
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2034
        add:'-code' -> [ String streamContents:[:s | JavaByteCodeDisassembler diassemble: self to: s] ];
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2035
        "/add:'-source' -> [ self source ];
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2036
        yourself
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2037
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2038
    "Modified: / 22-03-2011 / 21:13:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2039
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2040
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2041
!JavaMethod methodsFor:'interpretation'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2042
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2043
interpretWithReceiver: receiver
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2044
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2045
    ^self
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2046
        interpretWithReceiver: receiver
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2047
        arguments: #()
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2048
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2049
    "Created: / 24-02-2011 / 22:05:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2050
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2051
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2052
interpretWithReceiver: receiver arg: a1
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2053
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2054
    ^self
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2055
        interpretWithReceiver: receiver
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2056
        arguments: (Array with: a1)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2057
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2058
    "Created: / 24-02-2011 / 22:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2059
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2060
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2061
interpretWithReceiver: receiver arg: a1 arg: a2
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2062
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2063
    ^self
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2064
        interpretWithReceiver: receiver
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2065
        arguments: (Array with: a1 with: a2)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2066
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2067
    "Created: / 24-02-2011 / 22:05:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2068
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2069
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2070
interpretWithReceiver: receiver arg: a1 arg: a2 arg: a3
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2071
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2072
    ^self
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2073
        interpretWithReceiver: receiver
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2074
        arguments: (Array with: a1 with: a2 with: a3)
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2075
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2076
    "Created: / 24-02-2011 / 22:06:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2870
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2077
!
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2078
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2079
interpretWithReceiver:aReceiver arguments:argVector
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2080
    "invoked by VM for non-Smalltalk-methods (MetaMethods)"
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2081
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2082
    ^ JavaByteCodeInterpreter interpret: self receiver: aReceiver arguments: argVector
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2083
b8187695c8cd Added JavaMethod>>#interpretWithReceiver:arguments:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2864
diff changeset
  2084
    "Created: / 17-10-2013 / 01:56:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2085
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2086
118
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2087
!JavaMethod methodsFor:'methodref interchangability'!
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2088
673
5afd5a1e3b15 *** empty log message ***
cg
parents: 670
diff changeset
  2089
homeMethod
5afd5a1e3b15 *** empty log message ***
cg
parents: 670
diff changeset
  2090
    ^ self
5afd5a1e3b15 *** empty log message ***
cg
parents: 670
diff changeset
  2091
!
5afd5a1e3b15 *** empty log message ***
cg
parents: 670
diff changeset
  2092
118
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2093
method
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2094
    ^ self
692
2d757af88e5b comment
cg
parents: 685
diff changeset
  2095
!
2d757af88e5b comment
cg
parents: 685
diff changeset
  2096
2d757af88e5b comment
cg
parents: 685
diff changeset
  2097
setPackage:newPackage
2d757af88e5b comment
cg
parents: 685
diff changeset
  2098
    newPackage ~= javaClass package ifTrue:[
2d757af88e5b comment
cg
parents: 685
diff changeset
  2099
        self halt:'java method cannot be in a package different from its class'.
2d757af88e5b comment
cg
parents: 685
diff changeset
  2100
    ]
118
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2101
! !
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2102
148
db560ebab8b5 *** empty log message ***
cg
parents: 143
diff changeset
  2103
!JavaMethod methodsFor:'misc'!
db560ebab8b5 *** empty log message ***
cg
parents: 143
diff changeset
  2104
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2105
fromMethod:aJavaMethod
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2106
    "copy values from another javaMethod"
149
d6fe26e9af47 *** empty log message ***
cg
parents: 148
diff changeset
  2107
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2108
    flags := aJavaMethod flags.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2109
    byteCode := aJavaMethod byteCode.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2110
    accessFlags := aJavaMethod accessFlags.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2111
    selector := aJavaMethod selector.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2112
    javaClass := aJavaMethod javaClass.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2113
    descriptor := aJavaMethod instVarNamed:#descriptor.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2114
    signature := aJavaMethod instVarNamed:#signature.
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2115
    lineNumberTable := aJavaMethod lineNumberTable.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2116
    localVariableTable := aJavaMethod localVariableTable.
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2117
    annotations := aJavaMethod annotations.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2118
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2119
    "Modified: / 16-10-1998 / 01:27:19 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2120
    "Modified: / 14-08-2011 / 19:30:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2121
!
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2122
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2123
updateClassRefsFrom:oldClass to:newClass
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2124
    javaClass == oldClass ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2125
        "/ invalidate
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2126
        byteCode := nil.
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2127
    ]
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2128
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2129
    "Created: / 6.1.1998 / 18:19:48 / cg"
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2130
! !
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2131
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2132
!JavaMethod methodsFor:'printing & storing'!
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2133
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  2134
displayString
168
90e39cb3fa04 *** empty log message ***
cg
parents: 166
diff changeset
  2135
    javaClass isNil ifTrue:[
611
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2136
        ^ self class name , '(???)'
168
90e39cb3fa04 *** empty log message ***
cg
parents: 166
diff changeset
  2137
    ].
611
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2138
    ^ self class name , '(' , javaClass displayString , '::' , self signatureName , ')'
423
08af061c56a8 javaClass now uses its fullName in name
cg
parents: 412
diff changeset
  2139
611
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2140
    "Modified: / 25.9.1999 / 23:04:01 / cg"
29
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  2141
!
eb3367f8fb9b checkin from browser
cg
parents: 27
diff changeset
  2142
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2143
printOn: aStream
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2144
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2145
    super printOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2146
    aStream nextPut: $(.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2147
    javaClass name printOn: aStream.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2148
    aStream nextPut: $..
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2149
    selector printOn: aStream.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2150
    aStream nextPut: $).
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2151
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2152
    "Created: / 05-12-2011 / 01:30:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2153
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2154
2864
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2155
printStringForBrowserWithSelector:dummySelector
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2156
"/    self isStatic ifTrue:[
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2157
"/        ^ 'static ' , self signatureName
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2158
"/    ].
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2159
"/    self isBreakpointed ifTrue:[
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2160
"/        ^ (LabelAndIcon '!! ' , self signatureName
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2161
"/    ].
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2162
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2163
    self name = #'<clinit>' ifTrue:[
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2164
        ^ 'static {}'
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2165
    ].
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2166
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2167
    ^ self name = #'<init>' ifTrue:[
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2168
        self class specTextFromSignature:descriptor in:javaClass package withName:(javaClass lastName) isConstructor: true
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2169
    ] ifFalse:[
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2170
        self class specTextFromSignature:descriptor in:javaClass package withName:(self name) isConstructor: false
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2171
    ]
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2172
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2173
    "Created: / 16-10-2013 / 00:52:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2174
!
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2175
670
92f120745381 printStringForBrowser
cg
parents: 654
diff changeset
  2176
printStringForBrowserWithSelector:dummySelector inClass:dummyClass
43
2c4ca2eb8d07 checkin from browser
cg
parents: 31
diff changeset
  2177
"/    self isStatic ifTrue:[
2c4ca2eb8d07 checkin from browser
cg
parents: 31
diff changeset
  2178
"/        ^ 'static ' , self signatureName
2c4ca2eb8d07 checkin from browser
cg
parents: 31
diff changeset
  2179
"/    ].
168
90e39cb3fa04 *** empty log message ***
cg
parents: 166
diff changeset
  2180
"/    self isBreakpointed ifTrue:[
90e39cb3fa04 *** empty log message ***
cg
parents: 166
diff changeset
  2181
"/        ^ (LabelAndIcon '!! ' , self signatureName
90e39cb3fa04 *** empty log message ***
cg
parents: 166
diff changeset
  2182
"/    ].
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2183
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2184
    self name = #'<clinit>' ifTrue:[
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2185
        ^ 'static {}'
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2186
    ].
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2187
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2188
    ^ self name = #'<init>' ifTrue:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2189
        self class specTextFromSignature:descriptor in:javaClass package withName:(javaClass lastName) isConstructor: true
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2190
    ] ifFalse:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2191
        self class specTextFromSignature:descriptor in:javaClass package withName:(self name) isConstructor: false
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2192
    ]
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2193
2864
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2194
    "Created: / 16-10-2013 / 00:55:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2195
!
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2196
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2197
selectorPrintStringInBrowserFor:dummySelector
2864
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2198
    ^ self selectorPrintStringInBrowserFor:dummySelector class: javaClass
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2199
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2200
    "Created: / 16-10-2013 / 01:02:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2201
!
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2202
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2203
selectorPrintStringInBrowserFor:dummySelector class: dummyClass
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2204
    ^ self printStringForBrowserWithSelector:dummySelector inClass:dummyClass
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2205
50b4916dd8d2 Fixes for Java method tracing/counting.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2814
diff changeset
  2206
    "Created: / 16-10-2013 / 01:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  2207
!
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  2208
118
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2209
shortDisplayString
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2210
    ^ javaClass name , '::' , self signatureNameWithoutReturnType
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2211
!
c1f888534eed fixed numVar/numLocal & numStacl stuff
cg
parents: 116
diff changeset
  2212
10
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  2213
signatureName
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  2214
    "return a string to be used when browsing"
1f803ce6d3fc better signature code
cg
parents: 8
diff changeset
  2215
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2216
    ^ self class specFromSignature:descriptor withName:(self name) in:nil
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2217
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2218
    "Modified: / 8.1.1998 / 19:15:33 / cg"
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2219
!
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2220
164
724c443e6f79 *** empty log message ***
cg
parents: 156
diff changeset
  2221
signatureNameFor:name withArgsIn:aPackage
724c443e6f79 *** empty log message ***
cg
parents: 156
diff changeset
  2222
    "return a string to be used when decompiling"
724c443e6f79 *** empty log message ***
cg
parents: 156
diff changeset
  2223
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2224
    ^ name = '<init>' ifTrue:[
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2225
        self class specWithArgsFromSignature:descriptor withName: javaClass lastName in:aPackage isConstructor: true.
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2226
    ] ifFalse:[
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2227
        self class specWithArgsFromSignature:descriptor withName:(self name) in:aPackage isConstructor: false.
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2228
    ]
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2229
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2230
    "Created: / 25-03-1997 / 18:49:45 / cg"
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2231
    "Modified: / 04-10-2013 / 12:33:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
164
724c443e6f79 *** empty log message ***
cg
parents: 156
diff changeset
  2232
!
724c443e6f79 *** empty log message ***
cg
parents: 156
diff changeset
  2233
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2234
signatureNameIn:aPackage
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2235
    "return a string to be used when browsing"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2236
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2237
    ^ self class specFromSignature:descriptor withName:(self name) in:aPackage
142
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2238
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2239
    "Created: 18.3.1997 / 11:11:01 / cg"
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2240
!
1cc00567fb75 *** empty log message ***
cg
parents: 141
diff changeset
  2241
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2242
signatureNameText
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2243
    "return a text to be used when browsing"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2244
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2245
    ^ self class specTextFromSignature:descriptor withName:(self name)
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2246
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2247
    "Created: 30.7.1997 / 14:40:29 / cg"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2248
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2249
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2250
signatureNameTextFor:name withArgsIn:aPackage
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2251
    "return a text to be used when decompiling"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2252
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2253
    ^ self class specTextWithArgsFromSignature:descriptor withName:name in:aPackage
189
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2254
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2255
    "Created: 25.3.1997 / 18:49:45 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2256
    "Modified: 1.8.1997 / 10:44:28 / cg"
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2257
!
babfb18fc67b signature parsing
cg
parents: 184
diff changeset
  2258
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2259
signatureNameWithArgNames:argNames
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2260
    "return a string to be used when browsing"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2261
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2262
    |myName|
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2263
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2264
    myName := self name.
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2265
    myName = '<init>' ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2266
        myName := javaClass name
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2267
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2268
    ^ self class specFromSignature:descriptor withName:myName argNames:argNames in:nil
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2269
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2270
    "Created: / 8.1.1998 / 21:04:03 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2271
    "Modified: / 8.1.1998 / 21:22:38 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2272
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2273
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2274
signatureNameWithArgNames:argNames in:package
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2275
    "return a string to be used when browsing"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2276
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2277
    |myName|
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2278
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2279
    myName := self name.
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2280
    myName = '<init>' ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2281
        myName := javaClass name
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2282
    ].
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2283
    ^ self class specFromSignature:descriptor withName:myName argNames:argNames in:package
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2284
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2285
    "Modified: / 8.1.1998 / 21:05:52 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2286
    "Created: / 8.1.1998 / 21:23:03 / cg"
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2287
!
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2288
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2289
signatureNameWithArgsIn:aPackage
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2290
    "return a string to be used when browsing"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2291
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2292
    ^ self signatureNameFor: self name withArgsIn: aPackage
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2293
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2294
    "Created: / 20-03-1997 / 12:44:17 / cg"
2790
b530c3f48cd3 Changed display string for Java methods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2732
diff changeset
  2295
    "Modified: / 04-10-2013 / 12:34:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2296
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2297
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2298
signatureNameWithModifiers
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2299
    "return a string to be used when deassembling"
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2300
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2301
    | result |
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2302
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2303
    result := self signatureName.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2304
    self isFinal ifTrue: [ result := 'final ' , result ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2305
    self isStatic ifTrue: [ result := 'static ' , result ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2306
    self isSynchronized ifTrue: [ result := 'synchronized ' , result ].
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2307
    self isPrivate
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2308
        ifTrue: [ result := 'private ' , result ]
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2309
        ifFalse:
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2310
            [ self isProtected
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2311
                ifTrue: [ result := 'protected ' , result ]
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2312
                ifFalse: [ self isPublic ifTrue: [ result := 'public ' , result ] ] ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2313
    self isAbstract ifTrue: [ result := 'abstract ' , result ].
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2314
    ^ result.
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2315
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2316
    "Modified: / 08-01-1998 / 19:15:33 / cg"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2317
    "Created: / 22-03-2011 / 16:25:27 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2318
!
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2319
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2320
signatureNameWithoutReturnType
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2321
    "return a string to be used when browsing"
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2322
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2323
    ^ self class argSpecFromSignature:descriptor withName:(self name)
113
481bf55e161e *** empty log message ***
cg
parents: 111
diff changeset
  2324
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2325
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2326
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2327
whoString
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2328
    ^ javaClass name , '>>' , (self printStringForBrowserWithSelector:nil inClass:nil)
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2329
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2330
    "Created: / 13-06-2013 / 08:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2331
! !
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2332
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2333
!JavaMethod methodsFor:'queries'!
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2334
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2335
canBeUpdatedFrom: anotherMethod
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2336
    "Return if receiver can be updated from given method, i.e., if it is safe
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2337
     to just to take anotherMethod's bytecode. Used to implement fix & restart
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2338
     workflow"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2339
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2340
    "/ Allready jitted method cannot be updated - no way to restart existing context into
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2341
    "/ new code
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2342
    self code notNil ifTrue:[ ^ false ].
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2343
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2344
    "/ Args and their types must match
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2345
    selector ~~ anotherMethod selector ifTrue: [ ^ false ].
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2346
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2347
    "/ max stack depth must be smaller or equal of the current
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2348
    (self numVars + self stackSize) < (anotherMethod numVars + anotherMethod stackSize) ifTrue:[ ^ false ].
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2349
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2350
    ^true
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2351
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2352
    "Created: / 18-04-2013 / 23:43:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2353
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2354
111
23243f9273fa *** empty log message ***
cg
parents: 102
diff changeset
  2355
handlerFor:anException at:pc
611
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2356
    "return an exceptionHandlers pc, for an exception of the given type,
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2357
     occurring at pc. Returns nil, if there is none."
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2358
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2359
    |handlerTable|
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2360
490fbaed2257 faster nativeMethod invocation
cg
parents: 609
diff changeset
  2361
    (handlerTable := self exceptionHandlerTable) isNil ifTrue:[^ nil].
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2362
    ^handlerTable handlerPCFor:anException at:pc in:self.
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2363
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2364
    "Created: / 16-10-1998 / 01:18:40 / cg"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2365
    "Modified: / 25-09-1999 / 23:07:01 / cg"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2366
    "Modified: / 06-05-2013 / 21:49:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2367
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2368
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2369
hasFinally
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2370
    ^ (accessFlags bitAnd:A_HASFINALLY) ~~ 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2371
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2372
    "Created: / 28-03-2012 / 20:35:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2373
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2374
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2375
hasFinallyBasedOnExceptionTable
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2376
    "Returns true if the exeption table has at least one
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2377
     entry for finally block"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2378
    ^false
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2379
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2380
    "Created: / 28-03-2012 / 23:18:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2381
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2382
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2383
hasHandler
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2384
    ^ (accessFlags bitAnd:A_HASHANDLER) ~~ 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2385
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2386
    "Created: / 28-03-2012 / 20:35:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2387
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2388
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2389
hasPrimitiveCode
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2390
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2391
    ^false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2392
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2393
    "Created: / 18-07-2011 / 20:45:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2394
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2395
127
96f1bf74011f *** empty log message ***
cg
parents: 123
diff changeset
  2396
hasResource
96f1bf74011f *** empty log message ***
cg
parents: 123
diff changeset
  2397
    ^ false
96f1bf74011f *** empty log message ***
cg
parents: 123
diff changeset
  2398
!
96f1bf74011f *** empty log message ***
cg
parents: 123
diff changeset
  2399
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2400
isAbstract
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2401
    ^ (accessFlags bitAnd:A_ABSTRACT) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2402
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2403
80
f08d2cab0b55 *** empty log message ***
cg
parents: 75
diff changeset
  2404
isBreakpointed
256
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2405
    ^ (accessFlags bitAnd:A_BREAKPOINT) ~~ 0
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2406
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2407
    "Modified: / 11.1.1998 / 13:28:43 / cg"
80
f08d2cab0b55 *** empty log message ***
cg
parents: 75
diff changeset
  2408
!
f08d2cab0b55 *** empty log message ***
cg
parents: 75
diff changeset
  2409
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2410
isFinal
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2411
    ^ (accessFlags bitAnd:A_FINAL) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2412
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2413
175
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2414
isIgnored
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2415
    "not really a java attribute;
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2416
     added to allow browsing"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2417
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2418
    ^ false.
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2419
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2420
    "Created: 30.7.1997 / 15:34:33 / cg"
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2421
!
68da52e100ab *** empty log message ***
cg
parents: 174
diff changeset
  2422
625
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2423
isJavaClassRef
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2424
    ^ false
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2425
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2426
    "Created: / 9.11.1999 / 17:16:20 / cg"
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2427
!
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2428
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2429
isJavaConstructor
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2430
    ^((selector first) == $<) and:[selector startsWith:'<init>(']
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2431
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2432
    "Created: / 01-08-2012 / 00:21:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2433
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2434
431
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2435
isJavaMethod
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2436
    ^ true
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2437
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2438
    "Created: / 10.11.1998 / 18:24:51 / cg"
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2439
!
fe362bcc1aeb checkin from browser
cg
parents: 428
diff changeset
  2440
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2441
isJavaStaticInitializer
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2442
    ^((selector first) == $<) and:[selector startsWith:'<clinit>(']
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2443
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2444
    "Created: / 19-09-2012 / 16:26:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2445
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2446
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2447
isNative
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2448
    ^ (accessFlags bitAnd:A_NATIVE) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2449
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2450
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2451
isPackagePrivate
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2452
    ^ (accessFlags bitAnd:A_PRIVATE | A_PUBLIC | A_PROTECTED) = 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2453
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2454
    "Created: / 05-07-2012 / 10:12:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2455
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2456
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2457
isPrivate
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2458
    ^ (accessFlags bitAnd:A_PRIVATE) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2459
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2460
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2461
isProtected
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2462
    ^ (accessFlags bitAnd:A_PROTECTED) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2463
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2464
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2465
isPublic
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2466
    ^ (accessFlags bitAnd:A_PUBLIC) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2467
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2468
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2469
isResolved
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2470
    "Return true, if the receiver is fully resolved, i.e.,
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2471
     if all references used by the method are resolved"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2472
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2473
    ^ (accessFlags bitAnd:A_RESOLVED) ~~ 0
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2474
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2475
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2476
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2477
isStatic
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2478
    ^ (accessFlags bitAnd:A_STATIC) ~~ 0
19
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2479
!
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2480
512a19e2d46f checkin from browser
cg
parents: 18
diff changeset
  2481
isSynchronized
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2482
    ^ (accessFlags bitAnd:A_SYNCHRONIZED) ~~ 0
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2483
!
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2484
256
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2485
isTraced
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2486
    ^ false
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2487
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2488
    "Modified: / 11.1.1998 / 13:28:43 / cg"
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2489
    "Created: / 11.1.1998 / 13:38:11 / cg"
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2490
!
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2491
8
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2492
isUnloaded
4df3a66460a3 can now read (undoc) 3.45 format
cg
parents: 5
diff changeset
  2493
    ^ false
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2494
!
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2495
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2496
isUnresolved
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2497
    "return true, if the receiver is unresolved;"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2498
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2499
    ^ self isResolved not
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2500
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2501
    "Created: / 06-03-2011 / 22:57:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2502
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2503
256
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2504
isWrapped
2902
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  2505
    ^ super isWrapped
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  2506
"/    ^ self isBreakpointed
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  2507
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  2508
    "Created: / 11-01-1998 / 13:38:04 / cg"
b7070e447ed0 Fixes for displaying local variables in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2888
diff changeset
  2509
    "Modified: / 05-11-2013 / 16:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
256
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2510
!
2cbf20ad74b2 checkin from browser
cg
parents: 255
diff changeset
  2511
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2512
lineNumberForPC0: pc
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2513
    | last |
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2514
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2515
    lineNumberTable notNil ifTrue: [
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2516
        lineNumberTable
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2517
            pairWiseDo: [:lPc :lNr |
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2518
                lPc >= pc ifTrue: [
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2519
                    lPc == pc ifTrue: [
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2520
                        ^ lNr
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2521
                    ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2522
                    last isNil ifTrue: [
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2523
                        ^ lNr
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2524
                    ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2525
                    ^ last.
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2526
                ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2527
                last := lNr.
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2528
            ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2529
        last notNil ifTrue: [
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2530
            ^ last
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2531
        ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2532
        ^ lineNumberTable at: 2
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2533
    ].
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2534
    ^ nil
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2535
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2536
    "Modified: / 14.1.1998 / 13:30:54 / cg"
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2537
    "Created: / 10.11.1998 / 14:18:22 / cg"
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2538
!
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2539
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2540
lineNumberForPC:pc
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2541
    |num text|
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2542
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2543
    num := nil.
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2544
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2545
    ForceByteCodeDisplay ifFalse:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2546
        | line0 |
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2547
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2548
        line0 := self lineNumberForPC0: pc.
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2549
        ShowFullSource ifFalse:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2550
            source isNil ifTrue:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2551
                "/ Fetch the source ref...
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  2552
                self sourceDocument sourceTreeOrNilIfParsing.
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2553
                source isNil ifTrue:[
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2554
                    ^ line0 - self firstInstructionLineNumber - 2.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2555
                ].
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2556
            ].
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2557
            ^ line0 - source line0 + 1.
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2558
        ].
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2559
        ^ line0
46
db9b84631d43 checkin from browser
cg
parents: 43
diff changeset
  2560
    ].
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2561
46
db9b84631d43 checkin from browser
cg
parents: 43
diff changeset
  2562
    "/ decompile and look which line the pc falls into
209
9e4b45da1117 checkin from browser
cg
parents: 207
diff changeset
  2563
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2564
    ForceByteCodeDisplay ifTrue:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2565
        text := self decompiledBytecode asCollectionOfLines.
209
9e4b45da1117 checkin from browser
cg
parents: 207
diff changeset
  2566
    ] ifFalse:[
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2567
        text := self decompiledSource asCollectionOfLines.
209
9e4b45da1117 checkin from browser
cg
parents: 207
diff changeset
  2568
    ].
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2569
46
db9b84631d43 checkin from browser
cg
parents: 43
diff changeset
  2570
    text keysAndValuesDo:[:lineNr :line |
2158
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2571
        |nr|
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2572
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2573
        (line startsWith:'    ') ifFalse:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2574
            nr := Integer readFrom:line onError:0.
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2575
            nr >= pc ifTrue:[
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2576
                ^ lineNr
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2577
            ]
cf16fc148fb8 added: #originalMethodIfWrapped
Claus Gittinger <cg@exept.de>
parents: 2151
diff changeset
  2578
        ]
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2579
    ].
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2580
    ^ num
141
0baa4706b898 checkin from browser
cg
parents: 135
diff changeset
  2581
2726
6971720de5a4 More support for method's source only.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2725
diff changeset
  2582
    "Modified: / 14-01-1998 / 13:30:54 / cg"
2729
ac412f6ea6d4 More support for method's source display. Not yet working.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2726
diff changeset
  2583
    "Modified: / 13-09-2013 / 02:11:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
31
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2584
!
644123641e2c java exceptions (java handlers not yet implemented)
cg
parents: 29
diff changeset
  2585
2087
2e1a2d10b891 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2086
diff changeset
  2586
messagesSent
2e1a2d10b891 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2086
diff changeset
  2587
    "return a collection of messages sent by this method"
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2588
    ^ self analyzer messagesSent
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2589
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2590
    "Modified: / 31-08-2013 / 10:43:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2087
2e1a2d10b891 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2086
diff changeset
  2591
!
2e1a2d10b891 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2086
diff changeset
  2592
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2593
overrides: anotherMethod
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2594
    "Returns true, if the receiver overwrites anotherMethod.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2595
     This method implements algorithm described in JVM spec, sec. 5.4.2.1"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2596
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2597
    anotherMethod isJavaMethod ifFalse:[
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2598
        "It is questionable what to return here. Best seems to be
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2599
         do following: if anotherMethod belongs to one of my superclasses
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2600
         (either JavaObject or Object in current impl), then return true,
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2601
         false otherwise"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2602
        ^javaClass inheritsFrom: anotherMethod mclass.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2603
    ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2604
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2605
    "An instance method m1 (self) declared in class C overrides another instance method m2
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2606
     (anotherMethod) declared in class A iff all of the following are true:"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2607
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2608
    " - m2 has the same name and descriptor as m1. "
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2609
    selector == anotherMethod selector ifFalse:[ ^ false ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2610
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2611
    " - C is a subclass of A."
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2612
    (javaClass isSubclassOf: anotherMethod javaClass) ifFalse:[ ^ false ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2613
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2614
    "- either:
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2615
      - m2 is marked ACC_PUBLIC; or is marked ACC_PROTECTED; or is marked nei-
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2616
        ther ACC_PUBLIC nor ACC_PROTECTED nor ACC_PRIVATE and belongs to the
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2617
        same runtime package as C, or"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2618
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2619
    (anotherMethod isPublic or:[anotherMethod isProtected]) ifTrue:[ ^ true ].
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2620
    (anotherMethod isPackagePrivate
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2621
        and:[javaClass package == anotherMethod javaClass package])
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2622
            ifTrue:[ ^ true ].
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2623
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2624
    ^false.
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2625
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2626
    "Created: / 05-07-2012 / 11:04:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2627
!
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2628
156
fee47d32724d *** empty log message ***
cg
parents: 155
diff changeset
  2629
package
685
1ea755ac6ac6 *** empty log message ***
cg
parents: 678
diff changeset
  2630
    "in java, class extensions are not possible;
1ea755ac6ac6 *** empty log message ***
cg
parents: 678
diff changeset
  2631
     all methods MUST be in their classes package"
156
fee47d32724d *** empty log message ***
cg
parents: 155
diff changeset
  2632
685
1ea755ac6ac6 *** empty log message ***
cg
parents: 678
diff changeset
  2633
    ^ javaClass package
156
fee47d32724d *** empty log message ***
cg
parents: 155
diff changeset
  2634
!
fee47d32724d *** empty log message ***
cg
parents: 155
diff changeset
  2635
625
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2636
referencesGlobal:aGlobalName
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2637
    "return true, if this method refers to a global named aGlobalName"
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2638
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2639
    |walker any|
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2640
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2641
    "/ quick check, if constantPool includes a methodRef for this
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2642
    "/ selector.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2643
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2644
    any := false.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2645
    self javaClass constantPool do:[:const |
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2646
        (const isNumber
625
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2647
        or:[const isString
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2648
        or:[const isNil]]) ifFalse:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2649
            const isJavaClass ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2650
                any := any or:[const fullName = aGlobalName].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2651
            ] ifFalse:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2652
                const isJavaClassRef ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2653
                    any := any or:[const fullName = aGlobalName].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2654
                ]
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2655
            ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2656
        ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2657
    ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2658
    any ifFalse:[^ false].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2659
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2660
    "/ sigh - must extract all accessed literals ...
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2661
    "/ must deparse the byteCode in order to do this.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2662
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2663
    walker := JavaByteCodeEnumerator new.
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2664
    walker
625
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2665
        literalAction:
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2666
            [:pc :slotIndex :const |
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2667
                |mSel|
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2668
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2669
                (const isNumber
625
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2670
                or:[const isString
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2671
                or:[const isNil]]) ifFalse:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2672
                    const isJavaClass ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2673
                        mSel := const fullName.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2674
                    ] ifFalse:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2675
                        const isJavaClassRef ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2676
                            mSel := const fullName.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2677
                        ]
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2678
                    ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2679
                ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2680
                mSel notNil ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2681
                    "/ Transcript showCR:mSel.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2682
                    mSel = aGlobalName ifTrue:[
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2683
                        ^ true
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2684
                    ]
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2685
                ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2686
            ].
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2687
    walker decompile:self to:nil.
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2688
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2689
    "Created: / 9.11.1999 / 17:15:46 / cg"
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2690
    "Modified: / 9.11.1999 / 17:18:02 / cg"
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2691
!
b0d1764545b5 checkin from browser
cg
parents: 618
diff changeset
  2692
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2693
sends:aSelectorSymbol
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2694
    "return true, if this method contains a message-send
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2695
     with aSelectorSymbol as selector."
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2696
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2697
     ^ self analyzer sends: aSelectorSymbol
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2698
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2699
    "Created: / 09-11-1999 / 15:38:14 / cg"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2700
    "Modified: / 09-11-1999 / 17:06:03 / cg"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2701
    "Modified: / 31-08-2013 / 11:37:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
618
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2702
!
1ef28aa96092 added #sends: query
cg
parents: 611
diff changeset
  2703
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2704
shouldBeSkippedInDebuggersWalkBack
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2705
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2706
    ^false
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2707
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2708
    "Created: / 30-11-2010 / 15:35:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2709
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2710
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2711
who
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2712
    "return the class and selector of where I am defined in."
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2713
64
2e4b425dc40c changes for new methodDict
cg
parents: 55
diff changeset
  2714
    |sel|
18
6c07dc4b1118 checkin from browser
cg
parents: 10
diff changeset
  2715
252
04b330744577 new javaVM stuff & back to pre-stefans changes
cg
parents: 238
diff changeset
  2716
    javaClass isNil ifTrue:[^ nil].
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2717
    sel := selector.
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2718
    "/ sel := javaClass methodDictionary keyAtValue:self ifAbsent:nil.
64
2e4b425dc40c changes for new methodDict
cg
parents: 55
diff changeset
  2719
    sel isNil ifTrue:[^ nil].
129
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
  2720
    ^ Method::MethodWhoInfo class:javaClass selector:sel.
378
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2721
a4701f1e93ba splitted - JavaMethodWithHandler used for those with an
cg
parents: 360
diff changeset
  2722
    "Modified: / 16.10.1998 / 13:42:10 / cg"
5
f026f5d20c15 checkin from browser
cg
parents: 2
diff changeset
  2723
! !
f026f5d20c15 checkin from browser
cg
parents: 2
diff changeset
  2724
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2725
!JavaMethod methodsFor:'queries-statistic'!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2726
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2727
messagesPossiblySent
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2728
    ^ self analyzer messagesPossiblySent
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2729
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2730
    "Created: / 30-08-2013 / 14:05:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2731
    "Modified: / 30-08-2013 / 17:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2732
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2733
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2734
messagesSentToSelf
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2735
    ^ self analyzer messagesSentToSelf
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2736
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2737
    "Created: / 31-08-2013 / 09:32:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2738
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2739
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2740
messagesSentToSuper
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2741
    ^ self analyzer messagesSentToSuper
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2742
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2743
    "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2744
    "Modified: / 30-08-2013 / 17:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2745
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2746
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2747
modifiedClassVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2748
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2749
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2750
    "Created: / 30-08-2013 / 13:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2751
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2752
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2753
modifiedGlobals
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2754
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2755
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2756
    "Created: / 05-09-2013 / 15:26:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2757
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2758
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2759
modifiedInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2760
    ^ self analyzer modifiedInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2761
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2762
    "Created: / 30-08-2013 / 13:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2763
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2764
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2765
modifiedPoolVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2766
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2767
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2768
    "Created: / 05-09-2013 / 15:25:28 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2769
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2770
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2771
readClassVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2772
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2773
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2774
    "Created: / 05-09-2013 / 15:25:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2775
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2776
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2777
readGlobals
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2778
    ^ self analyzer readGlobals
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2779
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2780
    "Created: / 05-09-2013 / 15:26:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2781
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2782
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2783
readInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2784
    ^ self analyzer readInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2785
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2786
    "Created: / 05-09-2013 / 15:24:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2787
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2788
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2789
readPoolVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2790
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2791
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2792
    "Created: / 05-09-2013 / 15:25:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2793
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2794
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2795
sends:symbol1 or:symbol2
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2796
    ^ self analyzer sends:symbol1 or:symbol2
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2797
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2798
    "Modified: / 30-08-2013 / 17:07:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2799
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2800
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2801
sendsAny: selectors
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2802
    ^ self analyzer sendsAny: selectors
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2803
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2804
    "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2805
    "Modified: / 30-08-2013 / 17:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2806
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2807
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2808
usedClassVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2809
    ^ #() "/ No class vars in Java
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2810
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2811
    "Created: / 30-08-2013 / 13:18:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2812
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2813
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2814
usedGlobals
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2815
    ^ self analyzer usedGlobals
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2816
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2817
    "Created: / 05-09-2013 / 15:26:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2818
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2819
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2820
usedInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2821
    ^ self analyzer usedInstVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2822
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2823
    "Created: / 30-08-2013 / 13:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2824
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2825
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2826
usedPoolVars
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2827
    ^ #()
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2828
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2829
    "Created: / 05-09-2013 / 15:25:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2830
! !
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2831
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2832
!JavaMethod methodsFor:'signature parsing'!
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2833
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2834
XXXspecWithArgsFromSignature:aSignature withName:name in:aPackage
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2835
    "given a signature, return a spec with args"
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2836
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2837
    |s argSpec retvalSpec|
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2838
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2839
    s := aSignature readStream.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2840
    s next ~~ $( ifTrue:[self halt. ^ name].
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2841
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2842
    argSpec := self argSpecWithArgsFromStream:s in:aPackage.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2843
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2844
    s next ~~ $) ifTrue:[self halt. ^ name].
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2845
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2846
    retvalSpec := self retvalSpecFromStream:s in:aPackage.
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2847
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2848
    ^ retvalSpec , ' ' , name , ' (' , argSpec , ')'
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2849
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2850
    "
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2851
     JavaMethod specFromSignature:'(LObject;)V' withName:'foo'
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2852
     JavaMethod specFromSignature:'(BB)S'       withName:'foo'
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2853
    "
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2854
255
2d8b3948a08a *** empty log message ***
cg
parents: 252
diff changeset
  2855
    "Created: / 8.1.1998 / 19:17:58 / cg"
154
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2856
! !
d51e897b4b5f checkin from browser
cg
parents: 149
diff changeset
  2857
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2858
!JavaMethod methodsFor:'testing'!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2859
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2860
isMethodWithBreakpoints
3111
3119ced5d03c [JavaClassReader optimization 3/3]: optimize JavaMethod>>setName:descriptor:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3088
diff changeset
  2861
    ^self isBreakpointed
2678
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2862
        or:[(ConfigurableFeatures includesFeature: #VMBreakpointSupport)
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2863
            and:[self breakpointTable notEmptyOrNil]]
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2864
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2865
    "Created: / 11-04-2013 / 14:50:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2866
!
c865275e48a7 Updated to match Mercurial revision a00302fe5083 with two tweaks:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2555
diff changeset
  2867
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2868
isSynthetic
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2869
    ^ (accessFlags bitAnd:A_SYNTHETIC) ~~ 0
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2870
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2871
    "Created: / 18-10-2010 / 19:09:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2872
! !
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2873
129
f40775af59a5 checkin from browser
cg
parents: 127
diff changeset
  2874
!JavaMethod class methodsFor:'documentation'!
2
91843ac44d2f intitial checkin
cg
parents:
diff changeset
  2875
91843ac44d2f intitial checkin
cg
parents:
diff changeset
  2876
version
3360
1a8899091305 Merged with mercurial revision cb6c15e66be (594 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2877
    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.117 2015-01-28 02:10:50 vrany Exp $'
2145
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
  2878
!
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
  2879
0df96de83547 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 2114
diff changeset
  2880
version_CVS
3360
1a8899091305 Merged with mercurial revision cb6c15e66be (594 changesets total)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 3324
diff changeset
  2881
    ^ '$Header: /cvs/stx/stx/libjava/JavaMethod.st,v 1.117 2015-01-28 02:10:50 vrany Exp $'
2151
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2882
!
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2883
c0b6570c6f9b Jan's version
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2145
diff changeset
  2884
version_SVN
2731
13f5be2bf83b Merged d87e89dd5276 and fe83a843a7bf (branch default - CVS HEAD)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2711 2678
diff changeset
  2885
    ^ 'Id'
2
91843ac44d2f intitial checkin
cg
parents:
diff changeset
  2886
! !
2107
f4509f6767fa category change
Claus Gittinger <cg@exept.de>
parents: 2095
diff changeset
  2887
2353
fa7400d022a0 Updated to https://swing.fit.cvut.cz/hg/stx.libjava/rev/31f8b995905e
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2204
diff changeset
  2888
2086
66b8f6529783 comment
Claus Gittinger <cg@exept.de>
parents: 750
diff changeset
  2889
JavaMethod initialize!