All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opalj.br.reader.Java7LibraryFramework.scala Maven / Gradle / Ivy

The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package br
package reader

import org.opalj.bi.reader.AttributesReader
import org.opalj.bi.reader.SkipUnknown_attributeReader

/**
 * This "framework" can be used to read in Java 7 (version 51) class files if only
 * the public interface of a class is needed.
 *
 * @author Michael Eichberg
 */
trait Java7LibraryFramework
    extends ConstantPoolBinding
    with FieldsBinding
    with MethodsBinding
    with ClassFileBinding
    with AttributesReader
    /* If you want unknown attributes to be represented, uncomment the following: */
    // with Unknown_attributeBinding
    /* and comment out the following line: */
    with SkipUnknown_attributeReader
    with AnnotationAttributesBinding
    with InnerClasses_attributeBinding
    with EnclosingMethod_attributeBinding
    with SourceFile_attributeBinding
    with Deprecated_attributeBinding
    with Signature_attributeBinding
    with Synthetic_attributeBinding
    with ConstantValue_attributeBinding
    with Exceptions_attributeBinding

    // WE HAVE TO LOAD THE JAVA 9 MODULE ATTRIBUTE IN ALL CASES, BECAUSE IT DEFINES THE CRUCIAL
    // INFORMATION REQUIRED TO THE MODULARIZATION OF THE `PROJECT` (THIS IS TRUE EVEN IF WE ARE
    // NOT INTERESTED IN ADVANCED Java8+ ATTRIBUTES...)
    with Module_attributeBinding

object Java7LibraryFramework extends Java7LibraryFramework {

    final override def loadsInterfacesOnly: Boolean = true

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy