Skip to content

Commit 74303d0

Browse files
committed
ARIES-2165: Extract ASM api version to constant
1 parent cc2c39d commit 74303d0

12 files changed

+50
-19
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
/*
2+
* Licensed to the Apache Software Foundation (ASF) under one
3+
* or more contributor license agreements. See the NOTICE file
4+
* distributed with this work for additional information
5+
* regarding copyright ownership. The ASF licenses this file
6+
* to you under the Apache License, Version 2.0 (the
7+
* "License"); you may not use this file except in compliance
8+
* with the License. You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
package org.apache.aries.proxy.impl;
20+
21+
import org.objectweb.asm.Opcodes;
22+
23+
public class AsmApiVersion {
24+
public static final int apiVersion = Opcodes.ASM9;
25+
}

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyAdapter.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737

3838
import org.apache.aries.proxy.InvocationListener;
3939
import org.apache.aries.proxy.UnableToProxyException;
40+
import org.apache.aries.proxy.impl.AsmApiVersion;
4041
import org.apache.aries.proxy.impl.SystemModuleClassLoader;
4142
import org.apache.aries.proxy.impl.gen.Constants;
4243
import org.apache.aries.proxy.weaving.WovenProxy;
@@ -210,7 +211,7 @@ public abstract class AbstractWovenProxyAdapter extends ClassVisitor implements
210211
*/
211212
public AbstractWovenProxyAdapter(ClassVisitor writer, String className,
212213
ClassLoader loader) {
213-
super(Opcodes.ASM9, writer);
214+
super(AsmApiVersion.apiVersion, writer);
214215
typeBeingWoven = Type.getType("L" + className.replace('.', '/') + ";");
215216
//By default we expect to see methods from a concrete class
216217
currentMethodDeclaringType = typeBeingWoven;
@@ -365,7 +366,7 @@ public final MethodVisitor visitMethod(int access, String name, String desc,
365366
//to write our init code to static_init_UUID instead
366367
staticInitMethod = new Method("static_init_" + UU_ID, Type.VOID_TYPE, NO_ARGS);
367368
staticInitMethodFlags = staticInitMethodFlags | ACC_FINAL;
368-
methodVisitorToReturn = new AdviceAdapter(Opcodes.ASM9, cv.visitMethod(access, name, desc, signature,
369+
methodVisitorToReturn = new AdviceAdapter(AsmApiVersion.apiVersion, cv.visitMethod(access, name, desc, signature,
369370
exceptions), access, name, desc){
370371
@Override
371372
protected void onMethodEnter()

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/AbstractWovenProxyMethodAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.Arrays;
3434

3535
import org.apache.aries.proxy.InvocationListener;
36+
import org.apache.aries.proxy.impl.AsmApiVersion;
3637
import org.objectweb.asm.Label;
3738
import org.objectweb.asm.MethodVisitor;
3839
import org.objectweb.asm.Opcodes;
@@ -179,7 +180,7 @@ public AbstractWovenProxyMethodAdapter(MethodVisitor mv, int access, String name
179180
String methodStaticFieldName, Method currentTransformMethod, Type typeBeingWoven,
180181
Type methodDeclaringType, boolean isMethodDeclaringTypeInterface, boolean isDefaultMethod)
181182
{
182-
super(ASM9, mv, access, name, desc);
183+
super(AsmApiVersion.apiVersion, mv, access, name, desc);
183184
this.methodStaticFieldName = methodStaticFieldName;
184185
this.currentTransformMethod = currentTransformMethod;
185186
returnType = currentTransformMethod.getReturnType();

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/ConstructorFinder.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020

2121
import static org.objectweb.asm.Opcodes.ACC_PRIVATE;
2222

23+
import org.apache.aries.proxy.impl.AsmApiVersion;
2324
import org.objectweb.asm.ClassVisitor;
2425
import org.objectweb.asm.MethodVisitor;
25-
import org.objectweb.asm.Opcodes;
2626
import org.objectweb.asm.Type;
2727

2828
public class ConstructorFinder extends ClassVisitor
@@ -35,9 +35,8 @@ public boolean hasNoArgsConstructor()
3535
return hasNoArgsConstructor;
3636
}
3737

38-
public ConstructorFinder()
39-
{
40-
super(Opcodes.ASM9);
38+
public ConstructorFinder() {
39+
super(AsmApiVersion.apiVersion);
4140
}
4241

4342
@Override

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/MethodCopyingClassAdapter.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import org.apache.aries.proxy.FinalModifierException;
2727
import org.apache.aries.proxy.UnableToProxyException;
28+
import org.apache.aries.proxy.impl.AsmApiVersion;
2829
import org.objectweb.asm.AnnotationVisitor;
2930
import org.objectweb.asm.Attribute;
3031
import org.objectweb.asm.ClassReader;
@@ -64,7 +65,7 @@ final class MethodCopyingClassAdapter extends ClassVisitor implements Opcodes {
6465
public MethodCopyingClassAdapter(AbstractWovenProxyAdapter awpa, ClassLoader definingLoader,
6566
Class<?> superToCopy, Type overridingClassType, Set<Method> knownMethods,
6667
Map<String, TypeMethod> transformedMethods) {
67-
super(Opcodes.ASM9);
68+
super(AsmApiVersion.apiVersion);
6869
this.wovenProxyAdapter = awpa;
6970
this.superToCopy = superToCopy;
7071
this.overridingClassType = overridingClassType;
@@ -178,7 +179,7 @@ private static final class CopyingMethodAdapter extends MethodVisitor {
178179

179180
public CopyingMethodAdapter(GeneratorAdapter mv, Type superType,
180181
Method currentTransformMethod) {
181-
super(Opcodes.ASM9);
182+
super(AsmApiVersion.apiVersion);
182183
this.mv = mv;
183184
this.superType = superType;
184185
this.currentTransformMethod = currentTransformMethod;

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/common/OSGiFriendlyClassVisitor.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@
1818
*/
1919
package org.apache.aries.proxy.impl.common;
2020

21+
import org.apache.aries.proxy.impl.AsmApiVersion;
2122
import org.objectweb.asm.ClassVisitor;
2223
import org.objectweb.asm.ClassWriter;
2324
import org.objectweb.asm.MethodVisitor;
24-
import org.objectweb.asm.Opcodes;
2525
import org.objectweb.asm.commons.JSRInlinerAdapter;
2626
/**
2727
* We need to override ASM's default behaviour in {@link #getCommonSuperClass(String, String)}
@@ -35,7 +35,7 @@ public final class OSGiFriendlyClassVisitor extends ClassVisitor {
3535

3636
public OSGiFriendlyClassVisitor(ClassVisitor cv, int arg1) {
3737

38-
super(Opcodes.ASM9, cv);
38+
super(AsmApiVersion.apiVersion, cv);
3939

4040
inlineJSR = arg1 == ClassWriter.COMPUTE_FRAMES;
4141
}

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.lang.reflect.Constructor;
2424
import java.lang.reflect.InvocationHandler;
2525

26+
import org.apache.aries.proxy.impl.AsmApiVersion;
2627
import org.apache.aries.proxy.impl.ProxyUtils;
2728
import org.apache.aries.proxy.impl.SystemModuleClassLoader;
2829
import org.objectweb.asm.AnnotationVisitor;
@@ -66,7 +67,7 @@ public class ProxySubclassAdapter extends ClassVisitor implements Opcodes
6667
public ProxySubclassAdapter(ClassVisitor writer, String newClassName, ClassLoader loader)
6768
{
6869
// call the superclass constructor
69-
super(Opcodes.ASM9, writer);
70+
super(AsmApiVersion.apiVersion, writer);
7071
// the writer is now the cv in the superclass of ClassAdapter
7172

7273
LOGGER.debug(Constants.LOG_ENTRY, "ProxySubclassAdapter", new Object[] { this, writer,

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/gen/ProxySubclassHierarchyAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import java.util.Collection;
2222

23+
import org.apache.aries.proxy.impl.AsmApiVersion;
2324
import org.objectweb.asm.AnnotationVisitor;
2425
import org.objectweb.asm.Attribute;
2526
import org.objectweb.asm.ClassVisitor;
@@ -47,7 +48,7 @@ public class ProxySubclassHierarchyAdapter extends ClassVisitor implements Opcod
4748

4849
ProxySubclassHierarchyAdapter(ProxySubclassAdapter adapter, Collection<String> methodsToImplement)
4950
{
50-
super(Opcodes.ASM9);
51+
super(AsmApiVersion.apiVersion);
5152
LOGGER.debug(Constants.LOG_ENTRY, "ProxySubclassHeirarchyAdapter", new Object[] {
5253
this, adapter, methodsToImplement });
5354

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceCombiningClassAdapter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.List;
2626

2727
import org.apache.aries.proxy.UnableToProxyException;
28+
import org.apache.aries.proxy.impl.AsmApiVersion;
2829
import org.apache.aries.proxy.impl.ProxyUtils;
2930
import org.apache.aries.proxy.impl.common.AbstractWovenProxyAdapter;
3031
import org.apache.aries.proxy.impl.common.OSGiFriendlyClassVisitor;
@@ -61,7 +62,7 @@ final class InterfaceCombiningClassAdapter extends ClassVisitor implements Opcod
6162
*/
6263
InterfaceCombiningClassAdapter(String className,
6364
ClassLoader loader, Class<?> superclass, Collection<Class<?>> interfaces) {
64-
super(Opcodes.ASM9);
65+
super(AsmApiVersion.apiVersion);
6566
writer = new OSGiFriendlyClassWriter(ClassWriter.COMPUTE_FRAMES, loader);
6667
ClassVisitor cv = new OSGiFriendlyClassVisitor(writer, ClassWriter.COMPUTE_FRAMES);
6768
adapter = new InterfaceUsingWovenProxyAdapter(cv, className, loader);

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/interfaces/InterfaceProxyGenerator.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.apache.aries.proxy.FinalModifierException;
3434
import org.apache.aries.proxy.InvocationListener;
3535
import org.apache.aries.proxy.UnableToProxyException;
36+
import org.apache.aries.proxy.impl.AsmApiVersion;
3637
import org.objectweb.asm.ClassVisitor;
3738
import org.objectweb.asm.Opcodes;
3839
import org.osgi.framework.Bundle;
@@ -48,7 +49,7 @@ public final class InterfaceProxyGenerator extends ClassVisitor implements Opcod
4849

4950
public InterfaceProxyGenerator()
5051
{
51-
super(Opcodes.ASM9);
52+
super(AsmApiVersion.apiVersion);
5253

5354
}
5455

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/weaving/SyntheticSerialVerUIDAdder.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@
2020

2121
import java.lang.reflect.Modifier;
2222

23+
import org.apache.aries.proxy.impl.AsmApiVersion;
2324
import org.objectweb.asm.FieldVisitor;
2425
import org.objectweb.asm.Opcodes;
2526
import org.objectweb.asm.Type;
2627
import org.objectweb.asm.commons.SerialVersionUIDAdder;
2728

28-
import static org.objectweb.asm.Opcodes.ASM9;
29-
3029
class SyntheticSerialVerUIDAdder extends SerialVersionUIDAdder {
3130

3231
private WovenProxyAdapter wpa;
@@ -43,7 +42,7 @@ class SyntheticSerialVerUIDAdder extends SerialVersionUIDAdder {
4342
private boolean hasSVUID;
4443

4544
public SyntheticSerialVerUIDAdder(WovenProxyAdapter cv) {
46-
super(ASM9, cv);
45+
super(AsmApiVersion.apiVersion, cv);
4746
wpa = cv;
4847
}
4948

proxy/proxy-impl/src/main/java/org/apache/aries/proxy/synthesizer/Synthesizer.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.io.FileInputStream;
2323
import java.io.FileOutputStream;
2424

25+
import org.apache.aries.proxy.impl.AsmApiVersion;
2526
import org.objectweb.asm.ClassReader;
2627
import org.objectweb.asm.ClassVisitor;
2728
import org.objectweb.asm.ClassWriter;
@@ -82,7 +83,7 @@ public static class CustomClassVisitor extends ClassVisitor
8283

8384
public CustomClassVisitor( ClassVisitor cv)
8485
{
85-
super(Opcodes.ASM8, cv);
86+
super(AsmApiVersion.apiVersion, cv);
8687

8788
}
8889
@Override

0 commit comments

Comments
 (0)