blob: 92173c84fb83d4ced7679ab05ad882b20a23a53b [file] [log] [blame]
/*******************************************************************************
* Copyright © 2012, 2013 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*
*******************************************************************************/
package eglx.lang;
/**
* Put EGLProperty on a field to indicate that it should always be accessed through
* getter and/or setter functions in generated code. If only getMethod is set,
* the field is read-only.
*
* Use the Property annotation, not EGLProperty, on fields of ExternalTypes.
*/
Record EGLProperty type Annotation
{
targets = [ElementKind.FieldMbr],
validationProxy = "org.eclipse.edt.compiler.binding.annotationType.EGLPropertyAnnotationProxy"
}
getMethod egl.lang.reflect.FunctionReference;
setMethod egl.lang.reflect.FunctionReference;
end
/**
* Put Property on a field of an ExternalType to indicate that it should always
* be accessed through getter and/or setter functions in generated code. If only
* getMethod is set, the field is read-only.
*/
Record Property type Annotation
{
targets = [ElementKind.FieldMbr],
validationProxy = "org.eclipse.edt.compiler.binding.annotationType.PropertyAnnotationProxy"
}
getMethod String;
setMethod String;
end
/**
* Use ExternalName on fields and functions of ExternalTypes when their names
* aren't valid EGL identifiers.
*/
Record ExternalName type Annotation
{
targets = [
ElementKind.FieldMbr,
ElementKind.FunctionMbr
]
}
value String;
end
/**
* The stereotype for all Exceptions.
*/
Record Exception type Stereotype
{
targets = [ElementKind.recordPart],
defaultSuperType = AnyException
}
end
Record EventListener type Annotation
{
targets = [
ElementKind.FieldMbr
]
}
addMethod String;
listenerType String;
method String;
end
Record Throws type Annotation
{
targets = [ElementKind.FunctionMbr, ElementKind.ConstructorMbr],
validationProxy = "org.eclipse.edt.compiler.binding.annotationType.ThrowsAnnotationProxy"
}
end