Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 11 jdk.rmic.jmod - RMI Compiler Tool
JDK 11 jdk.rmic.jmod is the JMOD file for JDK 11 RMI (Remote Method Invocation) Compiler Tool tool, which can be invoked by the "rmic" command.
JDK 11 RMI Compiler Tool tool compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.rmic.jmod.
JDK 11 RMI Compiler Tool tool compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 RMI Compiler Tool tool source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.rmic.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ sun/tools/asm/LocalVariableTable.java
/* * Copyright (c) 1995, 2003, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.tools.asm; import sun.tools.java.*; import java.io.IOException; import java.io.DataOutputStream; /** * This class is used to assemble the local variable table. * * WARNING: The contents of this source file are not part of any * supported API. Code that depends on them does so at its own risk: * they are subject to change or removal without notice. * * @author Arthur van Hoff */ final class LocalVariableTable { LocalVariable locals[] = new LocalVariable[8]; int len; /** * Define a new local variable. Merge entries where possible. */ void define(MemberDefinition field, int slot, int from, int to) { if (from >= to) { return; } for (int i = 0 ; i < len ; i++) { if ((locals[i].field == field) && (locals[i].slot == slot) && (from <= locals[i].to) && (to >= locals[i].from)) { locals[i].from = Math.min(locals[i].from, from); locals[i].to = Math.max(locals[i].to, to); return; } } if (len == locals.length) { LocalVariable newlocals[] = new LocalVariable[len * 2]; System.arraycopy(locals, 0, newlocals, 0, len); locals = newlocals; } locals[len++] = new LocalVariable(field, slot, from, to); } /** * Trim overlapping local ranges. Java forbids shadowing of * locals in nested scopes, but non-nested scopes may still declare * locals with the same name. Because local variable ranges are * computed using flow analysis as part of assembly, it isn't * possible to simply make sure variable ranges end where the * enclosing lexical scope ends. This method makes sure that * variables with the same name don't overlap, giving priority to * fields with higher slot numbers that should have appeared later * in the source. */ private void trim_ranges() { for (int i=0; i<len; i++) { for (int j=i+1; j<len; j++) { if ((locals[i].field.getName()==locals[j].field.getName()) && (locals[i].from <= locals[j].to) && (locals[i].to >= locals[j].from)) { // At this point we know that both ranges are // the same name and there is also overlap or they abut if (locals[i].slot < locals[j].slot) { if (locals[i].from < locals[j].from) { locals[i].to = Math.min(locals[i].to, locals[j].from); } else { // We've detected two local variables with the // same name, and the one with the greater slot // number starts before the other. This order // reversal may happen with locals with the same // name declared in both a try body and an // associated catch clause. This is rare, and // we give up. } } else if (locals[i].slot > locals[j].slot) { if (locals[i].from > locals[j].from) { locals[j].to = Math.min(locals[j].to, locals[i].from); } else { // Same situation as above; just give up. } } else { // This case can happen if there are two variables // with the same name and slot numbers, and ranges // that abut. AFAIK the only way this can occur // is with multiple static initializers. Punt. } } } } } /** * Write out the data. */ void write(Environment env, DataOutputStream out, ConstantPool tab) throws IOException { trim_ranges(); out.writeShort(len); for (int i = 0 ; i < len ; i++) { //System.out.println("pc=" + locals[i].from + ", len=" + (locals[i].to - locals[i].from) + ", nm=" + locals[i].field.getName() + ", slot=" + locals[i].slot); out.writeShort(locals[i].from); out.writeShort(locals[i].to - locals[i].from); out.writeShort(tab.index(locals[i].field.getName().toString())); out.writeShort(tab.index(locals[i].field.getType().getTypeSignature())); out.writeShort(locals[i].slot); } } }
⏎ sun/tools/asm/LocalVariableTable.java
Or download all of them as a single archive file:
File name: jdk.rmic-11.0.1-src.zip File size: 418901 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module
2020-04-25, 45266👍, 0💬
Popular Posts:
ZooKeeper is a centralized service for maintaining configuration information, naming, providing dist...
What JAR files are required to run sax\Writer.java provided in the Apache Xerces package? 1 JAR file...
JDK 17 java.desktop.jmod is the JMOD file for JDK 17 Desktop module. JDK 17 Desktop module compiled ...
How to download and install JDK (Java Development Kit) 5? If you want to write Java applications, yo...
The Web Services Description Language for Java Toolkit (WSDL4J), Release 1.6.2, allows the creation,...