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/tree/AssignAddExpression.java
/* * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package sun.tools.tree; import sun.tools.java.*; import sun.tools.asm.Assembler; /** * 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. */ public class AssignAddExpression extends AssignOpExpression { /** * Constructor */ public AssignAddExpression(long where, Expression left, Expression right) { super(ASGADD, where, left, right); } /** * The cost of inlining this statement */ public int costInline(int thresh, Environment env, Context ctx) { return type.isType(TC_CLASS) ? 25 : super.costInline(thresh, env, ctx); } /** * Code */ void code(Environment env, Context ctx, Assembler asm, boolean valNeeded) { if (itype.isType(TC_CLASS)) { // Create code for String += <value> try { // Create new string buffer. Type argTypes[] = {Type.tString}; ClassDeclaration c = env.getClassDeclaration(idJavaLangStringBuffer); if (updater == null) { // No access method is needed. asm.add(where, opc_new, c); asm.add(where, opc_dup); // stack: ...<buffer><buffer> int depth = left.codeLValue(env, ctx, asm); codeDup(env, ctx, asm, depth, 2); // copy past 2 string buffers // stack: ...[<getter args>]<buffer><buffer>[<getter args>] // where <buffer> isn't yet initialized, and the <getter args> // has length depth and is whatever is needed to get/set the // value left.codeLoad(env, ctx, asm); left.ensureString(env, ctx, asm); // Why is this needed? // stack: ...[<getter args>]<buffer><buffer><string> // call .<init>(String) ClassDefinition sourceClass = ctx.field.getClassDefinition(); MemberDefinition f = c.getClassDefinition(env) .matchMethod(env, sourceClass, idInit, argTypes); asm.add(where, opc_invokespecial, f); // stack: ...[<getter args>]<initialized buffer> // .append(value).toString() right.codeAppend(env, ctx, asm, c, false); f = c.getClassDefinition(env) .matchMethod(env, sourceClass, idToString); asm.add(where, opc_invokevirtual, f); // stack: ...[<getter args>]<string> // dup the string past the <getter args>, if necessary. if (valNeeded) { codeDup(env, ctx, asm, Type.tString.stackSize(), depth); // stack: ...<string>[<getter args>]<string> } // store left.codeStore(env, ctx, asm); } else { // Access method is required. // (Handling this case fixes 4102566.) updater.startUpdate(env, ctx, asm, false); // stack: ...[<getter args>]<string> left.ensureString(env, ctx, asm); // Why is this needed? asm.add(where, opc_new, c); // stack: ...[<getter args>]<string><buffer> asm.add(where, opc_dup_x1); // stack: ...[<getter args>]<buffer><string><buffer> asm.add(where, opc_swap); // stack: ...[<getter args>]<buffer><buffer><string> // call .<init>(String) ClassDefinition sourceClass = ctx.field.getClassDefinition(); MemberDefinition f = c.getClassDefinition(env) .matchMethod(env, sourceClass, idInit, argTypes); asm.add(where, opc_invokespecial, f); // stack: ...[<getter args>]<initialized buffer> // .append(value).toString() right.codeAppend(env, ctx, asm, c, false); f = c.getClassDefinition(env) .matchMethod(env, sourceClass, idToString); asm.add(where, opc_invokevirtual, f); // stack: .. [<getter args>]<string> updater.finishUpdate(env, ctx, asm, valNeeded); } } catch (ClassNotFound e) { throw new CompilerError(e); } catch (AmbiguousMember e) { throw new CompilerError(e); } } else { super.code(env, ctx, asm, valNeeded); } } /** * Code */ void codeOperation(Environment env, Context ctx, Assembler asm) { asm.add(where, opc_iadd + itype.getTypeCodeOffset()); } }
⏎ sun/tools/tree/AssignAddExpression.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, 50872👍, 0💬
Popular Posts:
Apache Commons Codec library provides implementations of common encoders and decoders such as Base64...
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...
JasperReports, the world's most popular open source business intelligence and reporting engine and J...
JAX-WS is an API for building web services and clients. It is the next generation Web Services API r...
How to merge two JAR files with "jar" commands? I am tired of specifying multiple JAR files in the c...