blob: dc07cfee9effae5414afa3df7985f99214cd4327 [file] [log] [blame]
//
// 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.
//
= Class Files vs. Signature Files
:page-layout: wikimenu
:page-tags: wiki, devfaq, needsreview
:jbake-status: published
:keywords: Apache NetBeans wiki JavaHT ClassFilesVsSignatureFiles
:description: Apache NetBeans wiki JavaHT ClassFilesVsSignatureFiles
:toc: left
:toc-title:
:page-syntax: true
:page-aliases: ROOT:wiki/JavaHT_ClassFilesVsSignatureFiles.adoc
Although the previous text spoke about loading class files, the IDE does not use true class files much. When a file is compiled by the IDE, the result is not a class file, but rather a "signature" file. These files contain specification of classes and signatures of their members. The main differences between class files and signature files are:
* the signature files do not contain method bodies
* the signature files do contain annotations with RetentionPolicy.SOURCE
* the signature files do contain parameter names (which are stored only as part of the debug information into the class files)
The format of the signature files is subject of change at any time, as it is used only to create the IDE's caches.
NOTE: for most purposes, it is not important if an Element has been load from the class file or from the signature file.