/*
Реализация среды исполнения языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
общественной лицензии GNU.
Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package avt.lang;
public abstract class ReflectiveObject(Object)
{
public static final int PRIVATE = 0x00;
public static final int DEFAULT = 0x02;
public static final int SOURCE = 0x02;
public static final int PACKAGE = 0x04;
public static final int PROTECTED = 0x05;
public static final int PUBLIC = 0x06;
public static final int PUBLISHED = 0x07;
public static final int VISIBILITY_MASK = 0x07;
public static final int ABSTRACT = 0x08;
public static final int FINAL = 0x10;
protected final int fldAttributes;
protected () { }
protected (int attributes) { fldAttributes = attributes; }
public boolean isAbstract() { return (fldAttributes & ABSTRACT) != 0; }
public boolean isFinal() { return (fldAttributes & FINAL) != 0; }
public abstract String simpleName { read }
public int attributes { read = fldAttributes }
public int visibility { read = fldAttributes & VISIBILITY_MASK }
}