Skip to content
This repository has been archived by the owner on Sep 14, 2018. It is now read-only.

Feature symbols

tmat edited this page Dec 31, 2011 · 12 revisions

Feature Symbols

Feature Symbols (named FEATURE_{feature name}, all caps) are compilation symbols defined for features whose availability vary across platforms that Iron languages support. The symbols are defined in Solutions\Common.proj file, which is included by all .csproj files that contribute to IronRuby, IronPython and the DLR build.

The following symbols are currently used:

FEATURE_ASSEMBLY_RESOLVE

Runtime assembly resolution (System.AppDomain.AssemblyResolve event).

FEATURE_BASIC_CONSOLE

Basic Console features like Console.WriteLine, Console.ReadLine.

FEATURE_CODEDOM

FEATURE_COM

FEATURE_CONFIGURATION

Configuration files (System.Configuration).

FEATURE_CORE_DLR

The platform contains Core DLR types: statement trees and dynamic sites.

FEATURE_CRYPTOGRAPHY

FEATURE_CUSTOM_TYPE_DESCRIPTOR

System.ComponentModel.ICustomTypeDescriptor interface.

FEATURE_DBNULL

DBNull type.

FEATURE_DEFAULT_PARAMETER_VALUE

DefaultParameterValueAttribute.

FEATURE_ENCODING

Full encoding support: code pages, decoder/encoder fallbacks.

FEATURE_EXCEPTION_STATE

ThreadAbortException.ExceptionState.

FEATURE_FILESYSTEM

Full file system (Directory, File, Path, FileStream, etc.)

FEATURE_FULL_CONSOLE

Full Console APIs including stdin, stdout, stderr streams, colors, etc.

FEATURE_FUNCS_5_16

Func<...> and Action<...> with 5 to 16 parameters.

FEATURE_METADATA_READER

DLR metadata reader available.

FEATURE_NATIVE

Native code interop: P/Invokes, CTypes, etc.

FEATURE_NUMERICS

System.Numerics namespace (BigInteger, Complex types).

FEATURE_PDBEMIT

Ability to emit PDB files.

FEATURE_PROCESS

Processes, AppDomains, process-wide environment variables.

FEATURE_REFEMIT

Reflection.Emit.

FEATURE_REMOTING

Remoting (MarshalByRefObject).

FEATURE_SERIALIZATION

Serialization - Serializable attribute, ISerializable interface.

FEATURE_STACK_TRACE

System.Diagnostics.StackTrace, System.Diagnostics.StackFrame.

FEATURE_SYNC_SOCKETS

System.Net.Sockets.

FEATURE_TASKS

System.Tasks.

FEATURE_THREAD

Threads, ThreadAbortException.

FEATURE_TYPE_EQUIVALENCE

System.Type.IsEquivalent()

FEATURE_TYPECONVERTER

System.ComponentModel.TypeConverter and TypeConverterAttribute types.

FEATURE_VARIANCE

Covariance and contravariance of generic interface and delegate parameters.

FEATURE_WPF

FEATURE_XMLDOC

XML documentation available at runtime.