[Git][java-team/aspectj][upstream] New upstream version 1.9.2

Emmanuel Bourg gitlab at salsa.debian.org
Fri Jan 11 12:09:33 GMT 2019


Emmanuel Bourg pushed to branch upstream at Debian Java Maintainers / aspectj


Commits:
b53ca331 by Emmanuel Bourg at 2018-10-24T20:34:34Z
New upstream version 1.9.2
- - - - -


27 changed files:

- ajde.core/.isJava5 → ajde.core/.isJava8
- ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java
- bcel-builder/src/org/aspectj/apache/bcel/generic/ClassGen.java
- build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java
- docs/devGuideDB/ajc.xml
- + docs/dist/doc/README-192.html
- docs/dist/doc/index.html
- lib/build/build.jar
- loadtime/src/org/aspectj/weaver/loadtime/Aj.java
- loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
- loadtime/src/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.java
- org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java
- org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties
- org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java
- org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java
- org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java
- org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java
- org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
- org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
- runtime/src/org/aspectj/lang/Aspects14.java
- weaver/.classpath
- weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java
- weaver/src/org/aspectj/weaver/bcel/BcelMethod.java
- weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
- weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java
- weaver/src/org/aspectj/weaver/bcel/Utility.java
- weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java


Changes:

=====================================
ajde.core/.isJava5 → ajde.core/.isJava8
=====================================


=====================================
ajde.core/src/org/aspectj/ajde/core/internal/AjdeCoreBuildManager.java
=====================================
@@ -223,10 +223,12 @@ public class AjdeCoreBuildManager {
 		if (configFile.exists() && configFile.isFile()) {
 			args = new String[] { "@" + configFile.getAbsolutePath() };
 		} else {
-			List<String> l = compilerConfig.getProjectSourceFiles();
-			if (l == null) {
+			List<String> projectSourceFiles = compilerConfig.getProjectSourceFiles();
+			if (projectSourceFiles == null) {
 				return null;
 			}
+			List<String> l = new ArrayList<>();
+			l.addAll(projectSourceFiles);
 			// If the processor options are specified build the command line options for the JDT compiler to see
 			String processor = compilerConfig.getProcessor();
 			if (processor != null && processor.length() != 0) {
@@ -238,20 +240,25 @@ public class AjdeCoreBuildManager {
 				l.add("-processorpath");
 				l.add(processorPath);
 			}
+			if (compilerConfig.getOutputLocationManager() != null &&
+					compilerConfig.getOutputLocationManager().getDefaultOutputLocation() != null) {
+				l.add("-d");
+				l.add(compilerConfig.getOutputLocationManager().getDefaultOutputLocation().toString());
+			}
 			List<String> xmlfiles = compilerConfig.getProjectXmlConfigFiles();
 			if (xmlfiles != null && !xmlfiles.isEmpty()) {
 				args = new String[l.size() + xmlfiles.size() + 1];
 				// TODO speedup
 				int p = 0;
 				for (int i = 0; i < l.size(); i++) {
-					args[p++] = (String) l.get(i);
+					args[p++] = l.get(i);
 				}
 				for (int i = 0; i < xmlfiles.size(); i++) {
-					args[p++] = (String) xmlfiles.get(i);
+					args[p++] = xmlfiles.get(i);
 				}
 				args[p++] = "-xmlConfigured";
 			} else {
-				args = (String[]) l.toArray(new String[l.size()]);
+				args = l.toArray(new String[l.size()]);
 			}
 		}
 
@@ -320,7 +327,7 @@ public class AjdeCoreBuildManager {
 		// Process the JAVA OPTIONS MAP
 		Map<String,String> jom = compilerConfig.getJavaOptionsMap();
 		if (jom != null) {
-			String version = (String) jom.get(CompilerOptions.OPTION_Compliance);
+			String version = jom.get(CompilerOptions.OPTION_Compliance);
 			if (version != null && !version.equals(CompilerOptions.VERSION_1_4)) {
 				config.setBehaveInJava5Way(true);
 			}
@@ -383,7 +390,7 @@ public class AjdeCoreBuildManager {
 		} else {
 			tokens.addAll(tokenizeString(nonStdOptions));
 		}
-		String[] args = (String[]) tokens.toArray(new String[] {});
+		String[] args = tokens.toArray(new String[] {});
 
 		// set the non-standard options in an alternate build config
 		// (we don't want to lose the settings we already have)


=====================================
bcel-builder/src/org/aspectj/apache/bcel/generic/ClassGen.java
=====================================
@@ -270,7 +270,7 @@ public class ClassGen extends Modifiers implements Cloneable {
 	/**
 	 * @return field object with given name, or null if not found
 	 */
-	public Field containsField(String name) {
+	public Field findsField(String name) {
 		for (Field field : fieldsList) {
 			if (field.getName().equals(name)) {
 				return field;


=====================================
build/src/org/aspectj/internal/tools/ant/taskdefs/AntBuilder.java
=====================================
@@ -86,7 +86,7 @@ public class AntBuilder extends Builder {
 	 */
 	private static void makeTargetsForResult(final Result result, final Hashtable<String,Target> targets) {
 		final String resultTargetName = resultToTargetName(result);
-		Target target = (Target) targets.get(resultTargetName);
+		Target target = targets.get(resultTargetName);
 		if (null == target) {
 			// first add the target
 			target = new Target();
@@ -147,6 +147,7 @@ public class AntBuilder extends Builder {
 	 * @param boolean filter if true, enable filtering
 	 * @see org.aspectj.internal.tools.build.Builder#copyFile(File, File, boolean)
 	 */
+	@Override
 	protected boolean copyFile(File fromFile, File toFile, boolean filter) {
 		Copy copy = makeCopyTask(filter);
 		copy.setFile(fromFile);
@@ -160,6 +161,7 @@ public class AntBuilder extends Builder {
 	 * 
 	 * @see org.aspectj.internal.tools.ant.taskdefs.Builder#copyFiles(File, File, String, String, boolean)
 	 */
+	@Override
 	protected boolean copyFiles(File fromDir, File toDir, String includes, String excludes, boolean filter) {
 		Copy copy = makeCopyTask(filter);
 		copy.setTodir(toDir);
@@ -226,8 +228,6 @@ public class AntBuilder extends Builder {
 		boolean isJava5Compile = false;
 		boolean isJava8Compile = false;
 		for (File file: result.getSrcDirs()) {
-//		for (Iterator iter = result.getSrcDirs().iterator(); iter.hasNext();) {
-//			File file = (File) iter.next();
 			path.createPathElement().setLocation(file);
 			if (!isJava5Compile
 					&& (Util.Constants.JAVA5_SRC.equals(file.getName()) || 
@@ -270,18 +270,16 @@ public class AntBuilder extends Builder {
 
 		// misc
 		javac.setDebug(true);
-		if (!isJava5Compile) {
+		if (isJava8Compile) {
+			javac.setSource("1.8");
+			javac.setTarget("1.8");				
+		} else if (isJava5Compile) {
+			// *cough*
+			javac.setSource("1.6");
+			javac.setTarget("1.6");			
+		} else {
 			javac.setTarget("1.1"); // 1.1 class files - Javac in 1.4 uses 1.4
 			javac.setSource("1.3");
-		} else {
-			if (isJava8Compile) {
-				javac.setSource("1.8");
-				javac.setTarget("1.8");				
-			} else {
-				// min
-				javac.setSource("1.6");
-				javac.setTarget("1.6");
-			}
 		}
 		// compile
 		boolean passed = false;
@@ -412,6 +410,7 @@ public class AntBuilder extends Builder {
 	/**
 	 * @see org.aspectj.internal.tools.build.Builder#buildAntecedants(Module)
 	 */
+	@Override
 	protected Result[] getAntecedantResults(Result moduleResult) {
 		Hashtable<String,Target> targets = new Hashtable<String, Target>();
 		makeTargetsForResult(moduleResult, targets);
@@ -425,7 +424,7 @@ public class AntBuilder extends Builder {
 		}
 		ArrayList<String> toReturn = new ArrayList<String>();
 		for (Iterator<Target> iter = result.iterator(); iter.hasNext();) {
-			Target target = (Target) iter.next();
+			Target target = iter.next();
 			String name = target.getName();
 			if (null == name) {
 				throw new Error("null name?");
@@ -437,12 +436,13 @@ public class AntBuilder extends Builder {
 		if ((1 == size) && targetName.equals(toReturn.get(0)) && !moduleResult.outOfDate()) {
 			return new Result[0];
 		}
-		return Result.getResults((String[]) toReturn.toArray(new String[0]));
+		return Result.getResults(toReturn.toArray(new String[0]));
 	}
 
 	/**
 	 * Generate Module.assembledJar with merge of itself and all antecedants
 	 */
+	@Override
 	protected boolean assembleAll(Result result, Messager handler) {
 		if (!buildingEnabled) {
 			return false;
@@ -500,6 +500,7 @@ public class AntBuilder extends Builder {
 	/**
 	 * @see org.aspectj.internal.tools.ant.taskdefs.Builder#buildInstaller(BuildSpec, String)
 	 */
+	@Override
 	protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) {
 		return false;
 	}
@@ -726,6 +727,7 @@ class ProductBuilder extends AntBuilder {
 	/**
 	 * Delegate for super.buildProduct(..) template method.
 	 */
+	@Override
 	protected boolean copyBinaries(BuildSpec buildSpec, File distDir, File targDir, String excludes) {
 		Copy copy = makeCopyTask(false);
 		copy.setTodir(targDir);
@@ -742,6 +744,7 @@ class ProductBuilder extends AntBuilder {
 	/**
 	 * Delegate for super.buildProduct(..) template method.
 	 */
+	@Override
 	protected boolean copyNonBinaries(BuildSpec buildSpec, File distDir, File targDir) {
 		// filter-copy everything but the binaries
 		Copy copy = makeCopyTask(true);
@@ -754,6 +757,7 @@ class ProductBuilder extends AntBuilder {
 		return executeTask(copy);
 	}
 
+	@Override
 	protected boolean buildInstaller(BuildSpec buildSpec, String targDirPath) {
 		if (buildSpec.verbose) {
 			handler.log("creating installer for " + buildSpec);
@@ -808,16 +812,19 @@ class ProjectMessager extends Messager {
 		this.project = project;
 	}
 
+	@Override
 	public boolean log(String s) {
 		project.log(s);
 		return true;
 	}
 
+	@Override
 	public boolean error(String s) {
 		project.log(s, Project.MSG_ERR);
 		return true;
 	}
 
+	@Override
 	public boolean logException(String context, Throwable thrown) {
 		project.log(context + Util.renderException(thrown), Project.MSG_ERR);
 		return true;


=====================================
docs/devGuideDB/ajc.xml
=====================================
@@ -536,7 +536,7 @@
         AspectJ is a compatible extension to the Java programming language. The
         AspectJ compiler adheres to the <ulink
         url="http://java.sun.com/docs/books/jls/index.html"> <citetitle
-        pubwork="book">The Java Language Specfication, Second
+        pubwork="book">The Java Language Specification, Second
         Edition</citetitle></ulink> and to the <ulink
         url="http://java.sun.com/docs/books/vmspec/index.html"><citetitle
         pubwork="book">The Java Virtual Machine Specification, Second


=====================================
docs/dist/doc/README-192.html
=====================================
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html> <head>
+<title>AspectJ 1.9.2 Readme</title>
+<style type="text/css">
+<!--
+  P   { margin-left:  20px; }
+  PRE { margin-left:  20px; }
+  LI  { margin-left:  20px; }
+  H4  { margin-left:  20px; }
+  H3  { margin-left:  10px; }
+-->
+</style>
+</head>
+
+<body>
+<div align="right"><small>
+© Copyright 2018 Contributors.
+All rights reserved.
+</small></div>
+<p>The full list of resolved issues in 1.9.2 is available 
+<a href="https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&bug_status=CLOSED&f0=OP&f1=OP&f3=CP&f4=CP&j1=OR&list_id=16866879&product=AspectJ&query_format=advanced&target_milestone=1.9.2">here</a></h2>.</p>
+
+<h1>AspectJ 1.9.2</h1>
+
+<h4>Java 11 support</h4>
+<p>AspectJ now supports Java11. It has been updated to a more recent JDT compiler that supports Java 11 (JDTCore #6373b82afa49b).
+
+<p>Available: 1.9.2 available Oct-2018</p>
+
+<br><br>
+
+
+<!-- ============================== -->  
+</body>
+</html>


=====================================
docs/dist/doc/index.html
=====================================
@@ -138,6 +138,7 @@
 <tr> <td>README's
      </td>
      <td>Changes and porting guide for AspectJ 
+        <a href="README-192.html">1.9.2</a>,
         <a href="README-191.html">1.9.1</a>,
         <a href="README-190.html">1.9.0</a>,
         <a href="README-1811.html">1.8.10</a>,


=====================================
lib/build/build.jar
=====================================
Binary files a/lib/build/build.jar and b/lib/build/build.jar differ


=====================================
loadtime/src/org/aspectj/weaver/loadtime/Aj.java
=====================================
@@ -72,19 +72,12 @@ public class Aj implements ClassPreProcessor {
 	}
 
 	private final static String deleLoader = "sun.reflect.DelegatingClassLoader";
+	private final static String deleLoader2 = "jdk.internal.reflect.DelegatingClassLoader"; // On JDK11+
 
-	/**
-	 * Weave
-	 * 
-	 * @param className
-	 * @param bytes
-	 * @param loader
-	 * @return woven bytes
-	 */
 	@Override
 	public byte[] preProcess(String className, byte[] bytes, ClassLoader loader, ProtectionDomain protectionDomain) {
-		// TODO AV needs to doc that
-		if (loader == null || className == null || loader.getClass().getName().equals(deleLoader)) {
+		if (loader == null || className == null || 
+			loader.getClass().getName().equals(deleLoader) || loader.getClass().getName().equals(deleLoader2)) {
 			// skip boot loader, null classes (hibernate), or those from a reflection loader
 			return bytes;
 		}


=====================================
loadtime/src/org/aspectj/weaver/loadtime/ClassLoaderWeavingAdaptor.java
=====================================
@@ -11,10 +11,6 @@ package org.aspectj.weaver.loadtime;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
-import java.lang.invoke.MethodHandle;
-import java.lang.invoke.MethodHandles;
-import java.lang.invoke.MethodHandles.Lookup;
-import java.lang.invoke.MethodType;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
 import java.net.MalformedURLException;


=====================================
loadtime/src/org/aspectj/weaver/loadtime/ConcreteAspectCodeGen.java
=====================================
@@ -59,10 +59,8 @@ import org.aspectj.weaver.patterns.BasicTokenSource;
 import org.aspectj.weaver.patterns.DeclareAnnotation;
 import org.aspectj.weaver.patterns.ISignaturePattern;
 import org.aspectj.weaver.patterns.ITokenSource;
-import org.aspectj.weaver.patterns.NamePattern;
 import org.aspectj.weaver.patterns.PatternParser;
 import org.aspectj.weaver.patterns.PerClause;
-import org.aspectj.weaver.patterns.PerSingleton;
 import org.aspectj.weaver.patterns.TypePattern;
 
 /**


=====================================
org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java
=====================================
@@ -815,33 +815,17 @@ public class BuildArgParser extends Main {
 			} else if (arg.equals("-timers")) {
 				buildConfig.setTiming(true);
 				// swallow - it is dealt with in Main.runMain()
-			} else if (arg.equals("-1.5")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-1.5");
-				// this would enable the '-source 1.5' to do the same as '-1.5' but doesnt sound quite right as
-				// as an option right now as it doesnt mean we support 1.5 source code - people will get confused...
-			} else if (arg.equals("-1.6")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-1.6");
-			} else if (arg.equals("-1.7")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-1.7");
-			} else if (arg.equals("-1.8")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-1.8");
-			} else if (arg.equals("-1.9")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-1.9");
-			} else if (arg.equals("-10")) {
-				buildConfig.setBehaveInJava5Way(true);
-				unparsedArgs.add("-10");
+			} else if (arg.equals("-1.3")) {
+				buildConfig.setBehaveInJava5Way(false);
+				unparsedArgs.add("-1.3");
+			} else if (arg.equals("-1.4")) {
+				buildConfig.setBehaveInJava5Way(false);
+				unparsedArgs.add("-1.4");
 			} else if (arg.equals("-source")) {
 				if (args.size() > nextArgIndex) {
 					String level = args.get(nextArgIndex).getValue();
-					if (level.equals("1.5") || level.equals("5") || level.equals("1.6") || level.equals("6") || level.equals("1.7")
-							|| level.equals("7") || level.equals("8") || level.equals("1.8")
-							|| level.equals("9") || level.equals("1.9") || level.equals("10")) {
-						buildConfig.setBehaveInJava5Way(true);
+					if (level.equals("1.3") || level.equals("1.4")) {
+						buildConfig.setBehaveInJava5Way(false);
 					}
 					unparsedArgs.add("-source");
 					unparsedArgs.add(level);


=====================================
org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties
=====================================
@@ -5,7 +5,7 @@
      org/aspectj/weaver/XlintDefault.properties for the default behavior and a template to copy. 
 ### AspectJ-specific messages 
 compiler.name = AspectJ Compiler 1.9.2
-compiler.version = Eclipse Compiler #BETA_JAVA11(20Sep2018), 3.14
+compiler.version = Eclipse Compiler #6373b82afa49b(1-Oct-2018), 3.16
 compiler.copyright = 
 
 


=====================================
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseSourceType.java
=====================================
@@ -71,7 +71,6 @@ import org.aspectj.weaver.ClassAnnotationValue;
 import org.aspectj.weaver.EnumAnnotationValue;
 import org.aspectj.weaver.ReferenceType;
 import org.aspectj.weaver.ResolvedMember;
-import org.aspectj.weaver.ResolvedMemberImpl;
 import org.aspectj.weaver.ResolvedPointcutDefinition;
 import org.aspectj.weaver.ResolvedType;
 import org.aspectj.weaver.StandardAnnotation;
@@ -135,11 +134,13 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		resolvedTypeX.setEndPos(declaration.sourceEnd);
 	}
 
+	@Override
 	public boolean isAspect() {
 		final boolean isCodeStyle = declaration instanceof AspectDeclaration;
 		return isCodeStyle ? isCodeStyle : isAnnotationStyleAspect();
 	}
 
+	@Override
 	public boolean isAnonymous() {
 		if (declaration.binding != null) {
 			return declaration.binding.isAnonymousType();
@@ -147,6 +148,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return ((declaration.modifiers & (ASTNode.IsAnonymousType | ASTNode.IsLocalType)) != 0);
 	}
 
+	@Override
 	public boolean isNested() {
 		if (declaration.binding != null) {
 			return (declaration.binding.isMemberType());
@@ -154,6 +156,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return ((declaration.modifiers & ASTNode.IsMemberType) != 0);
 	}
 
+	@Override
 	public ResolvedType getOuterClass() {
 		if (declaration.binding != null) {
 			ReferenceBinding enclosingType = declaration.binding.enclosingType();
@@ -167,6 +170,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return eclipseWorld().fromEclipse(declaration.enclosingType.binding);
 	}
 
+	@Override
 	public boolean isAnnotationStyleAspect() {
 		if (declaration.annotations == null) {
 			return false;
@@ -234,10 +238,12 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return false;
 	}
 
+	@Override
 	public WeaverStateInfo getWeaverState() {
 		return null;
 	}
 
+	@Override
 	public ResolvedType getSuperclass() {
 		if (binding.isInterface()) {
 			return getResolvedTypeX().getWorld().getCoreType(UnresolvedType.OBJECT);
@@ -246,6 +252,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return eclipseWorld().fromEclipse(binding.superclass());
 	}
 
+	@Override
 	public ResolvedType[] getDeclaredInterfaces() {
 		return eclipseWorld().fromEclipse(binding.superInterfaces());
 	}
@@ -420,6 +427,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 	 * This method may not return all fields, for example it may not include the ajc$initFailureCause or ajc$perSingletonInstance
 	 * fields - see bug 129613
 	 */
+	@Override
 	public ResolvedMember[] getDeclaredFields() {
 		if (declaredFields == null) {
 			fillDeclaredMembers();
@@ -431,6 +439,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 	 * This method may not return all methods, for example it may not include clinit, aspectOf, hasAspect or ajc$postClinit methods
 	 * - see bug 129613
 	 */
+	@Override
 	public ResolvedMember[] getDeclaredMethods() {
 		if (declaredMethods == null) {
 			fillDeclaredMembers();
@@ -438,6 +447,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return declaredMethods;
 	}
 
+	@Override
 	public ResolvedMember[] getDeclaredPointcuts() {
 		if (declaredPointcuts == null) {
 			fillDeclaredMembers();
@@ -445,11 +455,13 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return declaredPointcuts;
 	}
 
+	@Override
 	public int getModifiers() {
 		// only return the real Java modifiers, not the extra eclipse ones
 		return binding.modifiers & ExtraCompilerModifiers.AccJustFlag;
 	}
 
+	@Override
 	public String toString() {
 		return "EclipseSourceType(" + new String(binding.sourceName()) + ")";
 	}
@@ -516,6 +528,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 	// dec.sourceEnd);
 	// }
 
+	@Override
 	public boolean isInterface() {
 		return binding.isInterface();
 	}
@@ -525,14 +538,17 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 	public final static short ACC_ANNOTATION = 0x2000;
 	public final static short ACC_ENUM = 0x4000;
 
+	@Override
 	public boolean isEnum() {
 		return (binding.getAccessFlags() & ACC_ENUM) != 0;
 	}
 
+	@Override
 	public boolean isAnnotation() {
 		return (binding.getAccessFlags() & ACC_ANNOTATION) != 0;
 	}
 
+	@Override
 	public boolean isAnnotationWithRuntimeRetention() {
 		if (!isAnnotation()) {
 			return false;
@@ -541,6 +557,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		}
 	}
 
+	@Override
 	public String getRetentionPolicy() {
 		if (isAnnotation()) {
 			if ((binding.getAnnotationTagBits() & TagBits.AnnotationRetentionMASK) == TagBits.AnnotationRuntimeRetention) {
@@ -556,6 +573,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return null;
 	}
 
+	@Override
 	public boolean canAnnotationTargetType() {
 		if (isAnnotation()) {
 			return ((binding.getAnnotationTagBits() & TagBits.AnnotationForType) != 0);
@@ -563,6 +581,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return false;
 	}
 
+	@Override
 	public AnnotationTargetKind[] getAnnotationTargetKinds() {
 		if (discoveredAnnotationTargetKinds) {
 			return annotationTargetKinds;
@@ -655,6 +674,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		}
 	}
 
+	@Override
 	public boolean hasAnnotation(UnresolvedType ofType) {
 		ensureAnnotationTypesResolved();
 		for (int a = 0, max = annotationTypes.length; a < max; a++) {
@@ -680,6 +700,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 	 * annotations, this code only needs to deal with converting system annotations that the weaver needs to process
 	 * (RetentionPolicy, Target).
 	 */
+	@Override
 	public AnnotationAJ[] getAnnotations() {
 		int declarationAnnoCount = (declaration.annotations == null ? 0 : declaration.annotations.length);
 		if (annotations != null && annotations.length == declarationAnnoCount) {
@@ -701,6 +722,7 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return annotations;
 	}
 	
+	@Override
 	public boolean hasAnnotations() {
 		return (declaration.annotations != null && declaration.annotations.length != 0);
 	}
@@ -1002,11 +1024,13 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		}
 	}
 
+	@Override
 	public ResolvedType[] getAnnotationTypes() {
 		ensureAnnotationTypesResolved();
 		return annotationTypes;
 	}
 
+	@Override
 	public PerClause getPerClause() {
 		// should probably be: ((AspectDeclaration)declaration).perClause;
 		// but we don't need this level of detail, and working with real per
@@ -1147,30 +1171,37 @@ public class EclipseSourceType extends AbstractReferenceTypeDelegate {
 		return kind;
 	}
 
-	public Collection getDeclares() {
+	@Override
+	public Collection<Declare> getDeclares() {
 		return declares;
 	}
 
-	public Collection getPrivilegedAccesses() {
-		return Collections.EMPTY_LIST;
+	@Override
+	public Collection<ResolvedMember> getPrivilegedAccesses() {
+		return Collections.emptyList();
 	}
 
+	@Override
 	public Collection getTypeMungers() {
 		return typeMungers;
 	}
 
+	@Override
 	public boolean doesNotExposeShadowMungers() {
 		return true;
 	}
 
+	@Override
 	public String getDeclaredGenericSignature() {
 		return CharOperation.charToString(binding.genericSignature());
 	}
 
+	@Override
 	public boolean isGeneric() {
 		return binding.isGenericType();
 	}
 
+	@Override
 	public TypeVariable[] getTypeVariables() {
 		if (declaration.typeParameters == null) {
 			return new TypeVariable[0];


=====================================
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java
=====================================
@@ -73,7 +73,7 @@ public class AjCompilerOptions extends CompilerOptions {
 	public String xOptionalJoinpoints = null;
 
 	// If true - autoboxing behaves differently ...
-	public boolean behaveInJava5Way = false;
+	public boolean behaveInJava5Way = true;
 
 	public boolean timing = false;
 
@@ -117,6 +117,7 @@ public class AjCompilerOptions extends CompilerOptions {
 		set(settings);
 	}
 
+	@Override
 	public Map<String,String> getMap() {
 		Map<String,String> map = super.getMap();
 		// now add AspectJ additional options		
@@ -148,6 +149,7 @@ public class AjCompilerOptions extends CompilerOptions {
 		return map;
 	}
 
+	@Override
 	public void set(Map<String,String> optionsMap) {
 		super.set(optionsMap);
 		Object optionValue;
@@ -282,6 +284,7 @@ public class AjCompilerOptions extends CompilerOptions {
 		super.warningThreshold.set(CompilerOptions.SwallowedExceptionInCatchBlock);
 	}
 
+	@Override
 	public String toString() {
 		StringBuffer buf = new StringBuffer(super.toString());
 		// now add AspectJ additional options


=====================================
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java
=====================================
@@ -57,7 +57,10 @@ import org.aspectj.weaver.patterns.TypePatternList;
  */
 public class AsmElementFormatter {
 
-	public void genLabelAndKind(MethodDeclaration methodDeclaration, IProgramElement node) {
+  private final static String ASPECTJ_ANNOTATION_PACKAGE = "org.aspectj.lang.annotation";
+  private final static char PACKAGE_INITIAL_CHAR = ASPECTJ_ANNOTATION_PACKAGE.charAt(0);
+
+      public void genLabelAndKind(MethodDeclaration methodDeclaration, IProgramElement node) {
 
 		if (methodDeclaration instanceof AdviceDeclaration) {
 			AdviceDeclaration ad = (AdviceDeclaration) methodDeclaration;
@@ -219,7 +222,7 @@ public class AsmElementFormatter {
 						// Note: AV: implicit single advice type support here (should be enforced somewhere as well (APT etc))
 						Annotation annotation = methodDeclaration.annotations[i];
 						String annotationSig = new String(annotation.type.getTypeBindingPublic(methodDeclaration.scope).signature());
-						if (annotationSig.charAt(1) == 'o') {
+						if (annotationSig.charAt(1) == PACKAGE_INITIAL_CHAR) {
 							if ("Lorg/aspectj/lang/annotation/Pointcut;".equals(annotationSig)) {
 								node.setKind(IProgramElement.Kind.POINTCUT);
 								node.setAnnotationStyleDeclaration(true); // pointcuts don't seem to get handled quite right...
@@ -418,8 +421,8 @@ public class AsmElementFormatter {
 	public void setParameters(AbstractMethodDeclaration md, IProgramElement pe) {
 		Argument[] argArray = md.arguments;
 		if (argArray == null) {
-			pe.setParameterNames(Collections.EMPTY_LIST);
-			pe.setParameterSignatures(Collections.EMPTY_LIST, Collections.EMPTY_LIST);
+			pe.setParameterNames(Collections.<String>emptyList());
+			pe.setParameterSignatures(Collections.<char[]>emptyList(), Collections.<String>emptyList());
 		} else {
 			List<String> names = new ArrayList<String>();
 			List<char[]> paramSigs = new ArrayList<char[]>();
@@ -459,7 +462,7 @@ public class AsmElementFormatter {
 
 	// TODO: fix this way of determing ajc-added arguments, make subtype of Argument with extra info
 	private boolean acceptArgument(String name, String type) {
-		if (name.charAt(0) != 'a' && type.charAt(0) != 'o') {
+		if (name.charAt(0) != 'a' && type.charAt(0) != PACKAGE_INITIAL_CHAR) {
 			return true;
 		}
 		return !name.startsWith("ajc$this_") && !type.equals("org.aspectj.lang.JoinPoint.StaticPart")


=====================================
org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/ast/LambdaExpression.java
=====================================
@@ -1,3 +1,4 @@
+// AspectJ
 /*******************************************************************************
  * Copyright (c) 2012, 2018 IBM Corporation and others.
  *
@@ -276,7 +277,18 @@ public class LambdaExpression extends FunctionalExpression implements IPolyExpre
 		if (!skipKosherCheck && (!haveDescriptor || this.descriptor.typeVariables != Binding.NO_TYPE_VARIABLES)) // already complained in kosher*
 			return this.resolvedType = null;
 		
-		this.binding = new MethodBinding(ClassFileConstants.AccPrivate | ClassFileConstants.AccSynthetic | ExtraCompilerModifiers.AccUnresolved,
+		// AspectJ extension - start
+		int modifiers = 0;
+		if (methodScope.parent != null && methodScope.parent.isInterTypeScope()) {
+			modifiers = ClassFileConstants.AccPublic | ClassFileConstants.AccSynthetic | ExtraCompilerModifiers.AccUnresolved;
+		} else {
+			modifiers = ClassFileConstants.AccPrivate | ClassFileConstants.AccSynthetic | ExtraCompilerModifiers.AccUnresolved;
+		}
+		this.binding = new MethodBinding(modifiers,
+		// was
+		// this.binding = new MethodBinding(ClassFileConstants.AccPrivate | ClassFileConstants.AccSynthetic | ExtraCompilerModifiers.AccUnresolved,
+		// AspectJ extension - end
+		
 							CharOperation.concat(TypeConstants.ANONYMOUS_METHOD, Integer.toString(this.ordinal).toCharArray()), // will be fixed up later.
 							haveDescriptor ? this.descriptor.returnType : TypeBinding.VOID, 
 							Binding.NO_PARAMETERS, // for now. 


=====================================
org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/BinaryTypeBinding.java
=====================================
@@ -2307,5 +2307,15 @@ public MethodBinding[] methods() {
 	   else return methodsBase();
 }
 
+ at Override
+public int sourceStart() { 
+	return 0;
+}
+
+ at Override
+public int sourceEnd() { 
+	return 0;
+}
+
 //End AspectJ Extension
 }


=====================================
org.eclipse.jdt.core/src/org/aspectj/org/eclipse/jdt/internal/compiler/lookup/SourceTypeBinding.java
=====================================
@@ -2469,13 +2469,13 @@ public TypeVariableBinding [] setTypeVariables(TypeVariableBinding [] typeVariab
 	return this.typeVariables = typeVariables;
 }
 
-public final int sourceEnd() {
+public int sourceEnd() { // AspectJ - made non final
 	if (!isPrototype())
 		return this.prototype.sourceEnd();
 
 	return this.scope.referenceContext.sourceEnd;
 }
-public final int sourceStart() {
+public int sourceStart() { // AspectJ - made non final
 	if (!isPrototype())
 		return this.prototype.sourceStart();
 


=====================================
runtime/src/org/aspectj/lang/Aspects14.java
=====================================
@@ -12,9 +12,9 @@
 package org.aspectj.lang;
 
 
+import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.lang.reflect.Modifier;
-import java.lang.reflect.InvocationTargetException;
 
 /**
  * For users working on a level of Java prior to Java5, Aspects14 handles generic aspectOf methods when they 
@@ -36,8 +36,8 @@ public class Aspects14 {
     /**
      * Returns the singleton aspect or the percflow / percflowbelow associated with the current thread
      *
-     * @param aspectClass
-     * @return
+     * @param aspectClass aspect class for which to discover the aspect instance
+     * @return an aspect instance
      * @throws NoAspectBoundException if no such aspect
      */
     public static Object aspectOf(Class aspectClass) throws NoAspectBoundException {
@@ -53,9 +53,9 @@ public class Aspects14 {
 
     /**
      * Returns the perthis / pertarget aspect
-     * @param aspectClass
-     * @param perObject
-     * @return
+     * @param aspectClass aspect class for which to discover the aspect instance
+     * @param perObject object for which to discover the aspect instance
+     * @return an aspect instance
      * @throws NoAspectBoundException if no such aspect, or no aspect bound
      */
     public static Object aspectOf(Class aspectClass, Object perObject) throws NoAspectBoundException {
@@ -71,7 +71,7 @@ public class Aspects14 {
 
     /**
      * Returns the pertypewithin aspect
-     * @param aspectClass
+     * @param aspectClass aspect class for which to discover the aspect instance
      * @param perTypeWithin class
      * @return
      * @throws NoAspectBoundException if no such aspect, or no aspect bound
@@ -90,7 +90,7 @@ public class Aspects14 {
     /**
      * Returns true if singleton aspect or percflow / percflowbelow aspect is bound
      *
-     * @param aspectClass
+     * @param aspectClass aspect class for which to check the aspect instance
      * @return
      * @throws NoAspectBoundException if not bound
      */
@@ -104,9 +104,9 @@ public class Aspects14 {
 
     /**
      * Returns true if the perthis / pertarget aspect is bound
-     * @param aspectClass
+     * @param aspectClass aspect class for which to check the aspect instance
      * @param perObject
-     * @return
+     * @return true if aspect instance exists for the class/object combination
      * @throws NoAspectBoundException if not bound
      */
     public static boolean hasAspect(Class aspectClass, Object perObject) throws NoAspectBoundException {
@@ -119,9 +119,9 @@ public class Aspects14 {
 
     /**
      * Returns true if the pertypewithin aspect is bound
-     * @param aspectClass
+     * @param aspectClass aspect class for which to check the aspect instance
      * @param perTypeWithin class
-     * @return
+     * @return true if aspect instance exists for this aspect class/pertypewithin class combination
      * @throws NoAspectBoundException if not bound
      */
     public static boolean hasAspect(Class aspectClass, Class perTypeWithin) throws NoAspectBoundException {


=====================================
weaver/.classpath
=====================================
@@ -13,6 +13,6 @@
 	<classpathentry kind="lib" path="/lib/bcel/bcel.jar" sourcepath="/lib/bcel/bcel-src.zip"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
 	<classpathentry combineaccessrules="false" kind="src" path="/org.aspectj.matcher"/>
-	<classpathentry kind="lib" path="/lib/asm/asm-6.1.1.renamed.jar"/>
+	<classpathentry kind="lib" path="/lib/asm/asm-7.0-beta.renamed.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>


=====================================
weaver/src/org/aspectj/weaver/bcel/AtAjAttributes.java
=====================================
@@ -98,6 +98,8 @@ public class AtAjAttributes {
 	private final static String THROWING = "throwing";
 	private final static String RETURNING = "returning";
 	private final static String STRING_DESC = "Ljava/lang/String;";
+	private final static String ASPECTJ_ANNOTATION_PACKAGE = "org.aspectj.lang.annotation";
+	private final static char PACKAGE_INITIAL_CHAR = ASPECTJ_ANNOTATION_PACKAGE.charAt(0);
 
 	/**
 	 * A struct that allows to add extra arguments without always breaking the API
@@ -193,8 +195,8 @@ public class AtAjAttributes {
 	 */
 	public static List<AjAttribute> readAj5ClassAttributes(AsmManager model, JavaClass javaClass, ReferenceType type,
 			ISourceContext context, IMessageHandler msgHandler, boolean isCodeStyleAspect) {
-		boolean ignoreThisClass = javaClass.getClassName().charAt(0) == 'o'
-				&& javaClass.getClassName().startsWith("org.aspectj.lang.annotation");
+		boolean ignoreThisClass = javaClass.getClassName().charAt(0) == PACKAGE_INITIAL_CHAR
+				&& javaClass.getClassName().startsWith(ASPECTJ_ANNOTATION_PACKAGE);
 		if (ignoreThisClass) {
 			return NO_ATTRIBUTES;
 		}
@@ -205,7 +207,7 @@ public class AtAjAttributes {
 			Constant constant = cpool[i];
 			if (constant != null && constant.getTag() == Constants.CONSTANT_Utf8) {
 				String constantValue = ((ConstantUtf8) constant).getValue();
-				if (constantValue.length() > 28 && constantValue.charAt(1) == 'o') {
+				if (constantValue.length() > 28 && constantValue.charAt(1) == PACKAGE_INITIAL_CHAR) {
 					if (constantValue.startsWith("Lorg/aspectj/lang/annotation")) {
 						containsAnnotationClassReference = true;
 						if ("Lorg/aspectj/lang/annotation/DeclareAnnotation;".equals(constantValue)) {


=====================================
weaver/src/org/aspectj/weaver/bcel/BcelMethod.java
=====================================
@@ -51,6 +51,9 @@ import org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.GenericSigna
 //public final 
 class BcelMethod extends ResolvedMemberImpl {
 
+  private final static String ASPECTJ_ANNOTATION_PACKAGE = "org.aspectj.lang.annotation";
+  private final static char PACKAGE_INITIAL_CHAR = ASPECTJ_ANNOTATION_PACKAGE.charAt(0);
+
 	private Method method;
 
 	// these fields are not set for many BcelMethods...
@@ -141,7 +144,7 @@ class BcelMethod extends ResolvedMemberImpl {
 				for (int i = 0; i < axs.length; i++) {
 					AnnotationAJ annotationX = axs[i];
 					String typename = annotationX.getTypeName();
-					if (typename.charAt(0) == 'o') {
+					if (typename.charAt(0) == PACKAGE_INITIAL_CHAR) {
 						if (typename.equals("org.aspectj.lang.annotation.Pointcut")
 								|| typename.equals("org.aspectj.lang.annotation.Before")
 								|| typename.equals("org.aspectj.lang.annotation.Around")


=====================================
weaver/src/org/aspectj/weaver/bcel/BcelShadow.java
=====================================
@@ -2941,7 +2941,7 @@ public class BcelShadow extends Shadow {
 			closureInstantiation.append(fact.createConstant(Integer.valueOf(bitflags)));
 			closureInstantiation.append(Utility.createInvoke(getFactory(), getWorld(),
 					new MemberImpl(Member.METHOD, UnresolvedType.forName("org.aspectj.runtime.internal.AroundClosure"),
-							Modifier.PUBLIC, "linkClosureAndJoinPoint", "(I)Lorg/aspectj/lang/ProceedingJoinPoint;")));
+							Modifier.PUBLIC, "linkClosureAndJoinPoint", String.format("%s%s", "(I)", "Lorg/aspectj/lang/ProceedingJoinPoint;"))));
 		}
 
 		InstructionList advice = new InstructionList();


=====================================
weaver/src/org/aspectj/weaver/bcel/ClassPathManager.java
=====================================
@@ -153,6 +153,7 @@ public class ClassPathManager {
 		return null;
 	}
 
+	@Override
 	public String toString() {
 		StringBuffer buf = new StringBuffer();
 		boolean start = true;
@@ -220,11 +221,13 @@ public class ClassPathManager {
 			this.file = file;
 		}
 
+		@Override
 		public InputStream getInputStream() throws IOException {
 			fis = new FileInputStream(file);
 			return fis;
 		}
 
+		@Override
 		public void close() {
 			try {
 				if (fis != null)
@@ -236,6 +239,7 @@ public class ClassPathManager {
 			}
 		}
 
+		@Override
 		public String getPath() {
 			return file.getPath();
 		}
@@ -252,6 +256,7 @@ public class ClassPathManager {
 			this.dirPath = dirPath;
 		}
 
+		@Override
 		public ClassFile find(String name) {
 			File f = new File(dirPath + File.separator + name.replace('.', File.separatorChar) + ".class");
 			if (f.isFile())
@@ -260,6 +265,7 @@ public class ClassPathManager {
 				return null;
 		}
 
+		@Override
 		public String toString() {
 			return dirPath;
 		}
@@ -275,11 +281,13 @@ public class ClassPathManager {
 			this.entry = entry;
 		}
 
+		@Override
 		public InputStream getInputStream() throws IOException {
 			is = zipFile.getZipFile().getInputStream(entry);
 			return is;
 		}
 
+		@Override
 		public void close() {
 			try {
 				if (is != null)
@@ -291,6 +299,7 @@ public class ClassPathManager {
 			}
 		}
 
+		@Override
 		public String getPath() {
 			return entry.getName();
 		}
@@ -307,7 +316,7 @@ public class ClassPathManager {
 	 */
 	static class JImageEntry extends Entry {
 		
-		private final static FileSystem fs = FileSystems.getFileSystem(JRT_URI);
+		private static FileSystem fs = null;
 		
 		private final static Map<String, Path> fileCache = new SoftHashMap<String, Path>();
 
@@ -316,6 +325,13 @@ public class ClassPathManager {
 		private static boolean packageCacheInitialized = false;
 
 		public JImageEntry() {
+			if (fs == null) {
+				try {
+					fs = FileSystems.getFileSystem(JRT_URI);
+				} catch (Throwable t) {
+					throw new IllegalStateException("Unexpectedly unable to initialize a JRT filesystem", t);
+				}
+			}
 			buildPackageMap();
 		}
 		
@@ -394,6 +410,7 @@ public class ClassPathManager {
 			return locator.found;
  		}
 
+		@Override
 		public ClassFile find(String name) throws IOException {
 			String fileName = name.replace('.', '/') + ".class";
 			Path file = fileCache.get(fileName);
@@ -448,6 +465,7 @@ public class ClassPathManager {
 			return zipFile;
 		}
 
+		@Override
 		public ClassFile find(String name) throws IOException {
 			ensureOpen();
 			String key = name.replace('.', '/') + ".class";
@@ -502,7 +520,7 @@ public class ClassPathManager {
 
 		public void closeSomeArchives(int n) {
 			for (int i = n - 1; i >= 0; i--) {
-				ZipFile zf = (ZipFile) openArchives.get(i);
+				ZipFile zf = openArchives.get(i);
 				try {
 					zf.close();
 				} catch (IOException e) {
@@ -525,6 +543,7 @@ public class ClassPathManager {
 			}
 		}
 
+		@Override
 		public String toString() {
 			return file.getName();
 		}


=====================================
weaver/src/org/aspectj/weaver/bcel/Utility.java
=====================================
@@ -65,6 +65,8 @@ import org.aspectj.weaver.World;
 
 public class Utility {
 
+  private final static char PACKAGE_INITIAL_CHAR = AjAttribute.AttributePrefix.charAt(0);
+
 	public static List<AjAttribute> readAjAttributes(String classname, Attribute[] as, ISourceContext context, World w,
 			AjAttribute.WeaverVersionInfo version, ConstantPoolReader dataDecompressor) {
 		List<AjAttribute> attributes = new ArrayList<AjAttribute>();
@@ -76,7 +78,7 @@ public class Utility {
 			if (a instanceof Unknown) {
 				Unknown u = (Unknown) a;
 				String name = u.getName();
-				if (name.charAt(0) == 'o') { // 'o'rg.aspectj
+				if (name.charAt(0) == PACKAGE_INITIAL_CHAR) { // 'o'rg.aspectj
 					if (name.startsWith(AjAttribute.AttributePrefix)) {
 						if (name.endsWith(WeaverVersionInfo.AttributeName)) {
 							version = (AjAttribute.WeaverVersionInfo) AjAttribute.read(version, name, u.getBytes(), context, w,


=====================================
weaver/src/org/aspectj/weaver/tools/WeavingAdaptor.java
=====================================
@@ -80,6 +80,9 @@ public class WeavingAdaptor implements IMessageContext {
 	public static final String SHOW_WEAVE_INFO_PROPERTY = "org.aspectj.weaver.showWeaveInfo";
 	public static final String TRACE_MESSAGES_PROPERTY = "org.aspectj.tracing.messages";
 
+  private final static String ASPECTJ_BASE_PACKAGE = "org.aspectj.";
+  private final static String PACKAGE_INITIAL_CHARS = ASPECTJ_BASE_PACKAGE.charAt(0) + "sj";
+
 	private boolean enabled = false;
 	protected boolean verbose = getVerbose();
 	protected BcelWorld bcelWorld;
@@ -447,7 +450,7 @@ public class WeavingAdaptor implements IMessageContext {
 	}
 
 	private boolean shouldWeaveName(String name) {
-		if ("osj".indexOf(name.charAt(0)) != -1) {
+		if (PACKAGE_INITIAL_CHARS.indexOf(name.charAt(0)) != -1) {
 			if ((weavingSpecialTypes & INITIALIZED) == 0) {
 				weavingSpecialTypes |= INITIALIZED;
 				// initialize it
@@ -463,7 +466,7 @@ public class WeavingAdaptor implements IMessageContext {
 					}
 				}
 			}
-			if (name.startsWith("org.aspectj.")) {
+			if (name.startsWith(ASPECTJ_BASE_PACKAGE)) {
 				return false;
 			}
 			if (name.startsWith("sun.reflect.")) {// JDK reflect



View it on GitLab: https://salsa.debian.org/java-team/aspectj/commit/b53ca331e88ae0f7d1f5c4893a2003f71a085208

-- 
View it on GitLab: https://salsa.debian.org/java-team/aspectj/commit/b53ca331e88ae0f7d1f5c4893a2003f71a085208
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20190111/bfe3731b/attachment.html>


More information about the pkg-java-commits mailing list