RemObjects.Elements.Cirrus

Classes

Class Notes
Aspects Special class with methods that can be used from aspect-anonymous methods
AspectsHelper Extension class for the aspects code
BaseFilteredAspect Note: When using filters, make sure the filter also validates on the Type when using the AutoInjectAspectAttribute, else the attribute will be skipped
FxAttributeData
GenericParameter0 Dummy class to be used in type signatures as a generic parameter specifier
GenericParameter1 Dummy class to be used in type signatures as a generic parameter specifier
GenericParameter2 Dummy class to be used in type signatures as a generic parameter specifier
GenericParameter3 Dummy class to be used in type signatures as a generic parameter specifier
GenericParameter4 Dummy class to be used in type signatures as a generic parameter specifier
GenericParameter5 Dummy class to be used in type signatures as a generic parameter specifier
MacroAspect
MethodGenericParameter0 Dummy class to be used in type signatures as a generic parameter specifier
MethodGenericParameter1 Dummy class to be used in type signatures as a generic parameter specifier
MethodGenericParameter2 Dummy class to be used in type signatures as a generic parameter specifier
MethodGenericParameter3 Dummy class to be used in type signatures as a generic parameter specifier
MethodGenericParameter4 Dummy class to be used in type signatures as a generic parameter specifier
MethodGenericParameter5 Dummy class to be used in type signatures as a generic parameter specifier
Position
StatementDelegate Special delegate; when this is a destination type in a method call, the compiler will turn the anonymous method into a statement tree
TypeCodes

Interfaces

Interface Notes
IArrayType Interface for array types
IAspectFilter Interface called before an aspect is callled for a given member; gives a chance to filter based on them
IAspectFinishCallback
IAssemblyExclusveDecorator
IAssemblyImplementationDecorator
IAssemblyInterfaceDecorator
IAttribute Read-only attribute, useful to read the content of attributes on foreign members
IAttributeDefinition New or modifiable attribute
IAttributeDefinitionProvider Base class for items that support adding and editing attributes
IAttributesProvider Base interface for items that support attributes
IAutoGenMethodImplementationDecorator Attribute. This interface and its methods should never be manually implemented as it will break the code generator for the auto inject attribute
IBaseAspect Base interface for any aspect that is processed by the compiler. The compiler will raise an error when this interface is not implemented by the aspect class
IConstant Constant member on a class
IConstantDefinition Constant member on a class defined in the current project
IContext Context interface used for method aspects
IDuckTypeDecorator Decorator interface for duck type aspects.
IElementDefinition Base interface for elements
IEvent Interface to be implemented by any aspect that wants to influence the implementation of an event
IEventDefinition Event definition interface
IEventImplementationDecorator Interface to be implemented by any aspect that wants to influence the implementation of an event
IEventInterfaceDecorator Interface to be implemented by any aspect that wants to influence the interface of an event
IField Interface to be implemented by any aspect that wants to influence any fields defined in a class
IFieldDefinition Field definition interface
IFieldInterfaceDecorator Interface to be implemented by any aspect that wants to influence any fields defined in a class
IGenericInstantiationType Generic instantiation type
IGenericParametersProvider Method or class that has generic parameters
IGenericParameterType Generic parameter type defintion
IGenericParameterTypeDefinition Generic parameter type defintion
IGetFxData
IImplements Implements item; a method that explicitly implements an interface member
ILanguageSpecific
ILanguageSpecificDefinition
ILinkType
ILocal Interface to modify the local in a method definition
IMacroInput
IManagedReferenceType Managed type reference; these can only exist in parameters (where they are used for "var parameters") and in locals on the stack
IMember Member on a foreign or internal type
IMemberDefinition Member definition
IMethod Interface to be implemented by any aspect that wants to influence the interface of a method
IMethodCallDecorator Interface to be implemented by method call aspect classes
IMethodDefinition Method definition interface
IMethodImplementationDecorator Interface to be implemented by any aspect that wants to influence the implementation of a method
IMethodInterfaceDecorator Interface to be implemented by any aspect that wants to influence the interface of a method
IModifiedType Modified type reference
IMultiDimArrayType Multidimensional array, an array with ranges specified
INotNullableType
IParameter Parameter definition
IParameterDefinition Parameter definition
IPointerType Unmanaged pointer type
IPosition Position interface, used to override positions on messages
IProperty Interface to be implemented by any aspect that wants to influence the interface of a property
IPropertyDefinition Property definition object
IPropertyImplementationDecorator Interface to be implemented by any aspect that wants to influence the implementation of a property
IPropertyInterfaceDecorator Interface to be implemented by any aspect that wants to influence the interface of a property
IRemappedType
IServices Compiler services interface
ISimpleArrayType Simple array type: array without specified ranges
IType Interface to be implemented by any aspect that wants to influence the signature of a type, modify the ancestry or add members
ITypeDefinition Type definition, a type defined in the source files that are currently being compiled
ITypeImplementationDecorator Interface to be implemented by any aspect that wants to influence the implementation of a type
ITypeInterfaceDecorator Interface to be implemented by any aspect that wants to influence the signature of a type, modify the ancestry or add members
ITypeReference External or internal type reference; generally this is a class, record, delegate or interface of some kind
IWrappedNullableType

Enums

Enum Notes
ClassModel
DuckTypeAspectKind duck type aspect type
ElementKind ElementKind is used to differentiate between the different types that implement the IElement interface.
GenericParameterVariance Genericvariance contains the different variance modes generic parameters support.
Language
MethodType
ParameterModifier Contains the parameter modifier, like in, out, or inout.
Platform Platform the compiler runs on
SurroundMethod This enum is used to specify the mode used to surround a method call with the provided statement classes.
ThrowsState
TypeDefKind Contains the possible type definition kinds.
TypeKind Contains the type kind.
VirtualMode Specifies the virtual/override mode of a member.
Visibility Contains the visibility of a member.

Records

Record
TokenFragment

Exceptions

Exception Notes
CirrusException Cirrus exception: Serializable exception class that is triggered when an error occurs in api calls from the aspect code

Attributes

Attribute Notes
AspectPlatform Attribute to define what platforms this aspect works on
AutoInjectIntoTarget Specialized aspect attribute to automatically create a method in the class this attribute is applied to
DuckTypeAspect Attribute to denote a duck type processor.
GenericParameterTypeSpecifier Attribute used to define a generic type for use in signatures
InjectInterface Attribute used to tell the compiler to automatically inject an interface into the target class
InjectIntoTarget This attribute is used as a hint to the compiler and code completion that the member it is applied on will exist on the target class
MethodAspect Aspect to be applied to classes that implement a method aspect
RequiredInTarget Attribute used to tell the compiler that this aspect will require the specified member in the target class
RequiresBaseClass Attribute used to tell the compiler that this aspect will require a specific base class
RequiresGenericParameters Attribute used to tell the compiler that this attribute requires the target class to have a specific number of generic parameters
RequiresInterface Attribute used to tell the compiler that this aspect requires an interface to be already implemented
UnwrapType Attribute to unwrap a typeOf() as an IType in parameters.

Extensions

Extension
IMethodDefinition