/*
Компилятор языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной
общественной лицензии GNU.
Вы должны были получить копию Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package ru.malik.elaborarer.avtoo.lang;
import avt.lang.array.*;
public class Property(OverriddableMember, Cloneable, Measureable, ObjectArray, TypedItem, TypedMember, Fieldoid, AVTOOConstants)
{
private Method fldReadSynthetic;
private Method fldWriteSynthetic;
private Method fldIndexSynthetic;
private Method fldStoredSynthetic;
private TypedMember fldReadMember;
private TypedMember fldWriteMember;
private TypedMember fldIndexMember;
private TypedMember fldStoredMember;
private Constant fldReadConstant;
private Constant fldIndexConstant;
private Constant fldStoredConstant;
public (ClassType parentType, int attributes, Type type, String specialSimpleName, int declarationPosition, int documentationPosition):
super(parentType, attributes, type, specialSimpleName, declarationPosition, documentationPosition) {
}
public String toString() { return Fieldoid.super.toString(); }
public final boolean hasRead() { return fldReadSynthetic != null; }
public final boolean hasWrite() { return fldWriteSynthetic != null; }
public final boolean hasIndex() { return fldIndexSynthetic != null; }
public final boolean hasStored() { return fldStoredSynthetic != null; }
public final TypedMember readMember { read = fldReadMember, write = fldReadMember }
public final TypedMember writeMember { read = fldWriteMember, write = fldWriteMember }
public final TypedMember indexMember { read = fldIndexMember, write = fldIndexMember }
public final TypedMember storedMember { read = fldStoredMember, write = fldStoredMember }
public final Constant readConstant { read = fldReadConstant, write = fldReadConstant }
public final Constant indexConstant { read = fldIndexConstant, write = fldIndexConstant }
public final Constant storedConstant { read = fldStoredConstant, write = fldStoredConstant }
public final Method readSynthetic { read = fldReadSynthetic }
public final Method writeSynthetic { read = fldWriteSynthetic }
public final Method indexSynthetic { read = fldIndexSynthetic }
public final Method storedSynthetic { read = fldStoredSynthetic }
package final void setReadSynthetic(Method readSynthetic) { fldReadSynthetic = readSynthetic; }
package final void setWriteSynthetic(Method writeSynthetic) { fldWriteSynthetic = writeSynthetic; }
package final void setIndexSynthetic(Method indexSynthetic) { fldIndexSynthetic = indexSynthetic; }
package final void setStoredSynthetic(Method storedSynthetic) { fldStoredSynthetic = storedSynthetic; }
protected String composeFasmSimpleName() { return specialSimpleName; }
protected String composeFasmFullName() { return Fieldoid.super.composeFasmFullName(); }
}