/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.bcel.visitors;
import org.apache.bcel.classfile.AnnotationDefault;
import org.apache.bcel.classfile.AnnotationEntry;
import org.apache.bcel.classfile.Annotations;
import org.apache.bcel.classfile.BootstrapMethods;
import org.apache.bcel.classfile.Code;
import org.apache.bcel.classfile.CodeException;
import org.apache.bcel.classfile.ConstantClass;
import org.apache.bcel.classfile.ConstantDouble;
import org.apache.bcel.classfile.ConstantFieldref;
import org.apache.bcel.classfile.ConstantFloat;
import org.apache.bcel.classfile.ConstantInteger;
import org.apache.bcel.classfile.ConstantInterfaceMethodref;
import org.apache.bcel.classfile.ConstantLong;
import org.apache.bcel.classfile.ConstantMethodref;
import org.apache.bcel.classfile.ConstantNameAndType;
import org.apache.bcel.classfile.ConstantPool;
import org.apache.bcel.classfile.ConstantString;
import org.apache.bcel.classfile.ConstantUtf8;
import org.apache.bcel.classfile.ConstantValue;
import org.apache.bcel.classfile.Deprecated;
import org.apache.bcel.classfile.EnclosingMethod;
import org.apache.bcel.classfile.ExceptionTable;
import org.apache.bcel.classfile.Field;
import org.apache.bcel.classfile.InnerClass;
import org.apache.bcel.classfile.InnerClasses;
import org.apache.bcel.classfile.JavaClass;
import org.apache.bcel.classfile.LineNumber;
import org.apache.bcel.classfile.LineNumberTable;
import org.apache.bcel.classfile.LocalVariable;
import org.apache.bcel.classfile.LocalVariableTable;
import org.apache.bcel.classfile.LocalVariableTypeTable;
import org.apache.bcel.classfile.Method;
import org.apache.bcel.classfile.MethodParameters;
import org.apache.bcel.classfile.ParameterAnnotations;
import org.apache.bcel.classfile.Signature;
import org.apache.bcel.classfile.SourceFile;
import org.apache.bcel.classfile.StackMap;
import org.apache.bcel.classfile.StackMapEntry;
import org.apache.bcel.classfile.StackMapTable;
import org.apache.bcel.classfile.StackMapTableEntry;
import org.apache.bcel.classfile.Synthetic;
import org.apache.bcel.classfile.Unknown;
import org.apache.bcel.classfile.Visitor;
public class CounterVisitor implements Visitor
{
public int unknownCount = 0;
public int syntheticCount = 0;
public int stackMapEntryCount = 0;
public int stackMapCount = 0;
public int sourceFileCount = 0;
public int signatureAnnotationCount = 0;
public int parameterAnnotationCount = 0;
public int methodCount = 0;
public int localVariableTypeTableCount = 0;
public int localVariableTableCount = 0;
public int localVariableCount = 0;
public int lineNumberTableCount = 0;
public int lineNumberCount = 0;
public int javaClassCount = 0;
public int innerClassesCount = 0;
public int innerClassCount = 0;
public int fieldCount = 0;
public int exceptionTableCount = 0;
public int enclosingMethodCount = 0;
public int deprecatedCount = 0;
public int constantValueCount = 0;
public int constantUtf8Count = 0;
public int constantStringCount = 0;
public int constantNameAndTypeCount = 0;
public int constantPoolCount = 0;
public int constantMethodrefCount = 0;
public int constantLongCount = 0;
public int constantIntegerCount = 0;
public int constantInterfaceMethodrefCount = 0;
public int constantFloatCount = 0;
public int constantFieldrefCount = 0;
public int constantClassCount = 0;
public int constantDoubleCount = 0;
public int codeExceptionCount = 0;
public int codeCount = 0;
public int annotationEntryCount = 0;
public int annotationDefaultCount = 0;
public int annotationCount = 0;
public int stackMapTableCount = 0;
public int stackMapTableEntryCount = 0;
public int bootstrapMethodsCount = 0;
public int methodParametersCount = 0;
public void visitAnnotation(Annotations obj)
{
annotationCount++;
}
public void visitAnnotationDefault(AnnotationDefault obj)
{
annotationDefaultCount++;
}
public void visitAnnotationEntry(AnnotationEntry obj)
{
annotationEntryCount++;
}
public void visitCode(Code obj)
{
codeCount++;
}
public void visitCodeException(CodeException obj)
{
codeExceptionCount++;
}
public void visitConstantClass(ConstantClass obj)
{
constantClassCount++;
}
public void visitConstantDouble(ConstantDouble obj)
{
constantDoubleCount++;
}
public void visitConstantFieldref(ConstantFieldref obj)
{
constantFieldrefCount++;
}
public void visitConstantFloat(ConstantFloat obj)
{
constantFloatCount++;
}
public void visitConstantInteger(ConstantInteger obj)
{
constantIntegerCount++;
}
public void visitConstantInterfaceMethodref(ConstantInterfaceMethodref obj)
{
constantInterfaceMethodrefCount++;
}
public void visitConstantLong(ConstantLong obj)
{
constantLongCount++;
}
public void visitConstantMethodref(ConstantMethodref obj)
{
constantMethodrefCount++;
}
public void visitConstantNameAndType(ConstantNameAndType obj)
{
constantNameAndTypeCount++;
}
public void visitConstantPool(ConstantPool obj)
{
constantPoolCount++;
}
public void visitConstantString(ConstantString obj)
{
constantStringCount++;
}
public void visitConstantUtf8(ConstantUtf8 obj)
{
constantUtf8Count++;
}
public void visitConstantValue(ConstantValue obj)
{
constantValueCount++;
}
public void visitDeprecated(Deprecated obj)
{
deprecatedCount++;
}
public void visitEnclosingMethod(EnclosingMethod obj)
{
enclosingMethodCount++;
}
public void visitExceptionTable(ExceptionTable obj)
{
exceptionTableCount++;
}
public void visitField(Field obj)
{
fieldCount++;
}
public void visitInnerClass(InnerClass obj)
{
innerClassCount++;
}
public void visitInnerClasses(InnerClasses obj)
{
innerClassesCount++;
}
public void visitJavaClass(JavaClass obj)
{
javaClassCount++;
}
public void visitLineNumber(LineNumber obj)
{
lineNumberCount++;
}
public void visitLineNumberTable(LineNumberTable obj)
{
lineNumberTableCount++;
}
public void visitLocalVariable(LocalVariable obj)
{
localVariableCount++;
}
public void visitLocalVariableTable(LocalVariableTable obj)
{
localVariableTableCount++;
}
public void visitLocalVariableTypeTable(LocalVariableTypeTable obj)
{
localVariableTypeTableCount++;
}
public void visitMethod(Method obj)
{
methodCount++;
}
public void visitParameterAnnotation(ParameterAnnotations obj)
{
parameterAnnotationCount++;
}
public void visitSignature(Signature obj)
{
signatureAnnotationCount++;
}
public void visitSourceFile(SourceFile obj)
{
sourceFileCount++;
}
public void visitStackMap(StackMap obj)
{
stackMapCount++;
}
public void visitStackMapEntry(StackMapEntry obj)
{
stackMapEntryCount++;
}
public void visitSynthetic(Synthetic obj)
{
syntheticCount++;
}
public void visitUnknown(Unknown obj)
{
unknownCount++;
}
public void visitStackMapTable(StackMapTable obj)
{
stackMapTableCount++;
}
public void visitStackMapTableEntry(StackMapTableEntry obj)
{
stackMapTableEntryCount++;
}
public void visitBootstrapMethods(BootstrapMethods obj)
{
bootstrapMethodsCount++;
}
public void visitMethodParameters(MethodParameters obj)
{
methodParametersCount++;
}
}