Java Doc for Subroutine.java in  » Database-DBMS » db4o-6.4 » EDU » purdue » cs » bloat » cfg » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » db4o 6.4 » EDU.purdue.cs.bloat.cfg 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   EDU.purdue.cs.bloat.cfg.Subroutine

Subroutine
public class Subroutine (Code)
Subroutine represents a subroutine (target of a jsr instruction) in java bytecode. Subroutines are used to implement the finally part of a try-catch-finally block.

Each Subroutine belongs in a control flow graph, has an entry and exit block, and has a local variable that contains its return address. Additionally, it maintains a list of paths from blocks in which the subroutine is called to block that is executed after the subroutine returns.

Note that it is assumed that each subroutine ends with a ret. While this is true for bytecode generated by javac, it is not required.
See Also:   AddressStoreStmt
See Also:   Block



Field Summary
 Blockentry
    
 Blockexit
    
 FlowGraphgraph
    
 ArrayListpaths
    
 LocalVariablereturnAddress
    

Constructor Summary
public  Subroutine(FlowGraph graph)
     Constructor.

Method Summary
public  voidaddPath(Block callerBlock, Block returnBlock)
     Adds a path from the block before a Subroutine is called to a block after the subroutine is called.
public  Blockentry()
     Returns the first Block in the subroutine.
public  Blockexit()
     Returns the last Block in the subroutine.
public  FlowGraphgraph()
     Returns the CFG that contains this subroutine.
public  intnumPaths()
     Returns the number of places that this subroutine is called.
public  BlockpathSource(Block block)
     Returns the "caller block" for a given "return block".
public  BlockpathTarget(Block block)
     Returns the "return block" for a given "caller block".
public  Collectionpaths()
     Returns the paths (a Collection of two-element arrays of Blocks) that represent the Blocks that end in a call to this subroutine and the block that begin with the return address from this subroutine.
public  voidprint(PrintStream out)
     Prints a textual representation of this Subroutine.
public  voidremoveAllPaths()
     Removes all caller-return paths.
public  voidremovePath(Block callerBlock, Block returnBlock)
     Removes a path between a caller Block and a return Block.
public  voidremovePathsContaining(Block block)
     Removes all paths involving block regardless of whether it is a calling (source) block or a returning (target) block.
public  LocalVariablereturnAddress()
     Returns the local variable containing the return address of this subroutine.
public  voidsetEntry(Block entry)
     Sets the entry Block for this Subroutine.
public  voidsetExit(Block exit)
     Sets the exit Block for this Subroutine.
public  voidsetReturnAddress(LocalVariable returnAddress)
     Sets the address (stored in a LocalVariable) to which this subroutine will return once it is finished.
public  StringtoString()
    

Field Detail
entry
Block entry(Code)



exit
Block exit(Code)



graph
FlowGraph graph(Code)



paths
ArrayList paths(Code)



returnAddress
LocalVariable returnAddress(Code)




Constructor Detail
Subroutine
public Subroutine(FlowGraph graph)(Code)
Constructor.
Parameters:
  graph - The CFG containing the block.




Method Detail
addPath
public void addPath(Block callerBlock, Block returnBlock)(Code)
Adds a path from the block before a Subroutine is called to a block after the subroutine is called. If the callerBlock is already associated with a returnBlock, the old returnBlock is replaced.
Parameters:
  callerBlock - The block in which the subroutine is called. This Block endswith a jsr to this subroutine.
Parameters:
  returnBlock - The block to which the subroutine returns. This Block beginsat the return address of this subroutine.



entry
public Block entry()(Code)
Returns the first Block in the subroutine.



exit
public Block exit()(Code)
Returns the last Block in the subroutine.



graph
public FlowGraph graph()(Code)
Returns the CFG that contains this subroutine.



numPaths
public int numPaths()(Code)
Returns the number of places that this subroutine is called.



pathSource
public Block pathSource(Block block)(Code)
Returns the "caller block" for a given "return block".



pathTarget
public Block pathTarget(Block block)(Code)
Returns the "return block" for a given "caller block".



paths
public Collection paths()(Code)
Returns the paths (a Collection of two-element arrays of Blocks) that represent the Blocks that end in a call to this subroutine and the block that begin with the return address from this subroutine.



print
public void print(PrintStream out)(Code)
Prints a textual representation of this Subroutine.
Parameters:
  out - The PrintStream to which to print.



removeAllPaths
public void removeAllPaths()(Code)
Removes all caller-return paths.



removePath
public void removePath(Block callerBlock, Block returnBlock)(Code)
Removes a path between a caller Block and a return Block.



removePathsContaining
public void removePathsContaining(Block block)(Code)
Removes all paths involving block regardless of whether it is a calling (source) block or a returning (target) block.



returnAddress
public LocalVariable returnAddress()(Code)
Returns the local variable containing the return address of this subroutine.



setEntry
public void setEntry(Block entry)(Code)
Sets the entry Block for this Subroutine.



setExit
public void setExit(Block exit)(Code)
Sets the exit Block for this Subroutine.



setReturnAddress
public void setReturnAddress(LocalVariable returnAddress)(Code)
Sets the address (stored in a LocalVariable) to which this subroutine will return once it is finished.
Parameters:
  returnAddress - Local variable that stores the address to which the subroutinereturns when it is completed.
See Also:   Tree.visit_astore



toString
public String toString()(Code)



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.