Package Metaspec

Classes

interface  ICsAstVisitor
 Abstract Syntax Tree Visitor. More...
interface  ICsAstCallback
 AST Node callback interface. More...
class  ExternAlias
 Extern alias. More...
class  CsEntity
 Abstract Entity class. Base class for all entity classes. More...
class  CsScopeEntity
 Base class for all scope entities. More...
class  CsEntityNamespace
 Namespace entity. More...
class  CsEntityTypeRef
 Entity type specifier. More...
struct  CsEntityArrayBoundSpecifier
 Array bounds specifier. More...
class  CsEntityArraySpecifier
 Array type specifier. More...
class  CsEntityFormalParameterSpecifier
 Formal parameter specifier. More...
class  CsEntityGenericParam
 Generic Parameter Entity. More...
class  CsEntityFormalParametersSpecifier
 Formal parameters specifier. More...
class  CsEntityInstanceSpecifier
 Generic type instance specifier. More...
class  CsEntityBlock
 Local block entity. More...
class  CsEntityFormalParameter
 Formal parameter entity. More...
interface  ISetCsEntityFormalParameterList
class  CsEntityMethodSpecifier
 Method specifier. More...
class  CsEntityMethod
 Method entity. More...
struct  CsEntityMethodImplementation
 Explicit interface method implementation. More...
class  CsEntityType
 Base class for all types. More...
class  CsEntityClass
 Class type entity. More...
class  CsEntityStruct
 Struct type entity. More...
class  CsEntityInterface
 Interface type entity. More...
class  CsEntityEnum
 Enum type entity. More...
class  CsEntityConstantBase
 Abstract constant entity base class. More...
class  CsEntityConstant
 Constant entity. More...
class  CsEntityVariable
 Variable entity. More...
class  CsEntityBlockVariable
 Local block variable entity. More...
class  CsEntityDelegate
 Delegate type entity. More...
class  CsEntityProperty
 Property entity. More...
class  CsEntityEvent
 Event entity. More...
class  CsEntityLocalConstant
 Local constant entity. More...
class  CsEntityLocalVariable
 Local variable entity. More...
class  CsEntityAnonymousMethod
 Anonymous method entity. More...
class  CsEntityAttribute
 Attribute. More...
class  CsEntityAttributeArgument
 Attribute argument. More...
class  CsEntityAttributeFixedArgument
 Fixed attribute. More...
class  CsEntityAttributeNamedArgument
 Named attribute. More...
class  CsTokenCollector
 Token Collector. More...
class  CsEntityCollector
 Entity collector. More...
struct  constant_expression_data
 Constant expression data. More...
class  CsConversion
 Abstract conversion. More...
class  CsImplicitConversion
 Implicit conversion. More...
class  CsExplicitConversion
 Explicit conversion. More...
class  CsBoxingConversion
 Boxing conversion. More...
class  CsUnboxingConversion
 Unboxing conversion. More...
class  CsImplicitUserDefinedConversion
 Implicit user defined conversion. More...
class  CsExplicitUserDefinedConversion
 Explicit user defined conversion. More...
class  CsMethodGroupToDelegateConversion
 Method group to delegate conversion. More...
class  CsAnonymousFunctionConversion
 Anonymous function conversion. More...
class  CsConversionInvocation
 Conversion invocation. More...
interface  ILastIdentifier
class  CsNode
 Abstract AST node. Base class for all AST node classes. More...
class  CsScopeNode
 Base class for AST nodes containing scope. More...
struct  CsIdentifier
 Identifier. More...
struct  CsQualifiedIdentifierPart
 Identifier. More...
class  CsQualifiedIdentifier
 Qualified identifier. More...
class  CsExternAliasDirective
 Extern Alias Directive. More...
class  CsTypeArgumentList
 Type Argument List. More...
interface  ISetCsTypeArgumentList
class  CsQualifiedAliasMember
 Qualified-alias-member. More...
class  CsNamespaceOrTypeName
 Namespace-or-type-name. More...
class  CsUsingDirective
 Using-directive AST node. More...
class  CsUsingAliasDirective
 Using-alias-directive AST node. More...
class  CsUsingNamespaceDirective
 Using-namespace-directive AST node. More...
class  CsScopeNodeWithUsingDirectives
 Base class for AST scope nodes containing using directives. More...
class  CsTypeSpecifier
 Type specifier. More...
class  CsTypeSpecifiers
 Type specifiers. More...
class  CsTypeRef
 Type AST node. More...
class  CsConstantOrAttributeValue
 Constant or attribute value. More...
class  CsExpression
 Abstract expression AST node. More...
class  CsPrimaryExpression
 Abstract primary expression AST node. More...
class  CsSimpleName
 Simple name expression AST node. More...
class  CsLiteral
 Literal expression AST node. More...
class  CsPredefinedTypeMemberAccess
 Embedded type member access AST node. More...
class  CsQualifiedAliasMemberAccess
 Qualified Alias Member. More...
class  CsThisAccess
 This access AST node. More...
class  CsBaseMemberAccess
 Base member access AST node. More...
class  CsBaseIndexerAccess
 Base indexer access AST node. More...
class  CsTypeofExpression
 Typeof expression AST node. More...
class  CsCheckedExpression
 Checked expression AST node. More...
class  CsUncheckedExpression
 Unchecked expression AST node. More...
class  CsSizeofExpression
 Sizeof expression AST node. More...
class  CsParenthesizedExpression
 Parenthesized expression AST node. More...
class  CsMemberInitializer
 Member initializer AST node. More...
class  CsObjectInitializer
 Object initializer AST node. More...
class  CsCollectionInitializer
 Collection initializer AST node. More...
class  CsNewObjectExpression
 New object expression AST node. More...
class  CsNewArrayExpression
 New array expression AST node. More...
class  CsMemberDeclarator
 Member declarator AST node. More...
class  CsAnonymousObjectCreationExpression
 Anonymous object creation expression AST node. More...
class  CsInvocationExpression
 Invocation expression AST node. More...
class  CsElementAccess
 Element access AST node. More...
interface  ISetCsExpression
class  CsPrimaryExpressionMemberAccess
 Primary expression member access AST node. More...
class  CsPointerMemberAccess
 Pointer member access AST node. More...
class  CsPostIncrementDecrementExpression
 Postincrement or postdecrement expression AST node. More...
class  CsUnaryExpression
 Abstract unary expression AST node. More...
class  CsBinaryExpression
 Binary expression AST node. More...
class  CsAsIsExpression
 As or is expression AST node. More...
class  CsConditionalExpression
 Conditional expression AST node. More...
class  CsOperatorUnaryExpression
 Operator unary expression AST node. More...
class  CsPreIncrementDecrementExpression
 Preincrement or predecrement expression AST node. More...
class  CsCastUnaryExpression
 Cast unary expression AST node. More...
class  CsAssignmentExpression
 Assignment expression AST node. More...
class  CsDefaultValueExpression
 Default value expression AST node. More...
class  CsExpressionListBase
 Abstract expression list AST node. More...
class  CsExpressionList
 Expression list AST node. More...
interface  ISeparatorToken
class  CsElementInitializer
 Expression initializer AST node. More...
class  CsNamedArgument
 Attribute named attribute AST node. More...
class  CsPositionalArgumentList
 Positional argument list AST node. More...
class  CsNamedArgumentList
 Named argument list AST node. More...
class  CsAttribute
 Attribute AST node. More...
class  CsAttributeSection
 Attribute section AST node. More...
class  CsAttributes
 Attributes AST node. More...
class  CsTypeBase
 Type base AST node. More...
class  CsTypeParameter
 Type parameter AST node. More...
class  CsTypeParameterList
 Type parameter list AST node. More...
class  CsTypeParameterConstraintsClause
 Type parameter list AST node. More...
struct  CsModifiers
 Modifiers bitset. More...
class  CsClassStruct
 Base for class and struct AST nodes. More...
class  CsClass
 Class AST node. More...
class  CsStruct
 Struct AST node. More...
class  CsInterface
 Interface AST node. More...
class  CsEnumMember
 Enum member AST node. More...
class  CsEnum
 Enum AST node. More...
class  CsDefaultArgument
 Default parameter AST node. More...
class  CsFormalParameter
 Formal parameter AST node. More...
class  CsFormalParameterListBase
 Formal parameter list intermediate class. More...
class  CsFormalParameterList
 Formal parameter list AST node. More...
class  CsDelegate
 Delegate AST node. More...
class  CsNamespace
 Namespace AST node. More...
class  CsArgumentName
 Argument name AST node. More...
class  CsArgument
 Argument AST node. More...
class  CsArgumentList
 Argument list AST node. More...
class  CsStatement
 Abstract statement AST node. More...
class  CsBlock
 Block AST node. More...
class  CsAnonymousFunctionSignature
 Anonymous function signature. More...
class  CsAnonymousMethodExpression
 Anonymous method expression AST node. More...
class  CsLambdaExpression
 Lambda expression declaration AST node. More...
class  CsLabel
 Label AST node. More...
class  CsLabeledStatement
 Labeled statement AST node. More...
class  CsEmptyStatement
 Empty statement AST node. More...
class  CsExpressionStatement
 Expression statement AST node. More...
class  CsDeclarationStatement
 Declaration statement AST node. More...
class  CsLocalConstantDeclarator
 Local constant declarator AST node. More...
class  CsLocalConstantDeclaration
 Local constant declaration AST node. More...
class  CsIfStatement
 If statement AST node. More...
class  CsSwitchLabel
 Switch label AST node. More...
class  CsSwitchSection
 Switch section AST node. More...
class  CsSwitchStatement
 Switch statement AST node. More...
class  CsWhileStatement
 While statement AST node. More...
class  CsDoWhileStatement
 Do while statement AST node. More...
class  CsLocalVariableDeclarator
 Local variable declarator AST node. More...
class  CsLocalVariableDeclaration
 Local variable declaration AST node. More...
class  CsStatementExpressionList
 Statement expression list AST node. More...
class  CsForStatement
 For statement AST node. More...
class  CsForeachStatement
 Foreach statement AST node. More...
class  CsBreakStatement
 Break statement AST node. More...
class  CsContinueStatement
 Continue statement AST node. More...
class  CsGotoStatement
 Goto statement AST node. More...
class  CsReturnStatement
 Return statement AST node. More...
class  CsThrowStatement
 Throw statement AST node. More...
class  CsCatchClause
 Catch clause AST node. More...
class  CsTryStatement
 Try statement AST node. More...
class  CsCheckedStatement
 Checked statement AST node. More...
class  CsUncheckedStatement
 Unchecked statement AST node. More...
class  CsLockStatement
 Lock statement AST node. More...
class  CsUsingStatement
 Using statement AST node. More...
class  CsUnsafeStatement
 Unsafe statement AST node. More...
class  CsFixedPointDeclarator
 Fixed point declarator AST node. More...
class  CsFixedStatement
 Fixed statement AST node. More...
class  CsYieldStatement
 Yield statement AST node. More...
class  CsStackAllocInitializer
 Stack alloc initializer AST node. More...
class  CsConstructor
 Constructor declaration AST node. More...
class  CsConstantDeclarator
 Constant declarator AST node. More...
class  CsConstantDeclaration
 Constant declaration AST node. More...
class  CsVariableDeclarator
 Variable declarator AST node. More...
class  CsVariableDeclaration
 Variable declaration AST node. More...
class  CsArrayInitializer
 Array initializer AST node. More...
class  CsMethod
 Method AST node. More...
class  CsPropertyAccessor
 Property accessor AST node. More...
class  CsProperty
 Property AST node. More...
class  CsEventAccessor
 Event accessor AST node. More...
class  CsEventDeclarator
 Event declarator AST node. More...
class  CsEvent
 Event AST node. More...
class  CsIndexer
 Indexer AST node. More...
class  CsOperator
 Operator AST node. More...
class  CsConversionOperator
 Conversion operator AST node. More...
class  CsDestructor
 Destructor declaration AST node. More...
class  CsCompilationUnit
 Compilation unit AST node. More...
class  CsJoinClause
 Join clause AST node. More...
class  CsFromClause
 From clause AST node. More...
class  CsLetClause
 Let clause AST node. More...
class  CsWhereClause
 Where clause AST node. More...
class  CsOrdering
 Ordering AST node. More...
class  CsOrderbyClause
 Orderby clause AST node. More...
class  CsSelectClause
 Select clause AST node. More...
class  CsGroupClause
 Group AST node. More...
class  CsQueryContinuation
 Query continuation AST node. More...
class  CsQueryBody
 Query body AST node. More...
class  CsQueryExpression
 Query expression AST node. More...
class  CsMakeRefExpression
 Makeref expression AST node. More...
class  CsRefTypeExpression
 RefType expression AST node. More...
class  CsRefValueExpression
 RefValue expression AST node. More...
class  CsArgListExpression
 Arglist expression AST node. More...
class  CsFixedSizeBufferDeclarator
 Fixed size buffer declarator AST node. More...
class  CsFixedSizeBuffer
 Fixed size buffer AST Node. More...
class  CsStuffExpression
struct  LineInfo
 Line info. More...
struct  CsToken
 C# Token. More...
interface  ICsFile
 Abstract C# file interface. More...
class  ICsFileFactory
 C# file factory. More...
interface  ICsEntityVisitor
 Abstract Entity Visitor. More...
struct  ppline_info
 #line map info. More...
class  CsFile
 C# File. More...
interface  ISolution
 Solution interface. More...
class  ISolutionFactory
 Solution factory. More...
struct  ProjectReference
 Project reference. More...
class  AssemblyEntity
 Assembly entity. More...
interface  IAssemblyEntityOwner
 Assembly entity owner. More...
class  IAssemblyInfo
 Assembly info class. More...
interface  IExternalAssemblyModule
 External assembly module interface. More...
class  IExternalAssemblyModuleFactory
 External assembly module factory. More...
interface  IProject
 Abstract project interface. More...
interface  ICsProject
 Abstract C# project interface. More...
class  ICsProjectFactory
 C# project factory. More...
class  ScopeHashTable
 Scope hash table. More...
interface  IDcVisitor
 DcNode visitor interface. More...
class  CrefNode
 Abstract cref node. More...
struct  CrefIdentifier
 Identifier cref node. More...
class  CrefIdentifierGenericParametersBase
 Identifier with generic parameters abstract base node. More...
class  CrefIdentifierGenericParameters
 Identifier & generic parameters cref node. More...
class  CrefScopeQualifiedAliasMember
 Scope qualified alias member cref node. More...
class  CrefTypeSpecifier
 Cref type specifier. More...
class  CrefTypeRef
 Type cref node. More...
class  CrefTypeArgumentList
 Type Argument List cref node. More...
class  CrefNamespaceOrTypeNameBase
 Namespace or type name base cref node. More...
class  CrefNamespaceOrTypeName
 Namespace or type name cref node. More...
class  CrefQualifiedAliasMember
 Qualified alias member cref node. More...
class  CrefFormalParameter
 Formal parameter cref node. More...
class  CrefNamespaceTypeMember
 Namespace type member cref node. More...
class  CrefMethod
 Method cref node. More...
class  CrefIndexer
 Indexer AST node. More...
class  CrefOperator
 Operator cref node. More...
class  CrefConversionOperator
 Conversion operator cref node. More...
struct  dcmap_info
 Contains information about mapping chars from C# comment tokens to documentation comments xml. More...
class  DcData
 Documentation comments info. More...
struct  DcTokenPos
 Xml token position. More...
class  DcEntityData
 Entity data. Contains entity or entity type reference. More...
class  DcNode
 Abstract Documentation Comments node. More...
class  DcName
 Xml Name node. More...
class  DcEtag
 Xml Etag node. More...
class  DcContentNode
 Abstract Content node part. More...
class  DcCDSect
 Xml CDSect node. More...
class  DcComment
 Xml Comment node. More...
class  DcPI
 Xml PI node. More...
class  DcCharData
 Xml CharData node. More...
class  DcTag
 Xml Tag node. More...
class  DcElement
 Xml Element node. More...
class  DcReference
 Xml Reference node. More...
class  DcEntityRef
 Xml EntityRef node. More...
class  DcCharRef
 Xml CharRef node. More...
class  DcAttValueNonReference
 Xml AttValueNonReference node. More...
class  DcAttValue
 Xml AttValue node. More...
class  DcAttribute
 Xml Attribute node. More...
class  DcContent
 Xml Content node. More...
interface  ICrefCallback
 Cref node callback interface. More...
interface  ICrefVisitor
 Abstract cref visitor interface. More...
interface  IDcCallback
 DcNode callback interface. More...
interface  IExternalAssembly
 External assembly. More...
class  IExternalAssemblyFactory
 External assembly factory. More...
struct  ExternalAssemblyReference
 External assembly reference. More...

Enumerations

enum  cs_entity {
  ent_class, ent_struct, ent_interface, ent_enum,
  ent_delegate, ent_namespace, ent_constant, ent_variable,
  ent_method, ent_property, ent_event, ent_generic_param,
  ent_anonymous_method, ent_formal_parameter, ent_block_variable, ent_block,
  ent_local_constant, ent_local_variable, ent_end
}
 

Entity type enumeration.

More...
enum  cs_entity_access {
  ac_compiler_controlled, ac_public, ac_protected, ac_private,
  ac_internal, ac_protected_internal, ac_protected_and_internal
}
 

Access enumeration.

More...
enum  entity_flags {
  f_skip = 0x0001, f_generated = 0x0002, f_compiler_attribute = 0x0004, f_varargs = 0x0004,
  f_explicit_interface_implementation = 0x0008, f_override = 0x0010, f_static = 0x0020, f_base_class_resolved = 0x0040,
  f_base_method_resolved = 0x0040, f_recursive_inheritance = 0x0080, f_recursive_layout = 0x0100, f_partial = 0x0200,
  f_bad_type_parameters = 0x0400, f_bad_type_parameters_recursive = 0x0800, f_entity_type_lookup = 0x1000, f_entity_member_lookup = 0x2000,
  f_generic_param_constraints_initialized = 0x0200, f_generic_param_effective_base_evaluated = 0x0400, f_variable_constant_attribute = 0x0100, f_constant_evaluating = 0x0100,
  f_constant_evaluated = 0x0200, f_constant_incorrectly_evaluated = 0x0400, f_constant_incorrectly_evaluated_circular_dependency = 0x0800, f_checked = 0x1000,
  f_extension_method = 0x2000, f_anonymous_type = 0x4000, f_snippet = 0x8000, f_metadatamask = 0xfffffff8,
  f_event_SpecialName = 0x0200, f_event_RTSpecialName = 0x0400, f_field_Static = 0x0010, f_field_InitOnly = 0x0020,
  f_field_Literal = 0x0040, f_field_NotSerialized = 0x0080, f_field_HasFieldRVA = 0x0100, f_field_SpecialName = 0x0200,
  f_field_RTSpecialName = 0x0400, f_field_HasFieldMarshal = 0x1000, f_field_PInvokeImpl = 0x2000, f_field_HasDefault = 0x8000,
  f_generic_param_VarianceMask = 0x0003, f_generic_param_Covariant = 0x0001, f_generic_param_Contravariant = 0x0002, f_generic_param_SpecialConstraintMask = 0x001C,
  f_generic_param_ReferenceTypeConstraint = 0x0004, f_generic_param_NotNullableValueTypeConstraint = 0x0008, f_generic_param_DefaultConstructorConstraint = 0x0010, f_method_UnmanagedExport = 0x0008,
  f_method_Static = 0x0010, f_method_Final = 0x0020, f_method_Virtual = 0x0040, f_method_HideBySig = 0x0080,
  f_method_VtableLayoutMask = 0x0000, f_method_ReuseSlot = 0x0000, f_method_NewSlot = 0x0100, f_method_Abstract = 0x0400,
  f_method_SpecialName = 0x0800, f_method_RTSpecialName = 0x1000, f_method_PInvokeImplementation = 0x2000, f_method_HasSecurity = 0x4000,
  f_method_RequireSecObject = 0x8000, f_param_In = 0x0001, f_param_Out = 0x0002, f_param_Optional = 0x0010,
  f_param_HasDefault = 0x1000, f_param_HasFieldMarshal = 0x2000, f_property_SpecialName = 0x0200, f_property_RTSpecialName = 0x0400,
  f_property_HasDefault = 0x1000, f_type_LayoutMask = 0x000018, f_type_AutoLayout = 0x000000, f_type_SequentialLayout = 0x000008,
  f_type_ExplicitLayout = 0x000010, f_type_ClassSemanticsMask = 0x000020, f_type_Class = 0x000000, f_type_Interface = 0x000020,
  f_type_Abstract = 0x000080, f_type_Sealed = 0x000100, f_type_SpecialName = 0x000400, f_type_RTSpecialName = 0x000800,
  f_type_Import = 0x001000, f_type_Serializable = 0x002000, f_type_StringFormatMask = 0x030000, f_type_AnsiClass = 0x000000,
  f_type_UnicodeClass = 0x010000, f_type_AutoClass = 0x020000, f_type_HasSecurity = 0x040000, f_type_BeforeFieldInit = 0x100000
}
enum  cs_entity_type {
  et_unknown, et_void, et_boolean, et_char,
  et_int8, et_uint8, et_int16, et_uint16,
  et_int32, et_uint32, et_int64, et_uint64,
  et_float32, et_float64, et_string, et_ptr,
  et_byref, et_valuetype, et_class, et_array,
  et_genericinst, et_typedbyref, et_intptr, et_uintptr,
  et_fnptr, et_object, et_decimal, et_enum,
  et_generic_param, et_literal_null, et_anonymous_method, et_arglist,
  et_error
}
 

Entity type specifier enumeration. See [ECMA-335, 22.1.15].

More...
enum  cs_entity_special_type { est_none, est_nullable, est_expression_tree }
 

Special type flags.

More...
enum  cs_entity_type_transitive_flag { etf_constant = 0x01, etf_zero = 0x02, etf_dynamic = 0x04 }
 

CsEntityTypeRef transitive flag.

More...
enum  cs_entity_type_nontransitive_flag { etf_szarray = 0x01, etf_implicitly_typed = 0x02, etf_modopt = 0x04 }
 

CsEntityTypeRef non-transitive flag.

More...
enum  cs_entity_type_specifier { ets_empty, ets_pointer, ets_array }
 

Entity type specifier enumeration.

More...
enum  cs_generic_param_type { generic_param_type_var = 0, generic_param_type_mvar = 1 }
 

Generic parameter enumeration.

More...
enum  cs_inferred_type { inferred_false = 0, inferred_true = 1, inferred_inconsistent = 2 }
enum  add_entity_check { aec_ok = 0, aec_entity_exist_added = 1, aec_entity_exist_not_added = 2, aec_scope_not_exist_entity_not_added = 3 }
enum  equal_option { eo_method_generic_parameters_equal_by_index = 0x01, eo_object_and_dynamic_not_equal = 0x02 }
enum  cs_generic_param_constaint {
  gpc_covariant = 0x0001, gpc_contravariant = 0x0002, gpc_referencetype = 0x0004, gpc_valuetype = 0x0008,
  gpc_constructor = 0x0010
}
 

Generic parameter constraint.

More...
enum  cs_node {
  n_unknown, n_extern_alias_directive, n_using_alias_directive, n_using_namespace_directive,
  n_simple_name, n_literal, n_predefined_type_member_access, n_this_access,
  n_base_member_access, n_base_indexer_access, n_typeof_expression, n_checked_expression,
  n_unchecked_expression, n_sizeof_expression, n_parenthesized_expression, n_member_initializer,
  n_object_initializer, n_collection_initializer, n_new_object_expression, n_new_array_expression,
  n_member_declarator, n_anonymous_object_creation_expression, n_invocation_expression, n_element_access,
  n_primary_expression_member_access, n_pointer_member_access, n_post_increment_decrement_expression, n_binary_expression,
  n_as_is_expression, n_conditional_expression, n_operator_unary_expression, n_pre_increment_decrement_expression,
  n_cast_unary_expression, n_assignment_expression, n_qualified_alias_member_access, n_default_value_expression,
  n_anonymous_function_signature, n_anonymous_method_expression, n_expression_list, n_positional_argument_list,
  n_element_initializer, n_lambda_expression, n_join_clause, n_from_clause,
  n_let_clause, n_where_clause, n_ordering, n_orderby_clause,
  n_select_clause, n_group_clause, n_query_continuation, n_query_body,
  n_query_expression, n_makeref, n_reftype, n_refvalue,
  n_arglist, n_attribute_named_argument, n_attribute, n_attribute_section,
  n_attributes, n_type_ref, n_type_argument_list, n_qualified_alias_member,
  n_namespace_or_type_name, n_type_base, n_type_parameter, n_type_parameter_list,
  n_type_parameter_constraints_clause, n_argument_list, n_class, n_struct,
  n_interface, n_enum_member, n_enum, n_default_argument,
  n_formal_parameter, n_formal_parameter_list, n_delegate, n_namespace,
  n_argument_name, n_argument, n_label, n_labeled_statement,
  n_empty_statement, n_expression_statement, n_declaration_statement, n_local_constant_declarator,
  n_local_constant_declaration, n_if_statement, n_switch_label, n_switch_section,
  n_switch_statement, n_while_statement, n_do_while_statement, n_local_variable_declarator,
  n_local_variable_declaration, n_statement_expression_list, n_for_statement, n_foreach_statement,
  n_break_statement, n_continue_statement, n_goto_statement, n_return_statement,
  n_throw_statement, n_catch_clause, n_try_statement, n_checked_statement,
  n_unchecked_statement, n_lock_statement, n_using_statement, n_unsafe_statement,
  n_fixed_point_declarator, n_fixed_statement, n_yield_statement, n_stackalloc_initializer,
  n_block, n_constructor, n_constant_declarator, n_constant_declaration,
  n_variable_declarator, n_variable_declaration, n_array_initializer, n_method,
  n_property_accessor, n_property, n_event_declaration, n_event_declarator,
  n_event_accessor, n_indexer, n_operator, n_conversion_operator,
  n_destructor, n_fixed_size_buffer_declarator, n_fixed_size_buffer, n_compilation_unit,
  n_end
}
 

. AST Node enumeration

More...
enum  node_flags { nf_member_lookup = 0x0001, nf_node_generated = 0x0002, nf_expression_member_lookup = 0x0004 }
 

node_flags

More...
enum  expression_classification {
  ec_unknown, ec_value, ec_variable, ec_namespace,
  ec_type, ec_method_group, ec_method_group_primary_expression_member_access, ec_property_access,
  ec_indexer_access, ec_event_access, ec_anonymous_method, ec_nothing,
  ec_translated
}
 

Expression classification.

More...
enum  constant_expression_check_context { cec_checked, cec_unchecked }
enum  conversion {
  cnv_implicit, cnv_explicit, cnv_boxing, cnv_unboxing,
  cnv_implicit_user_defined, cnv_explicit_user_defined, cnv_method_group_to_delegate, cnv_anonymous_function,
  cnv_invocation
}
 

Conversion enumeration.

More...
enum  cs_pass {
  cs_pass0 = 0, cs_pass1 = 1, cs_pass2 = 2, cs_pass3 = 3,
  cs_pass4 = 4
}
enum  cs_entity_modification {
  em_unknown, em_compilation_unit, em_namespace, em_using_directive,
  em_type, em_type_base, em_type_member, em_formal_parameter,
  em_generic_parameter, em_attribute, em_method_body
}
enum  TypeSpecifierEnum { tsArrayPostfix, tsPointer }
 

Type specifier enumeration.

More...
enum  AttributeSpecifierEnum {
  asNONE = 0x0000, asILLEGAL = 0x0001, asASSEMBLY = 0x0002, asEVENT = 0x0003,
  asFIELD = 0x0004, asMETHOD = 0x0005, asMODULE = 0x0006, asPARAM = 0x0007,
  asPROPERTY = 0x0008, asRETURN = 0x0009, asTYPE = 0x000a, asTYPEVAR = 0x000b
}
 

Attribute specifier enumeration.

More...
enum  CsModifierEnum {
  m_modifiers_mask = 0xffff, m_access_modifiers_mask = 0x000f, mINTERNAL = 0x0001, mPRIVATE = 0x0002,
  mPROTECTED = 0x0004, mPUBLIC = 0x0008, m_non_access_modifiers_mask = 0x3ff0, mABSTRACT = 0x0010,
  mEXTERN = 0x0020, mNEW = 0x0040, mOVERRIDE = 0x0080, mREADONLY = 0x0100,
  mSEALED = 0x0200, mSTATIC = 0x0400, mVIRTUAL = 0x0800, mVOLATILE = 0x1000,
  mUNSAFE = 0x2000, mPARTIAL = 0x4000
}
 

Modifier enumeration type.

More...
enum  anonymous_function_signature_type { afst_unknown, afst_explicitly_typed, afst_implicitly_typed }
 

Anonymous function signature type.

More...
enum  CsOrderingDirection { ordering_direction_no, ordering_direction_ascending, ordering_direction_descending }
 

Ordering direction.

More...
enum  CsLiteralType {
  literal_unknown, literal_number, literal_int, literal_uint,
  literal_long, literal_ulong, literal_long_L, literal_ulong_L,
  literal_uint_U, literal_ulong_U, literal_ulong_UL, literal_double,
  literal_float_F, literal_double_D, literal_decimal_M, literal_char,
  literal_string, literal_verbatim_string
}
 

Literal type.

More...
enum  CsTokenType {
  tkEOF = 0, tkINVALID = 1, tkPP_INVALID = 2, tkWS = 3,
  tkNEW_LINE = 4, tkSL_COMMENT = 5, tkML_COMMENT = 6, tkPREDEFINED_BEGIN = 7,
  tkKEYWORD_BEGIN = 7, tkABSTRACT = 7, tkAS = 8, tkBASE = 9,
  tkBOOL = 10, tkBREAK = 11, tkBYTE = 12, tkCASE = 13,
  tkCATCH = 14, tkCHAR = 15, tkCHECKED = 16, tkCLASS = 17,
  tkCONST = 18, tkCONTINUE = 19, tkDECIMAL = 20, tkDEFAULT = 21,
  tkDELEGATE = 22, tkDO = 23, tkDOUBLE = 24, tkELSE = 25,
  tkENUM = 26, tkEVENT = 27, tkEXPLICIT = 28, tkEXTERN = 29,
  tkFALSE = 30, tkFINALLY = 31, tkFIXED = 32, tkFLOAT = 33,
  tkFOR = 34, tkFOREACH = 35, tkGOTO = 36, tkIF = 37,
  tkIMPLICIT = 38, tkIN = 39, tkINT = 40, tkINTERFACE = 41,
  tkINTERNAL = 42, tkIS = 43, tkLOCK = 44, tkLONG = 45,
  tkNAMESPACE = 46, tkNEW = 47, tkNULL = 48, tkOBJECT = 49,
  tkOPERATOR = 50, tkOUT = 51, tkOVERRIDE = 52, tkPARAMS = 53,
  tkPRIVATE = 54, tkPROTECTED = 55, tkPUBLIC = 56, tkREADONLY = 57,
  tkREF = 58, tkRETURN = 59, tkSBYTE = 60, tkSEALED = 61,
  tkSHORT = 62, tkSIZEOF = 63, tkSTACKALLOC = 64, tkSTATIC = 65,
  tkSTRING = 66, tkSTRUCT = 67, tkSWITCH = 68, tkTHIS = 69,
  tkTHROW = 70, tkTRUE = 71, tkTRY = 72, tkTYPEOF = 73,
  tkUINT = 74, tkULONG = 75, tkUNCHECKED = 76, tkUNSAFE = 77,
  tkUSHORT = 78, tkUSING = 79, tkVIRTUAL = 80, tkVOID = 81,
  tkVOLATILE = 82, tkWHILE = 83, tkKEYWORD_END = 84, tkLPAREN = 84,
  tkRPAREN = 85, tkLBRACKET = 86, tkRBRACKET = 87, tkLCURLY = 88,
  tkRCURLY = 89, tkQUESTION = 90, tkQUESTION2 = 91, tkCOLON = 92,
  tkSCOPE = 93, tkSEMICOLON = 94, tkCOMMA = 95, tkASSIGN = 96,
  tkFOLLOW = 97, tkEQUAL = 98, tkNOT_EQ = 99, tkPLUS = 100,
  tkPLUS_EQ = 101, tkINC = 102, tkMINUS = 103, tkMINUS_EQ = 104,
  tkDEC = 105, tkSTAR = 106, tkMUL_EQ = 107, tkDIV = 108,
  tkDIV_EQ = 109, tkMOD = 110, tkMOD_EQ = 111, tkSHIFT_LEFT = 112,
  tkSHIFT_LEFT_EQ = 113, tkSHIFT_RIGHT = 114, tkSHIFT_RIGHT_EQ = 115, tkLESS = 116,
  tkGREATER = 117, tkLESS_OR_EQUAL = 118, tkGREATER_OR_EQUAL = 119, tkNOT = 120,
  tkCOMPL = 121, tkXOR = 122, tkXOR_EQ = 123, tkBITOR = 124,
  tkOR_EQ = 125, tkOR = 126, tkBITAND = 127, tkAND_EQ = 128,
  tkAND = 129, tkDOT = 130, tkARROW = 131, tkPREDEFINED_END = 132,
  tkLITERAL = 132, tkIDENTIFIER = 133, tkUNARY_PLUS = 134, tkUNARY_MINUS = 135,
  tkUNARY_STAR = 136, tkUNARY_AMPERSAND = 137, tkPREDEFINED2_BEGIN = 138, tkMAKEREF = 138,
  tkREFTYPE = 139, tkREFVALUE = 140, tkARGLIST = 141, tkPND = 142,
  tkPP_IF = 143, tkPP_ELIF = 144, tkPP_ELSE = 145, tkPP_ENDIF = 146,
  tkPP_DEFINE = 147, tkPP_UNDEF = 148, tkPP_LINE = 149, tkPP_ERROR = 150,
  tkPP_WARNING = 151, tkPP_REGION = 152, tkPP_ENDREGION = 153, tkPP_PRAGMA = 154,
  tkPREDEFINED2_END = 155, tkPP_MESSAGE = 155, tkPP_DECIMAL_DIGITS = 156, tkPP_FILE_NAME = 157,
  tkPP_PRAGMA_TEXT = 158, tkPP_SKIPPED_SECTION = 159, TOKEN_COUNT = 160
}
 

Token Type.

More...
enum  LineEnum {
  x0Dx0A = 0x0D0A, x0A = 0x000A, x0D = 0x000D, x85 = 0x0085,
  x2028 = 0x2028, x2029 = 0x2029
}
 

End line enumeration type.

More...
enum  GreaterEnum { ge_first = 0, ge_second = 1 }
 

Subtype for tokens '>', '>='.

More...
enum  project_namespace { pn_project_namespace, pn_solution_namespace }
 

Project namespace.

More...
enum  entity_search_result { entity_found = 0, entity_not_found = 1, entity_ambiguous = 2 }
 

Entity search result.

More...
enum  cref_node {
  cref_unknown, cref_identifier_generic_parameters, cref_scope_qualified_alias_member, cref_typeref,
  cref_type_argument_list, cref_namespace_or_type_name, cref_qualified_alias_member, cref_formal_parameter,
  cref_namespace_type_member, cref_method, cref_indexer, cref_operator,
  cref_conversion_operator
}
enum  dc_node {
  dc_unknown, dc_name, dc_tag, dc_etag,
  dc_cdsect, dc_comment, dc_pi, dc_chardata,
  dc_element, dc_entityref, dc_charref, dc_attvaluenonreference,
  dc_attvalue, dc_attribute, dc_content
}
 

Documentation comments nodes enumeration.

More...

Functions

delegate bool DeleteEntityPredicate (CsEntity entity)
delegate void LogMessageDelegate (string s)
 Log delegate.
delegate void ErrorMessageDelegate (string s)
 Error delegate.
delegate IExternalAssemblyModule LoadExternalAssemblyModuleDelegate (IExternalAssemblyOwner externalAssemblyOwner, IExternalAssemblyModule module, string filename)
 Load external assembly module delegate.
delegate IExternalAssemblyModule LoadExternalAssemblyModule2Delegate (IExternalAssemblyOwner externalAssemblyOwner, AssemblyInfo assemblyInfo, string assemblyName, bool specificVersion, string requiredTargetFramework, string hintPath)
 Load external assembly module 2 delegate.
delegate char[] LoadTextFileDelegate (IFileOwner fileOwner, string path)
 Load text file module delegate.

Enumeration Type Documentation

Enumerator:
aec_ok 
aec_entity_exist_added 
aec_entity_exist_not_added 
aec_scope_not_exist_entity_not_added 

Anonymous function signature type.

Enumerator:
afst_unknown 

Unknown.

afst_explicitly_typed 

Explicitly typed.

afst_implicitly_typed 

Implicitly typed.

Attribute specifier enumeration.

Enumerator:
asNONE 

No attribute specifier.

asILLEGAL 

unrecognized attribute specifier, attribute ignored

asASSEMBLY 

assembly: attribute specifier.

asEVENT 

event: attribute specifier.

asFIELD 

field: attribute specifier.

asMETHOD 

method: attribute specifier.

asMODULE 

param: attribute specifier.

asPARAM 

param: attribute specifier.

asPROPERTY 

property: attribute specifier.

asRETURN 

return: attribute specifier.

asTYPE 

type: attribute specifier.

asTYPEVAR 

typevar: attribute specifier.

Enumerator:
cec_checked 
cec_unchecked 
enum conversion

Conversion enumeration.

Enumerator:
cnv_implicit 

CsImplicitConversion.

cnv_explicit 

CsExplicitConversion.

cnv_boxing 

CsBoxingConversion.

cnv_unboxing 

CsUnboxingConversion.

cnv_implicit_user_defined 

CsImplicitUserDefinedConversion.

cnv_explicit_user_defined 

CsExplicitUserDefinedConversion.

cnv_method_group_to_delegate 

CsMethodGroupToDelegateConversion.

cnv_anonymous_function 

CsAnonymousFunctionConversion.

cnv_invocation 

CsConversionInvocation.

enum cref_node
Enumerator:
cref_unknown 

Unknown Cref node.

cref_identifier_generic_parameters 

CrefIdentifierGenericParameters.

cref_scope_qualified_alias_member 

CrefScopeQualifiedAliasMember.

cref_typeref 

CrefTypeRef.

cref_type_argument_list 

CrefTypeArgumentList.

cref_namespace_or_type_name 

CrefNamespaceOrTypeName.

cref_qualified_alias_member 

CrefQualifiedAliasMember.

cref_formal_parameter 

CrefFormalParameter.

cref_namespace_type_member 

CrefNamespaceTypeMember.

cref_method 

CrefMethod.

cref_indexer 

CrefIndexer.

cref_operator 

CrefOperator.

cref_conversion_operator 

CrefConversionOperator.

enum cs_entity

Entity type enumeration.

Enumerator:
ent_class 

CsEntityClass.

ent_struct 

CsEntityStruct.

ent_interface 

CsEntityInterface.

ent_enum 

CsEntityEnum.

ent_delegate 

CsEntityDelegate.

ent_namespace 

CsEntityNamespace.

ent_constant 

CsEntityConstant.

ent_variable 

CsEntityVariable.

ent_method 

CsEntityMethod.

ent_property 

CsEntityProperty.

ent_event 

CsEntityEvent.

ent_generic_param 

CsEntityGenericParam.

ent_anonymous_method 

CsEntityAnonymousMethod.

ent_formal_parameter 

CsEntityFormalParameter.

ent_block_variable 

CsEntityBlockVariable.

ent_block 

CsEntityBlock.

ent_local_constant 

CsEntityLocalConstant.

ent_local_variable 

CsEntityLocalVariable.

ent_end 

Access enumeration.

Enumerator:
ac_compiler_controlled 
ac_public 
ac_protected 
ac_private 
ac_internal 
ac_protected_internal 
ac_protected_and_internal 
Enumerator:
em_unknown 
em_compilation_unit 

compilation-unit changed

em_namespace 

namespace changed

em_using_directive 

using directive changed

em_type 

type changed

em_type_base 

type base changed

em_type_member 

type member changed

em_formal_parameter 

formal parameter changed

em_generic_parameter 

generic parameter changed

em_attribute 

attribute changed

em_method_body 

method body changed

Special type flags.

Enumerator:
est_none 

Non-special type.

est_nullable 

Nullable type.

est_expression_tree 

Expression tree.

Entity type specifier enumeration. See [ECMA-335, 22.1.15].

Enumerator:
et_unknown 

Undefined type.

et_void 

ELEMENT_TYPE_VOID.

et_boolean 

ELEMENT_TYPE_BOOLEAN, System.Boolean.

et_char 

ELEMENT_TYPE_CHAR, System.Char.

et_int8 

ELEMENT_TYPE_I1, System.SByte.

et_uint8 

ELEMENT_TYPE_U1, System.Byte.

et_int16 

ELEMENT_TYPE_I2, System.Short.

et_uint16 

ELEMENT_TYPE_U2, System.UShort.

et_int32 

ELEMENT_TYPE_I4, System.Int.

et_uint32 

ELEMENT_TYPE_U4, System.UInt.

et_int64 

ELEMENT_TYPE_I8, System.Long.

et_uint64 

ELEMENT_TYPE_U8, System.ULong.

et_float32 

ELEMENT_TYPE_R4, System.Float.

et_float64 

ELEMENT_TYPE_R8, System.Double.

et_string 

ELEMENT_TYPE_STRING, System.String.

et_ptr 

ELEMENT_TYPE_PTR, pointer to type.

et_byref 

ELEMENT_TYPE_BYREF, reference to type.

et_valuetype 

ELEMENT_TYPE_VALUETYPE, struct.

et_class 

ELEMENT_TYPE_CLASS, class.

et_array 

ELEMENT_TYPE_ARRAY, array of type.

et_genericinst 

ELEMENT_GENERICINST, type instance.

et_typedbyref 

ELEMENT_TYPE_TYPEDBYREF, System.Type.

et_intptr 

ELEMENT_TYPE_I, System.IntPtr.

et_uintptr 

ELEMENT_TYPE_U, System.UintPtr.

et_fnptr 

ELEMENT_TYPE_FNPTR, pointer to method.

et_object 

ELEMENT_TYPE_OBJECT, System.Object.

et_decimal 

System.Decimal.

et_enum 

enum (value type derived from System.Enum)

et_generic_param 

Generic parameter (ELEMENT_TYPE_VAR, ELEMENT_TYPE_MVAR).

et_literal_null 

Special type for null literal.

et_anonymous_method 

Anonymous Method.

et_arglist 

Special type for __arglist.

et_error 

Used for catch erroneous operators (for internal purpose only).

CsEntityTypeRef non-transitive flag.

Enumerator:
etf_szarray 

ELEMENT_TYPE_SZARRAY.

etf_implicitly_typed 

Implicitly typed.

etf_modopt 

Type has ELEMENT_TYPE_CMOD_OPT prefix.

Entity type specifier enumeration.

Enumerator:
ets_empty 

Simple type specifier.

ets_pointer 

Pointer type specifier.

ets_array 

Array type specifier.

CsEntityTypeRef transitive flag.

Enumerator:
etf_constant 

Constant expression.

etf_zero 

Literal integral null (0) type.

etf_dynamic 

dynamic type

Generic parameter constraint.

Enumerator:
gpc_covariant 

Covariant constraint.

gpc_contravariant 

Contravariant constraint.

gpc_referencetype 

Reference-type constraint.

gpc_valuetype 

Value-type constraint.

gpc_constructor 

Constructor constraint.

Generic parameter enumeration.

Enumerator:
generic_param_type_var 

Type generic parameter.

generic_param_type_mvar 

Method generic parameter.

Enumerator:
inferred_false 
inferred_true 
inferred_inconsistent 
enum cs_node

. AST Node enumeration

Enumerator:
n_unknown 

Unknown CsNode.

n_extern_alias_directive 

CsExternAliasDirective.

n_using_alias_directive 

CsUsingAliasDirective.

n_using_namespace_directive 

CsUsingNamespaceDirective.

n_simple_name 

CsSimpleName.

n_literal 

CsLiteral.

n_predefined_type_member_access 

CsPredefinedTypeMemberAccess.

n_this_access 

CsThisAccess.

n_base_member_access 

CsBaseMemberAccess.

n_base_indexer_access 

CsBaseIndexerAccess.

n_typeof_expression 

CsTypeofExpression.

n_checked_expression 

CsCheckedExpression.

n_unchecked_expression 

CsUncheckedExpression.

n_sizeof_expression 

CsSizeofExpression.

n_parenthesized_expression 

CsParenthesizedExpression.

n_member_initializer 

CsMemberInitializer.

n_object_initializer 

CsObjectInitializer.

n_collection_initializer 

CsCollectionInitializer.

n_new_object_expression 

CsNewObjectExpression.

n_new_array_expression 

CsNewArrayExpression.

n_member_declarator 

CsMemberDeclarator.

n_anonymous_object_creation_expression 

CsAnonymousObjectCreationExpression.

n_invocation_expression 

CsInvocationExpression.

n_element_access 

CsElementAccess.

n_primary_expression_member_access 

CsPrimaryExpressionMemberAccess.

n_pointer_member_access 

CsPointerMemberAccess.

n_post_increment_decrement_expression 

CsPostIncrementDecrementExpression.

n_binary_expression 

CsBinaryExpression.

n_as_is_expression 

CsAsIsExpression.

n_conditional_expression 

CsConditionalExpression.

n_operator_unary_expression 

CsOperatorUnaryExpression.

n_pre_increment_decrement_expression 

CsPreIncrementDecrementExpression.

n_cast_unary_expression 

CsCastUnaryExpression.

n_assignment_expression 

CsAssignmentExpression.

n_qualified_alias_member_access 

CsQualifiedAliasMemberAccess.

n_default_value_expression 

CsDefaultValueExpression.

n_anonymous_function_signature 

CsAnonymousFunctionSignature.

n_anonymous_method_expression 

CsAnonymousMethodExpression.

n_expression_list 

CsExpressionList.

n_positional_argument_list 

CsPositionalArgumentList.

n_element_initializer 

CsElementInitializer.

n_lambda_expression 

CsLambdaExpression.

n_join_clause 

CsJoinClause.

n_from_clause 

CsFromClause.

n_let_clause 

CsLetClause.

n_where_clause 

CsWhereClause.

n_ordering 

CsOrdering.

n_orderby_clause 

CsOrderbyClause.

n_select_clause 

CsSelectClause.

n_group_clause 

CsGroupClause.

n_query_continuation 

CsQueryContinuation.

n_query_body 

CsQueryBody.

n_query_expression 

CsQueryExpression.

n_makeref 

CsMakeRefExpression.

n_reftype 

CsRefTypeExpression.

n_refvalue 

CsRefValueExpression.

n_arglist 

CsArgListExpression.

n_attribute_named_argument 

CsNamedArgument.

n_attribute 

CsAttribute.

n_attribute_section 

CsAttributeSection.

n_attributes 

CsAttributes.

n_type_ref 

CsTypeRef.

n_type_argument_list 

CsTypeArgumentList.

n_qualified_alias_member 

CsQualifiedAliasMember.

n_namespace_or_type_name 

CsNamespaceOrTypeName.

n_type_base 

CsTypeBase.

n_type_parameter 

CsTypeParameter.

n_type_parameter_list 

CsTypeParameterList.

n_type_parameter_constraints_clause 

CsTypeParameterConstraintsClause.

n_argument_list 

CsArgumentList.

n_class 

CsClass.

n_struct 

CsStruct.

n_interface 

CsInterface.

n_enum_member 

CsEnumMember.

n_enum 

CsEnum.

n_default_argument 

CsDefaultArgument.

n_formal_parameter 

CsFormalParameter.

n_formal_parameter_list 

CsFormalParameterList.

n_delegate 

CsDelegate.

n_namespace 

CsNamespace.

n_argument_name 

CsArgumentName.

n_argument 

CsArgument.

n_label 

CsLabel.

n_labeled_statement 

CsLabeledStatement.

n_empty_statement 

CsEmptyStatement.

n_expression_statement 

CsExpressionStatement.

n_declaration_statement 

CsDeclarationStatement.

n_local_constant_declarator 

CsLocalConstantDeclarator.

n_local_constant_declaration 

CsLocalConstantDeclaration.

n_if_statement 

CsIfStatement.

n_switch_label 

CsSwitchLabel.

n_switch_section 

CsSwitchSection.

n_switch_statement 

CsSwitchStatement.

n_while_statement 

CsWhileStatement.

n_do_while_statement 

CsDoWhileStatement.

n_local_variable_declarator 

CsLocalVariableDeclarator.

n_local_variable_declaration 

CsLocalVariableDeclaration.

n_statement_expression_list 

CsStatementExpressionList.

n_for_statement 

CsForStatement.

n_foreach_statement 

CsForeachStatement.

n_break_statement 

CsBreakStatement.

n_continue_statement 

CsContinueStatement.

n_goto_statement 

CsGotoStatement.

n_return_statement 

CsReturnStatement.

n_throw_statement 

CsThrowStatement.

n_catch_clause 

CsCatchClause.

n_try_statement 

CsTryStatement.

n_checked_statement 

CsCheckedStatement.

n_unchecked_statement 

CsUncheckedStatement.

n_lock_statement 

CsLockStatement.

n_using_statement 

CsUsingStatement.

n_unsafe_statement 

CsUnsafeStatement.

n_fixed_point_declarator 

CsFixedPointDeclarator.

n_fixed_statement 

CsFixedStatement.

n_yield_statement 

CsYieldStatement.

n_stackalloc_initializer 

CsStackAllocInitializer.

n_block 

CsBlock.

n_constructor 

CsConstructor.

n_constant_declarator 

CsConstantDeclarator.

n_constant_declaration 

CsConstantDeclaration.

n_variable_declarator 

CsVariableDeclarator.

n_variable_declaration 

CsVariableDeclaration.

n_array_initializer 

CsArrayInitializer.

n_method 

CsMethod.

n_property_accessor 

CsPropertyAccessor.

n_property 

CsProperty.

n_event_declaration 

CsEvent.

n_event_declarator 

CsEventDeclarator.

n_event_accessor 

CsEventAccessor.

n_indexer 

CsIndexer.

n_operator 

CsOperator.

n_conversion_operator 

CsConversionOperator.

n_destructor 

CsDestructor.

n_fixed_size_buffer_declarator 

CsFixedSizeBufferDeclarator.

n_fixed_size_buffer 

CsFixedSizeBuffer.

n_compilation_unit 

CsCompilationUnit.

n_end 
enum cs_pass
Enumerator:
cs_pass0 
cs_pass1 
cs_pass2 
cs_pass3 
cs_pass4 

Literal type.

Enumerator:
literal_unknown 
literal_number 
literal_int 
literal_uint 
literal_long 
literal_ulong 
literal_long_L 
literal_ulong_L 
literal_uint_U 
literal_ulong_U 
literal_ulong_UL 
literal_double 
literal_float_F 
literal_double_D 
literal_decimal_M 
literal_char 
literal_string 
literal_verbatim_string 

Modifier enumeration type.

Enumerator:
m_modifiers_mask 
m_access_modifiers_mask 
mINTERNAL 

internal

mPRIVATE 

private

mPROTECTED 

protected

mPUBLIC 

public

m_non_access_modifiers_mask 
mABSTRACT 

abstract

mEXTERN 

extern

mNEW 

new

mOVERRIDE 

override

mREADONLY 

readonly

mSEALED 

sealed

mSTATIC 

static

mVIRTUAL 

virtual

mVOLATILE 

volatile

mUNSAFE 

unsafe

mPARTIAL 

partial

Ordering direction.

Enumerator:
ordering_direction_no 

Default direction.

ordering_direction_ascending 

Ascending direction.

ordering_direction_descending 

Descending direction.

Token Type.

Enumerator:
tkEOF 

End of file.

tkINVALID 

Invalid token.

tkPP_INVALID 

Invalid preprocessor token.

tkWS 

Whitespaces (spaces and tabs).

tkNEW_LINE 

New line.

tkSL_COMMENT 

Single-line comment.

tkML_COMMENT 

Multi-line line comment.

tkPREDEFINED_BEGIN 
tkKEYWORD_BEGIN 
tkABSTRACT 

abstract

tkAS 

as

tkBASE 

base

tkBOOL 

bool

tkBREAK 

break

tkBYTE 

byte

tkCASE 

case

tkCATCH 

catch

tkCHAR 

char

tkCHECKED 

checked

tkCLASS 

class

tkCONST 

const

tkCONTINUE 

continue

tkDECIMAL 

decimal

tkDEFAULT 

default

tkDELEGATE 

delegate

tkDO 

do

tkDOUBLE 

double

tkELSE 

else

tkENUM 

enum

tkEVENT 

event

tkEXPLICIT 

explicit

tkEXTERN 

extern

tkFALSE 

false

tkFINALLY 

finally

tkFIXED 

fixed

tkFLOAT 

float

tkFOR 

for

tkFOREACH 

foreach

tkGOTO 

goto

tkIF 

if

tkIMPLICIT 

implicit

tkIN 

in

tkINT 

int

tkINTERFACE 

interface

tkINTERNAL 

internal

tkIS 

is

tkLOCK 

lock

tkLONG 

long

tkNAMESPACE 

namespace

tkNEW 

new

tkNULL 

null

tkOBJECT 

object

tkOPERATOR 

operator

tkOUT 

out

tkOVERRIDE 

override

tkPARAMS 

params

tkPRIVATE 

private

tkPROTECTED 

protected

tkPUBLIC 

public

tkREADONLY 

readonly

tkREF 

ref

tkRETURN 

return

tkSBYTE 

sbyte

tkSEALED 

sealed

tkSHORT 

short

tkSIZEOF 

sizeof

tkSTACKALLOC 

stackalloc

tkSTATIC 

static

tkSTRING 

string

tkSTRUCT 

struct

tkSWITCH 

switch

tkTHIS 

this

tkTHROW 

throw

tkTRUE 

true

tkTRY 

try

tkTYPEOF 

typeof

tkUINT 

uint

tkULONG 

ulong

tkUNCHECKED 

unchecked

tkUNSAFE 

unsafe

tkUSHORT 

ushort

tkUSING 

using

tkVIRTUAL 

virtual

tkVOID 

void

tkVOLATILE 

volatile

tkWHILE 

while

tkKEYWORD_END 
tkLPAREN 

(

tkRPAREN 

)

tkLBRACKET 

[

tkRBRACKET 

]

tkLCURLY 

{

tkRCURLY 

}

tkQUESTION 

?

tkQUESTION2 

:

tkCOLON 

;

tkSCOPE 

::

tkSEMICOLON 

;

tkCOMMA 

,

tkASSIGN 

=

tkFOLLOW 

=

tkEQUAL 

==

tkNOT_EQ 

!=

tkPLUS 

+

tkPLUS_EQ 

+=

tkINC 

++

tkMINUS 

tkMINUS_EQ 

-=

tkDEC 

--

tkSTAR 

*

tkMUL_EQ 

*=

tkDIV 

/

tkDIV_EQ 

/=

tkMOD 

%

tkMOD_EQ 

%=

tkSHIFT_LEFT 

<<

tkSHIFT_LEFT_EQ 

<<=

tkSHIFT_RIGHT 

>>

tkSHIFT_RIGHT_EQ 

>>=

tkLESS 

<

tkGREATER 

>

tkLESS_OR_EQUAL 

<=

tkGREATER_OR_EQUAL 

>=

tkNOT 

!

tkCOMPL 

~

tkXOR 

^

tkXOR_EQ 

^=

tkBITOR 

|

tkOR_EQ 

|=

tkOR 

||

tkBITAND 

&

tkAND_EQ 

&=

tkAND 

&&

tkDOT 

tkARROW 

->

tkPREDEFINED_END 
tkLITERAL 

Literal (number, char or string).

tkIDENTIFIER 

Identifier.

tkUNARY_PLUS 
tkUNARY_MINUS 
tkUNARY_STAR 
tkUNARY_AMPERSAND 
tkPREDEFINED2_BEGIN 
tkMAKEREF 

__makeref

tkREFTYPE 

__reftype

tkREFVALUE 

__refvalue

tkARGLIST 

__arglist

tkPND 

#

tkPP_IF 

if

tkPP_ELIF 

elif

tkPP_ELSE 

else

tkPP_ENDIF 

endif

tkPP_DEFINE 

define

tkPP_UNDEF 

undef

tkPP_LINE 

line

tkPP_ERROR 

error

tkPP_WARNING 

warning

tkPP_REGION 

region

tkPP_ENDREGION 

endregion

tkPP_PRAGMA 

pragma

tkPREDEFINED2_END 
tkPP_MESSAGE 

pp-message
not contains newline.

tkPP_DECIMAL_DIGITS 

pp-decimal-digits
line number.

tkPP_FILE_NAME 

pp-file-name
line file.

tkPP_PRAGMA_TEXT 

pp-pragma-text
includes all text after pragma directive except newline.

tkPP_SKIPPED_SECTION 

pp-skipped-section
includes all text between two adjacent preprocessor directives including newlines.

TOKEN_COUNT 
enum dc_node

Documentation comments nodes enumeration.

Enumerator:
dc_unknown 

unknown DcNode

dc_name 

DcName.

dc_tag 

DcTag.

dc_etag 

DcEtag.

dc_cdsect 

DcCDSect.

dc_comment 

DcComment.

dc_pi 

DcPI.

dc_chardata 

DcCharData.

dc_element 

DcElement.

dc_entityref 

DcEntityRef.

dc_charref 

DcCharRef.

dc_attvaluenonreference 

DcAttValueNonReference,.

dc_attvalue 

DcAttValue.

dc_attribute 

DcAttribute.

dc_content 

DcContent.

Enumeration contains flags for internal purpose and metadata flags described in ECMA-335.

Enumerator:
f_skip 
f_generated 
f_compiler_attribute 
f_varargs 
f_explicit_interface_implementation 
f_override 
f_static 
f_base_class_resolved 
f_base_method_resolved 
f_recursive_inheritance 
f_recursive_layout 
f_partial 
f_bad_type_parameters 
f_bad_type_parameters_recursive 
f_entity_type_lookup 
f_entity_member_lookup 
f_generic_param_constraints_initialized 
f_generic_param_effective_base_evaluated 
f_variable_constant_attribute 
f_constant_evaluating 
f_constant_evaluated 
f_constant_incorrectly_evaluated 
f_constant_incorrectly_evaluated_circular_dependency 
f_checked 
f_extension_method 
f_anonymous_type 
f_snippet 
f_metadatamask 
f_event_SpecialName 

Event is special.

f_event_RTSpecialName 

CLI provides 'special' behavior, depending upon the name of the event.

f_field_Static 

Defined on type, else per instance.

f_field_InitOnly 

Field may only be initialized, not written to after init.

f_field_Literal 

Value is compile time constant.

f_field_NotSerialized 

Field does not have to be serialized when type is remoted.

f_field_HasFieldRVA 

Field has RVA.

f_field_SpecialName 

Field is special.

f_field_RTSpecialName 

CLI provides 'special' behavior, depending upon the name of the field.

f_field_HasFieldMarshal 

Field has marshalling information.

f_field_PInvokeImpl 

Implementation is forwarded through PInvoke.

f_field_HasDefault 

Field has default.

f_generic_param_VarianceMask 

VarianceMask.

f_generic_param_Covariant 

The generic parameter is covariant.

f_generic_param_Contravariant 

The generic parameter is contravariant.

f_generic_param_SpecialConstraintMask 

SpecialConstraintMask.

f_generic_param_ReferenceTypeConstraint 

The generic parameter has the class special constraint.

f_generic_param_NotNullableValueTypeConstraint 

The generic parameter has the valuetype special constraint.

f_generic_param_DefaultConstructorConstraint 

The generic parameter has the .ctor special constraint.

f_method_UnmanagedExport 

Reserved: shall be zero for conforming implementations.

f_method_Static 

Defined on type, else per instance.

f_method_Final 

Method may not be overridden.

f_method_Virtual 

Method is virtual.

f_method_HideBySig 

Method hides by name+sig, else just by name.

f_method_VtableLayoutMask 

Use this mask to retrieve vtable attributes.

f_method_ReuseSlot 

Method reuses existing slot in vtable.

f_method_NewSlot 

Method always gets a new slot in the vtable.

f_method_Abstract 

Method does not provide an implementation.

f_method_SpecialName 

Method is special.

f_method_RTSpecialName 

CLI provides 'special' behavior, depending upon the name of the method.

f_method_PInvokeImplementation 

Implementation is forwarded through PInvoke.

f_method_HasSecurity 

Method has security associate with it.

f_method_RequireSecObject 

Method calls another method containing security code.

f_param_In 

Param is [In].

f_param_Out 

Param is [Out].

f_param_Optional 

Param is optional.

f_param_HasDefault 

Param has default value.

f_param_HasFieldMarshal 

Param has FieldMarshal.

f_property_SpecialName 

Property is special.

f_property_RTSpecialName 

Runtime(metadata internal APIs) should check name encoding.

f_property_HasDefault 

Property has default.

f_type_LayoutMask 

Use this mask to retrieve class layout information.

f_type_AutoLayout 

Class fields are auto-laid out.

f_type_SequentialLayout 

Class fields are laid out sequentially.

f_type_ExplicitLayout 

Layout is supplied explicitly.

f_type_ClassSemanticsMask 

Use this mask to retrieve class semantics information.

f_type_Class 

Type is a class.

f_type_Interface 

Type is an interface.

f_type_Abstract 

Class is abstract.

f_type_Sealed 

Class cannot be extended.

f_type_SpecialName 

Class name is special.

f_type_RTSpecialName 

CLI provides 'special' behavior, depending upon the name of the Type.

f_type_Import 

Class/Interface is imported.

f_type_Serializable 

Class is serializable.

f_type_StringFormatMask 

Use this mask to retrieve string information for native interop.

f_type_AnsiClass 

LPSTR is interpreted as ANSI.

f_type_UnicodeClass 

LPSTR is interpreted as Unicode.

f_type_AutoClass 

LPSTR is interpreted automatically.

f_type_HasSecurity 

Type has security associate with it.

f_type_BeforeFieldInit 

Initialize the class before first static field access.

Entity search result.

Enumerator:
entity_found 

Found single entity.

entity_not_found 

Entity not found.

entity_ambiguous 

Ambiguous. Found multiple entities.

Enumerator:
eo_method_generic_parameters_equal_by_index 
eo_object_and_dynamic_not_equal 

Expression classification.

[ECMA-334, 14.1]

Enumerator:
ec_unknown 

Not evaluated.

ec_value 

Value.

ec_variable 

Variable.

ec_namespace 

Namespace.

ec_type 

Type.

ec_method_group 

Method group.

ec_method_group_primary_expression_member_access 

Unresolved method group.

ec_property_access 

Property access.

ec_indexer_access 

Indexer access.

ec_event_access 

Event access.

ec_anonymous_method 

Anonymous method.

ec_nothing 

Nothing.

ec_translated 

Expression was translated.

Subtype for tokens '>', '>='.

Enumerator:
ge_first 

previous token not '>'

ge_second 

previous token is '>'

enum LineEnum

End line enumeration type.

Enumerator:
x0Dx0A 

\x0d\x0a

x0A 

\x0a

x0D 

\x0d

x85 

\x85

x2028 

\x2028

x2029 

\x2029

enum node_flags

node_flags

Enumerator:
nf_member_lookup 

Member was lookuped.

nf_node_generated 

Generated node.

nf_expression_member_lookup 

Expression member lookup.

Project namespace.

Enumerator:
pn_project_namespace 

Project namespace.

pn_solution_namespace 

Solution namespace.

Type specifier enumeration.

Enumerator:
tsArrayPostfix 

Array postfix specifier (Example: array[][]).

tsPointer 

Pointer specifier (Example: char**).


Function Documentation

delegate bool Metaspec.DeleteEntityPredicate ( CsEntity  entity  ) 
delegate void Metaspec.ErrorMessageDelegate ( string  s  ) 

Error delegate.

Parameters:
s Error message
delegate IExternalAssemblyModule Metaspec.LoadExternalAssemblyModule2Delegate ( IExternalAssemblyOwner  externalAssemblyOwner,
AssemblyInfo  assemblyInfo,
string  assemblyName,
bool  specificVersion,
string  requiredTargetFramework,
string  hintPath 
)

Load external assembly module 2 delegate.

Parameters:
externalAssemblyOwner Project or Solution
module Module that require other module
filename Required module filename
Returns:
delegate IExternalAssemblyModule Metaspec.LoadExternalAssemblyModuleDelegate ( IExternalAssemblyOwner  externalAssemblyOwner,
IExternalAssemblyModule  module,
string  filename 
)

Load external assembly module delegate.

Parameters:
externalAssemblyOwner Project or Solution
module Module that require other module
filename Required module filename
Returns:
delegate char [] Metaspec.LoadTextFileDelegate ( IFileOwner  fileOwner,
string  path 
)

Load text file module delegate.

Parameters:
fileOwner File owner
path File path
Returns:
delegate void Metaspec.LogMessageDelegate ( string  s  ) 

Log delegate.

Parameters:
s Log message
© 2010 metaspec