Java Doc for Target.java in  » 6.0-JDK-Modules-sun » javac-compiler » com » sun » tools » javac » jvm » 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 » 6.0 JDK Modules sun » javac compiler » com.sun.tools.javac.jvm 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


com.sun.tools.javac.jvm.Target

Target
public enum Target (Code)
The classfile version target.

This is NOT part of any API supported by Sun Microsystems. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.



Field Summary
final public static  TargetDEFAULT
    
 Enum ConstantJDK1_1
    
 Enum ConstantJDK1_2
    
 Enum ConstantJDK1_3
    
 Enum ConstantJDK1_4
     J2SE1.4 = Merlin.
 Enum ConstantJDK1_4_1
     The following are undocumented transitional targets that we had used to test VM fixes in update releases.
 Enum ConstantJDK1_4_2
    
 Enum ConstantJDK1_5
     Tiger.
 Enum ConstantJDK1_6
     JDK 6.
 Enum ConstantJDK1_7
     JDK 7.
 Enum ConstantJSR14
     Support for the JSR14 prototype compiler (targeting 1.4 VMs augmented with a few support classes).
final public  intmajorVersion
    
final public  intminorVersion
    
final public  Stringname
    


Method Summary
public static  TargetMAX()
    
public static  TargetMIN()
    
public  booleanarrayBinaryCompatibility()
     Starting in 1.5, the compiler uses an array type as the qualifier for method calls (such as clone) where required by the language and VM spec.
public  booleanboxWithConstructors()
     For bootstrapping, we use J2SE1.4's wrapper class constructors to implement boxing.
public  booleanclassLiteralsNoInit()
    
public  booleancompilerBootstrap(Symbol c)
     For bootstrapping javac only, we do without java.lang.Enum if necessary.
public  booleangenerateCLDCStackmap()
     Return true if cldc-style stack maps need to be generated.
public  booleangenerateEmptyAfterBig()
    
public  booleangenerateStackMapTable()
     Beginning in -target 6, we generate stackmap attribute in compact format.
public  booleanhasClassLiterals()
    
public  booleanhasEnclosingMethodAttribute()
     In J2SE1.5.0, we introduced the "EnclosingMethod" attribute for improved reflection support.
public  booleanhasInitCause()
    
public  booleanhasIterable()
     For bootstrapping, we use J2SE1.4's java.util.Collection instead of java.lang.Iterable.
public  booleaninitializeFieldsBeforeSuper()
     Beginning in 1.4, we take advantage of the possibility of emitting code to initialize fields before calling the superclass constructor. This is allowed by the VM spec, but the verifier refused to allow it until 1.4.
public static  Targetinstance(Context context)
    
public  booleaninterfaceFieldsBinaryCompatibility()
     Beginning after 1.2, we follow the binary compatibility rules for interface fields.
public  booleaninterfaceObjectOverridesBinaryCompatibility()
     Beginning in -target 1.5, we follow the binary compatibility rules for interface methods that redefine Object methods. Earlier VMs had bugs handling such methods compiled using binary compatibility (see 4392595, 4398791, 4392595, 4400415). The VMs were fixed during or soon after 1.4.
public static  Targetlookup(String name)
    
public  booleanobeyBinaryCompatibility()
     Beginning with -target 1.2 we obey the JLS rules for binary compatibility, emitting as the qualifying type of a reference to a method or field the type of the qualifier.
public  booleanrequiresIproxy()
     In -target 1.1 and earlier, the compiler is required to emit synthetic method definitions in abstract classes for interface methods that are not overridden.
public  charsyntheticNameChar()
     Return the character to be used in constructing synthetic identifiers, where not specified by the JLS.
public  booleanuseAnnotationFlag()
    
public  booleanuseBridgeFlag()
    
public  booleanuseEnumFlag()
    
public  booleanuseInnerCacheClass()
     Sometimes we need to create a field to cache a value like a class literal of the assertions flag.
public  booleanusePrivateSyntheticFields()
     Beginning in -target 1.4.2, we make synthetic variables package-private instead of private.
public  booleanuseStringBuilder()
     Beginning in 1.5, we have an unsynchronized version of StringBuffer called StringBuilder that can be used by the compiler for string concatenation.
public  booleanuseSyntheticFlag()
     Beginning in 1.5, we have flag bits we can use instead of marker attributes.
public  booleanuseVarargsFlag()
    

Field Detail
DEFAULT
final public static Target DEFAULT(Code)



JDK1_1
Enum Constant JDK1_1(Code)



JDK1_2
Enum Constant JDK1_2(Code)



JDK1_3
Enum Constant JDK1_3(Code)



JDK1_4
Enum Constant JDK1_4(Code)
J2SE1.4 = Merlin.



JDK1_4_1
Enum Constant JDK1_4_1(Code)
The following are undocumented transitional targets that we had used to test VM fixes in update releases. We do not promise to retain support for them.



JDK1_4_2
Enum Constant JDK1_4_2(Code)



JDK1_5
Enum Constant JDK1_5(Code)
Tiger.



JDK1_6
Enum Constant JDK1_6(Code)
JDK 6.



JDK1_7
Enum Constant JDK1_7(Code)
JDK 7.



JSR14
Enum Constant JSR14(Code)
Support for the JSR14 prototype compiler (targeting 1.4 VMs augmented with a few support classes). This is a transitional option that will not be supported in the product.



majorVersion
final public int majorVersion(Code)



minorVersion
final public int minorVersion(Code)



name
final public String name(Code)





Method Detail
MAX
public static Target MAX()(Code)



MIN
public static Target MIN()(Code)



arrayBinaryCompatibility
public boolean arrayBinaryCompatibility()(Code)
Starting in 1.5, the compiler uses an array type as the qualifier for method calls (such as clone) where required by the language and VM spec. Earlier versions of the compiler qualified them by Object.



boxWithConstructors
public boolean boxWithConstructors()(Code)
For bootstrapping, we use J2SE1.4's wrapper class constructors to implement boxing.



classLiteralsNoInit
public boolean classLiteralsNoInit()(Code)
Although we may not have support for class literals, should we avoid initializing the class that the literal refers to? See 4468823



compilerBootstrap
public boolean compilerBootstrap(Symbol c)(Code)
For bootstrapping javac only, we do without java.lang.Enum if necessary.



generateCLDCStackmap
public boolean generateCLDCStackmap()(Code)
Return true if cldc-style stack maps need to be generated.



generateEmptyAfterBig
public boolean generateEmptyAfterBig()(Code)
Do we generate "empty" stackmap slots after double and long?



generateStackMapTable
public boolean generateStackMapTable()(Code)
Beginning in -target 6, we generate stackmap attribute in compact format.



hasClassLiterals
public boolean hasClassLiterals()(Code)
Does the VM have direct support for class literals?



hasEnclosingMethodAttribute
public boolean hasEnclosingMethodAttribute()(Code)
In J2SE1.5.0, we introduced the "EnclosingMethod" attribute for improved reflection support.



hasInitCause
public boolean hasInitCause()(Code)
Although we may not have support for class literals, when we throw a NoClassDefFoundError, should we initialize its cause?



hasIterable
public boolean hasIterable()(Code)
For bootstrapping, we use J2SE1.4's java.util.Collection instead of java.lang.Iterable.



initializeFieldsBeforeSuper
public boolean initializeFieldsBeforeSuper()(Code)
Beginning in 1.4, we take advantage of the possibility of emitting code to initialize fields before calling the superclass constructor. This is allowed by the VM spec, but the verifier refused to allow it until 1.4. This is necesary to translate some code involving inner classes. See, for example, 4030374.



instance
public static Target instance(Context context)(Code)



interfaceFieldsBinaryCompatibility
public boolean interfaceFieldsBinaryCompatibility()(Code)
Beginning after 1.2, we follow the binary compatibility rules for interface fields. The 1.2 VMs had bugs handling interface fields when compiled using binary compatibility (see 4400598), so this is an accommodation to them.



interfaceObjectOverridesBinaryCompatibility
public boolean interfaceObjectOverridesBinaryCompatibility()(Code)
Beginning in -target 1.5, we follow the binary compatibility rules for interface methods that redefine Object methods. Earlier VMs had bugs handling such methods compiled using binary compatibility (see 4392595, 4398791, 4392595, 4400415). The VMs were fixed during or soon after 1.4. See 4392595.



lookup
public static Target lookup(String name)(Code)



obeyBinaryCompatibility
public boolean obeyBinaryCompatibility()(Code)
Beginning with -target 1.2 we obey the JLS rules for binary compatibility, emitting as the qualifying type of a reference to a method or field the type of the qualifier. In earlier targets we use as the qualifying type the class in which the member was found. The following methods named binaryCompatibility() indicate places where we vary from this general rule.



requiresIproxy
public boolean requiresIproxy()(Code)
In -target 1.1 and earlier, the compiler is required to emit synthetic method definitions in abstract classes for interface methods that are not overridden. We call them "Miranda" methods.



syntheticNameChar
public char syntheticNameChar()(Code)
Return the character to be used in constructing synthetic identifiers, where not specified by the JLS.



useAnnotationFlag
public boolean useAnnotationFlag()(Code)



useBridgeFlag
public boolean useBridgeFlag()(Code)



useEnumFlag
public boolean useEnumFlag()(Code)



useInnerCacheClass
public boolean useInnerCacheClass()(Code)
Sometimes we need to create a field to cache a value like a class literal of the assertions flag. In -target 1.4.2 and later we create a new synthetic class for this instead of using the outermost class. See 4401576.



usePrivateSyntheticFields
public boolean usePrivateSyntheticFields()(Code)
Beginning in -target 1.4.2, we make synthetic variables package-private instead of private. This is to prevent the necessity of access methods, which effectively relax the protection of the field but bloat the class files and affect execution.



useStringBuilder
public boolean useStringBuilder()(Code)
Beginning in 1.5, we have an unsynchronized version of StringBuffer called StringBuilder that can be used by the compiler for string concatenation.



useSyntheticFlag
public boolean useSyntheticFlag()(Code)
Beginning in 1.5, we have flag bits we can use instead of marker attributes.



useVarargsFlag
public boolean useVarargsFlag()(Code)



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