Java Doc for CompilerScope.java in  » Scripting » oscript-2.10.4 » oscript » compiler » 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 » Scripting » oscript 2.10.4 » oscript.compiler 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   oscript.compiler.CompilerScope

CompilerScope
public class CompilerScope (Code)
This class helps the compiler track declarations of variables within a scope, in order to optimize resolving references to variables by caching and, when possible, statically resolving the reference in order to avoid performing the normal hashtable lookup(s). It is also responsible for generating the Scope.createMember and Scope.lookupInScope code, so that the rest of the compiler does not need to worry about what optimization strategy (if any) is used to resolve references.

Note that this class is fairly tightly coupled to CompilerVisitor . It would be an inner class if it were not for file size issues.
author:
   Rob Clark (rob@ti.com)
version:
   0



Field Summary
 CompilerVisitorcv
     The compiler for the compiled unit within which this scope is declared.

Constructor Summary
 CompilerScope(CompilerVisitor cv, int slot, int[] argIds)
    
 CompilerScope(CompilerVisitor cv, CompilerScope prev, boolean hasFxnInScope)
     Constructor to represent a scope constructed by this node-evaluator.
Parameters:
  cv - the compiler that declares this scope
Parameters:
  prev - the enclosing scope
Parameters:
  hasFxnInScope - a flag from the parser indicating if there is(or might be) a function declaration within this scope.

Method Summary
 voidcreateMember(NodeToken id, int attr)
     Generate the Scope.createMember call.
 voidenterConditional()
     Called by the compiler to indicate that compilation has entered a potentially condional path within this scope.
 int[]getSharedMemberIndexTableIdxs()
     Get the instance-constant indexs of the SMIT...
 intgetSlot()
    
 booleaninConditional()
    
 voidleaveConditional()
     Called by the compiler to indicate that compilation has left a potentially conditional path within this scope.
 voidlookupInScope(CompilerVisitor cv, NodeToken id)
     Dump the code to perform a Scope.lookupInScope .
 voidmarkOpen()
     Mark this scope as open.
 CompilerScopepop()
    

Field Detail
cv
CompilerVisitor cv(Code)
The compiler for the compiled unit within which this scope is declared.




Constructor Detail
CompilerScope
CompilerScope(CompilerVisitor cv, int slot, int[] argIds)(Code)
Constructor for scope to represent a scope passed in to the node-evaluator, rather than constructed by the node-evaluator
Parameters:
  cv - the compiler that declares this scope
Parameters:
  slot - the local variable slot of the externally constructedscope object
Parameters:
  argIds - array of argument ids and attributes



CompilerScope
CompilerScope(CompilerVisitor cv, CompilerScope prev, boolean hasFxnInScope)(Code)
Constructor to represent a scope constructed by this node-evaluator.
Parameters:
  cv - the compiler that declares this scope
Parameters:
  prev - the enclosing scope
Parameters:
  hasFxnInScope - a flag from the parser indicating if there is(or might be) a function declaration within this scope. If thereis no function in this scope, scope storage can be allocated fromthe stack




Method Detail
createMember
void createMember(NodeToken id, int attr)(Code)
Generate the Scope.createMember call. The code is generated at the current position in the compiler that this scope is declared in. Stack:
 ... -> ... , Value
 

Parameters:
  id - the <IDENTIFIER> token
Parameters:
  attr - the permissions attribute



enterConditional
void enterConditional()(Code)
Called by the compiler to indicate that compilation has entered a potentially condional path within this scope. (It does not matter if this scope is entirely enclosed by a conditional path, what does matter is a conditional path enclosed by this scope.)
See Also:   CompilerScope.leaveConditional



getSharedMemberIndexTableIdxs
int[] getSharedMemberIndexTableIdxs()(Code)
Get the instance-constant indexs of the SMIT... this is needed for the topmost CompilerScope in a function, so that the compiler can generate an accessor method.



getSlot
int getSlot()(Code)
Get the slot for the local variable that refers to this scope object



inConditional
boolean inConditional()(Code)



leaveConditional
void leaveConditional()(Code)
Called by the compiler to indicate that compilation has left a potentially conditional path within this scope.
See Also:   CompilerScope.enterConditional



lookupInScope
void lookupInScope(CompilerVisitor cv, NodeToken id)(Code)
Dump the code to perform a Scope.lookupInScope .
Parameters:
  cv - the compiler instance within which to perform the lookup
Parameters:
  id - the <IDENTIFIER> token



markOpen
void markOpen()(Code)
Mark this scope as open. An open scope may possibly have members declared in it that the compiler does not know about, such as because of an eval or import statement.



pop
CompilerScope pop()(Code)
Called when processing has reached the end of this scope, to pop this scope of the stack



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.