aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | Add sun.misc.Unsafe privileged retrieval to SecActions.nickl-2017-11-121-0/+29
| | | | | | | | | | | | | | | | Also do it anonomously so as not to raise the alarms and upset the powers to be.
| * | | Type check and paramatized rawtypes for SecurityActions.nickl-2017-11-121-38/+41
| | | | | | | | | | | | | | | | Some whitespace got shunted around a bit too.
| * | | Add getMethodHandle to SecurityActions.nickl-2017-11-121-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The main advantage is that we can do the privileged setAccessible during creation and then freely invoke via the authorized method handle. As per the javadocs: Access checks are applied in the factory methods of Lookup, when a method handle is created. his is a key difference from the Core Reflection API, since java.lang.reflect.Method.invoke performs access checking against every caller, on every call. The performance boost is just a bonus.
| * | | Make an effort to secure privileged use.nickl-2017-11-121-76/+82
| |/ / | | | | | | | | | | | | | | | Oracle (or maybe it was still Sun) warns that we should prevent from exposing access we gain to privileged functionality like the unsafe etc. Before Oracle decides to restrict us even more lets make an effort at least.
* | | Merge pull request #166 from nickl-/test-ctfield-make-with-thisShigeru Chiba2017-11-142-0/+15
|\ \ \ | | | | | | | | Unit Test: CtField.make referencing 'this'.
| * | | Unit Test: CtField.make referencing 'this'.nickl-2017-11-122-0/+15
| |/ / | | | | | | | | | | | | As per question raised in #161 passing 'this' reference for CtField value new object instance. Also added assert for testing referncing 'this' for newly added field.
* | | Merge pull request #167 from nickl-/innerclass-modifiersShigeru Chiba2017-11-143-3/+72
|\ \ \ | | | | | | | | Fix for #152 inner class modifiers.
| * | | Fix #152 inner class modifiers.nickl-2017-11-123-3/+72
| |/ / | | | | | | | | | | | | Applied fix for #152 "Wrong modifiers returned for nested classes" as suggested by @pietrobraione. Includes unit tests for all access modifiers and static.
* / / updates build.xml to be compatible to pom.xmlchibash2017-11-142-2/+1
|/ /
* | Merge pull request #160 from nickl-/squash-warningsShigeru Chiba2017-11-12248-2499/+3961
|\ \ | |/ |/| Source walk/Spring clean/Parameterize/Enhance/Squash warnings et.al.
| * Organize imports to disolve ambiguity.nickl-2017-10-30106-238/+720
| |
| * Squash compiler warnings in tests.nickl-2017-10-3057-0/+63
| | | | | | | | | | | | | | | | With the unit tests warnings were squashed by suppressing them with SuppressWarnings annotations, instead of reparing the issues as was done with the source. Reasons being... * The tests might be relying on the types as they were defined. * If the tests were written to test against the correct forms they would've/should've stipulated those. * Even unused members might be important to tests so we attempt to change as little as possible.
| * Source walk/Spring clean/Parameterize/Enhance et.al.nickl-2017-10-30160-2237/+2938
| | | | | | | | | | | | | | | | | | | | | | | | | | The following were applied during multiple itterations through the source. * Parameterize raw types. * Mark unused members. * Annotate override and deprecated methods. * Convert loops to enhance for loop. * Remove redundant else statements. * Widening collection type references. * Optimize code for improved readability. * Squash compiler warnings. * Identify smells.
| * Fix deperecated junit.framework.Assert.nickl-2017-10-301-1/+3
| | | | | | | | Changed to org.junit.Assert.
| * Fix deperecated junit.framework.Assert.nickl-2017-10-301-1/+1
| | | | | | | | Changed to org.junit.Assert.
| * Implement hashCode for Annotation.nickl-2017-10-301-0/+6
| | | | | | | | To honour the Object.equals contract.
| * Implement hashCode for Type.nickl-2017-10-301-0/+5
| | | | | | | | To honour the Object.equals contract.
| * Implement hashCode for MultiType.nickl-2017-10-301-0/+8
| | | | | | | | To honour the Object.equals contract.
| * Implement hashCode for MultiArrayType.nickl-2017-10-301-0/+6
| | | | | | | | To honour the Object.equals contract.
| * Fix deperecated junit.framework.Assert.nickl-2017-10-301-1/+1
| | | | | | | | Changed to org.junit.Assert.
| * Suppress deprecation Applet.nickl-2017-10-281-2/+2
| |
| * Suppress deprecation ClassPool.makePackagenickl-2017-10-281-0/+2
| |
| * Fix deprecation getPackage to getDefinedPackagenickl-2017-10-281-1/+1
| |
| * Added default serialVersionUID.nickl-2017-10-2865-7/+192
| |
| * Upgrade junit from ver 3 to 4.nickl-2017-10-276-21/+19
| | | | | | | | | | | | | | | | | | There were minimal changes: Some tests had their own runners these were discontinued as IDEs/maven run the tests anyway. Removed the main methods for these. 2 tests were dependent on the running order so added the test sorter. All tests succeed on junit 4 with legacy support.
| * Add version to maven-bundle-plugin.nickl-2017-10-271-0/+1
| | | | | | | | In order to squash the mvn build warnings.
| * Configure source encoding as UTF-8.nickl-2017-10-271-0/+3
| | | | | | | | In order to squash the mvn build warnings.
| * Move runtests to build directory.nickl-2017-10-273-4/+4
|/ | | | Move the test output folder 'runtests' to target or build directory so that mvn clean can clean that.
* changes ClassPool#appendSystemPath(). The new implementation appends ↵3.22-old-style-sourcechibash2017-10-272-2/+6
| | | | ClassClassPath when the JVM is earlier than 9.
* fixes a bug of getAnnotations(). Some hidden annotations were not ignored.chibash2017-10-272-0/+4
|
* upgrade maven-javadoc-plugin to 3.0.0-M1 to support publishing of 3.22.0-GArel_3_22_00_gaScott Marlow2017-10-101-1/+1
|
* removes JvstTest4#testJIRA150b because it is obsolete.rel_3_22_1_gachibash2017-10-111-1/+2
|
* 3.22.0-GA releaserel_3_22_0_galistchibash2017-10-108-8/+9
|
* updates ConstPool to support Module and Packagechibash2017-09-124-2/+151
|
* modifies CtClass#setModifiers() to correctly support inner classes.chibash2017-06-017-76/+117
|
* delete testHotswap() because java 9 does not seem to allow a java agent to ↵chibash2017-05-313-2/+5
| | | | be attached after the JVM starts
* to support Java 9-ea+171chibash2017-05-311-1/+1
|
* modifies the version numberrel_3_22_0_cr2chibash2017-04-172-6/+5
|
* adds javassist.util.HotSwapAgentchibash2017-04-166-1/+263
|
* adds javassist.util.proxy.ProxyFactory#onlyPublicMethods. If true, ↵chibash2017-04-155-15/+125
| | | | Javassist uses java.lang.invoke.MethodHandles.Lookup to load a class.
* Merge pull request #130 from andresluuk/patch-1Shigeru Chiba2017-04-131-1/+1
|\ | | | | A fix for older JDK8 versions: https://bugs.openjdk.java.net/browse/JDK-8041920
| * Update ClassFile.javaAndres Luuk2017-04-101-1/+1
| | | | | | | | A fix for older JDK8 versions: https://bugs.openjdk.java.net/browse/JDK-8041920 This caused random failures a little time after startup. Reported now so that when we upgrade javassist for JDK9 then we would not have to fork this class.
* | modifies to use sun.misc.Unsafe#defineClass so that Javassist can run with ↵chibash2017-04-136-124/+211
|/ | | | jigsaw
* updates the test code to run on Java 9 EA+149.chibash2016-12-207-474/+523
| | | | | | | | Due to the specification change of jigsaw, ClassLoader#defineClass() cannot be invoked through reflection API. As a workaround, --add-opens java.base/java.lang=ALL-UNNAMED must be given to the JVM. The ant target "runtest9" adds this jvm argument.
* removes javassist.ModuleClassPath.chibash2016-12-165-177/+4
| | | | | | See #ClassFilesAsResources in JSR 376. We don't need to hack the module system to read a class file in java.lang. http://openjdk.java.net/projects/jigsaw/spec/issues/
* implements better annotation handling since Javassist may fail tochibash2016-10-143-4/+14
| | | | create a proxy object due to access controls by jigsaw.
* updates Readme.html.chibash2016-10-051-0/+7
|
* release 3.22.0-CR1rel_3_22_0_cr1chibash2016-10-054-3/+3
|
* Merge branch 'test/java9-jigsaw'chibash2016-10-0554-167/+389
|\
| * Merge branch 'master' into test/java9-jigsawtest/java9-jigsawchibash2016-09-2910-9/+163
| |\