Show / Hide Table of Contents

Class ClassGenerator<T>

Represents a base class for a transformation rule that generates classes

Inheritance
object
GeneralTransformationRule
GeneralTransformationRule<T>
TransformationRuleBase<T, CodeTypeDeclaration>
TransformationRule<T, CodeTypeDeclaration>
ClassGenerator<T>
Meta2ClassesTransformation.Class2Type
Meta2ClassesTransformation.Extension2Type
Inherited Members
TransformationRule<T, CodeTypeDeclaration>.CreateComputation(object[], IComputationContext)
TransformationRule<T, CodeTypeDeclaration>.CreateOutput(T, ITransformationContext)
TransformationRule<T, CodeTypeDeclaration>.NeedDependenciesForOutputCreation
TransformationRule<T, CodeTypeDeclaration>.Transform(T, CodeTypeDeclaration, ITransformationContext)
TransformationRuleBase<T, CodeTypeDeclaration>.MarkInstantiatingFor<TBaseIn, TBaseOut>()
TransformationRuleBase<T, CodeTypeDeclaration>.MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<T>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireByType<TRequiredInput, TRequiredOutput>(Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Predicate<T>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireByType<TRequiredInput, TRequiredOutput>(Func<T, TRequiredInput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<T, TRequiredInput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireManyByType<TRequiredInput, TRequiredOutput>(Func<T, IEnumerable<TRequiredInput>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<T, IEnumerable<TRequiredInput>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallByType<TRequiredInput, TRequiredOutput>(Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallByType<TRequiredInput, TRequiredOutput>(Func<T, TRequiredInput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<T, TRequiredInput>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyByType<TRequiredInput, TRequiredOutput>(Func<T, IEnumerable<TRequiredInput>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<T, IEnumerable<TRequiredInput>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<CodeTypeDeclaration, IEnumerable<TRequiredOutput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, CodeTypeDeclaration, TRequiredInput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, CodeTypeDeclaration, TRequiredInput>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, CodeTypeDeclaration, TRequiredInput1>, Func<T, CodeTypeDeclaration, TRequiredInput2>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, CodeTypeDeclaration, TRequiredInput1>, Func<T, CodeTypeDeclaration, TRequiredInput2>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive(GeneralTransformationRule<T, CodeTypeDeclaration>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallOutputSensitive(GeneralTransformationRule<T, CodeTypeDeclaration>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, CodeTypeDeclaration, IEnumerable<TRequiredInput>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, CodeTypeDeclaration, IEnumerable<TRequiredInput>>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, CodeTypeDeclaration, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, CodeTypeDeclaration, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Func<T, CodeTypeDeclaration, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, T>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, T>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, T>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, T>, Action<CodeTypeDeclaration, TRequiredOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, T>, Action<CodeTypeDeclaration, TRequiredOutput>, Predicate<TRequiredInput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, T>, Action<CodeTypeDeclaration, TRequiredOutput>, Predicate<TRequiredInput>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, T>, Action<CodeTypeDeclaration, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, T>, Action<CodeTypeDeclaration, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, bool>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<T>>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<T>>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<T>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<T>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<CodeTypeDeclaration>>)
TransformationRuleBase<T, CodeTypeDeclaration>.OutputType
TransformationRuleBase<T, CodeTypeDeclaration>.SelectArrays<TRequiredInput1, TRequiredInput2>(Func<T, CodeTypeDeclaration, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Computation)
TransformationRuleBase<T, CodeTypeDeclaration>.SelectArrays<TRequiredInput>(Func<T, CodeTypeDeclaration, IEnumerable<TRequiredInput>>, Computation)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceOutput<TKey>(Func<T, CodeTypeDeclaration, TKey>)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceOutput<TKey>(TraceEntryGroup<TKey, CodeTypeDeclaration>, Func<T, CodeTypeDeclaration, TKey>)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<T, CodeTypeDeclaration, TTraceInput>)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<T, CodeTypeDeclaration, TTraceOutput>)
TransformationRuleBase<T, CodeTypeDeclaration>.TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<T, CodeTypeDeclaration, TTraceInput>, Func<T, CodeTypeDeclaration, TTraceOutput>)
GeneralTransformationRule<T>.MarkInstantiatingFor(GeneralTransformationRule, Predicate<T>)
GeneralTransformationRule<T>.Rule<TRule>()
GeneralTransformationRule<T>.WithPattern(ITransformationRulePattern<T>)
GeneralTransformationRule<T>.WithPattern(Func<ITransformationContext, INotifyEnumerable<T>>)
GeneralTransformationRule<T>.WithPattern(Func<ITransformationContext, IEnumerable<T>>)
GeneralTransformationRule<T>.RequireByType<TRequiredInput>()
GeneralTransformationRule<T>.RequireByType<TRequiredInput>(Func<T, TRequiredInput>)
GeneralTransformationRule<T>.RequireByType<TRequiredInput1, TRequiredInput2>(Func<T, TRequiredInput1>, Func<T, TRequiredInput2>)
GeneralTransformationRule<T>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, TRequiredInput>)
GeneralTransformationRule<T>.Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>)
GeneralTransformationRule<T>.RequireManyByType<TRequiredInput>(Func<T, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<T>.RequireManyByType<TRequiredInput1, TRequiredInput2>(Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<T>.Require(GeneralTransformationRule, Func<T, object[]>)
GeneralTransformationRule<T>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<T>)
GeneralTransformationRule<T>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, TRequiredInput>, Predicate<T>)
GeneralTransformationRule<T>.Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Predicate<T>)
GeneralTransformationRule<T>.RequireMany(GeneralTransformationRule, Func<T, IEnumerable<object[]>>)
GeneralTransformationRule<T>.RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<T>.RequireMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<T>.Call(GeneralTransformationRule, Func<T, object[]>)
GeneralTransformationRule<T>.CallMany(GeneralTransformationRule, Func<T, IEnumerable<object[]>>)
GeneralTransformationRule<T>.CallByType<TRequiredInput>(Func<T, TRequiredInput>)
GeneralTransformationRule<T>.CallByType<TRequiredInput1, TRequiredInput2>(Func<T, TRequiredInput1>, Func<T, TRequiredInput2>)
GeneralTransformationRule<T>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, TRequiredInput>)
GeneralTransformationRule<T>.Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>)
GeneralTransformationRule<T>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<T>)
GeneralTransformationRule<T>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, TRequiredInput>, Predicate<T>)
GeneralTransformationRule<T>.Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, TRequiredInput1>, Func<T, TRequiredInput2>, Predicate<T>)
GeneralTransformationRule<T>.CallManyByType<TRequiredInput>(Func<T, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<T>.CallManyByType<TRequiredInput1, TRequiredInput2>(Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<T>.CallMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<T, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<T>.CallMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<T, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<T>.InputType
GeneralTransformationRule<T>.CallFor<TRequiredInput>(Func<TRequiredInput, T>)
GeneralTransformationRule<T>.CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, T>)
GeneralTransformationRule<T>.CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, T>)
GeneralTransformationRule<T>.CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, T>)
GeneralTransformationRule<T>.CallFor<TRequiredInput>(Func<TRequiredInput, T>, Predicate<TRequiredInput>)
GeneralTransformationRule<T>.CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, T>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<T>.CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, T>, Predicate<TRequiredInput>)
GeneralTransformationRule<T>.CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, T>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<T>>, Predicate<TRequiredInput>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<T>>, Predicate<TRequiredInput>)
GeneralTransformationRule<T>.CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, T>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, T>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, T>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, T>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, T>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, T>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, T>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, T>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<T>>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<T>>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<T>>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<T>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<T>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<T>.TraceInput<TKey>(Func<T, TKey>)
GeneralTransformationRule<T>.TraceInput<TKey>(TraceEntryGroup<TKey, T>, Func<T, TKey>)
GeneralTransformationRule<T>.CallFor(GeneralTransformationRule, Func<Computation, T>, bool)
GeneralTransformationRule<T>.CallFor(GeneralTransformationRule, Func<Computation, T>, Predicate<Computation>, bool)
GeneralTransformationRule<T>.CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<T>>, bool)
GeneralTransformationRule<T>.CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<T>>, Predicate<Computation>, bool)
GeneralTransformationRule<T>.ToString()
GeneralTransformationRule.RegisterDependencies()
GeneralTransformationRule.OutputType
GeneralTransformationRule.CreateComputation(object[], IComputationContext)
GeneralTransformationRule.NeedDependenciesForOutputCreation
GeneralTransformationRule.Transformation
GeneralTransformationRule.Dependencies
GeneralTransformationRule.OutputDelayLevel
GeneralTransformationRule.TransformationDelayLevel
GeneralTransformationRule.IsUnique
GeneralTransformationRule.BaseRule
GeneralTransformationRule.IsInstantiating(Computation)
GeneralTransformationRule.HasCompliantInput(Computation)
GeneralTransformationRule.Require(GeneralTransformationRule)
GeneralTransformationRule.Call(GeneralTransformationRule)
GeneralTransformationRule.MarkInstantiatingFor(GeneralTransformationRule)
GeneralTransformationRule.MarkInstantiatingFor(GeneralTransformationRule, Predicate<Computation>)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: NMF.CodeGen
Assembly: NMF.CodeGen.dll
Syntax
public abstract class ClassGenerator<T> : TransformationRule<T, CodeTypeDeclaration> where T : class
Type Parameters
Name Description
T

The model element type from which the classes are generated

Methods

| Edit this page View Source

AddImplementationBaseClass(CodeTypeDeclaration)

Modifies the given code declaration to respect that the generated class is the root of an inheritance tree

Declaration
protected virtual void AddImplementationBaseClass(CodeTypeDeclaration generatedType)
Parameters
Type Name Description
CodeTypeDeclaration generatedType

The generated class declaration

Remarks

This method can be overridden so that the derived transformation rule can inherit common base functionality

| Edit this page View Source

CreateInterfaceMembers(CodeTypeDeclaration, CodeTypeDeclaration)

Generates the interface members for the given type

Declaration
protected virtual void CreateInterfaceMembers(CodeTypeDeclaration generatedType, CodeTypeDeclaration interfaceDecl)
Parameters
Type Name Description
CodeTypeDeclaration generatedType

The generated type

CodeTypeDeclaration interfaceDecl

The interface declaration

| Edit this page View Source

CreateOutput(T, ITransformationContext)

Creates the output the transformation rule

Declaration
public override CodeTypeDeclaration CreateOutput(T input, ITransformationContext context)
Parameters
Type Name Description
T input

The input model element

ITransformationContext context

The transformaton context

Returns
Type Description
CodeTypeDeclaration

A new code type declaration with set reference that references back to the code declaration

Overrides
NMF.Transformations.TransformationRule<T, System.CodeDom.CodeTypeDeclaration>.CreateOutput(T, NMF.Transformations.Core.ITransformationContext)
| Edit this page View Source

CreateSeparatePublicInterface(T, CodeTypeDeclaration)

Create a separate public interface for the given input

Declaration
protected virtual CodeTypeDeclaration CreateSeparatePublicInterface(T input, CodeTypeDeclaration generatedType)
Parameters
Type Name Description
T input

The input model element

CodeTypeDeclaration generatedType

The generated type declaration

Returns
Type Description
CodeTypeDeclaration

A new type declaration without members or null, if no interface shall be created.

| Edit this page View Source

GetName(T)

Gets the name of the class generated for the given model element

Declaration
protected abstract string GetName(T input)
Parameters
Type Name Description
T input

The input model element

Returns
Type Description
string

The name of the class

| Edit this page View Source

RequireBaseClass(Func<T, T>)

Creates a dependency to generate the code for the base classes of the current class

Declaration
public ITransformationRuleDependency RequireBaseClass(Func<T, T> selector)
Parameters
Type Name Description
Func<T, T> selector

A function used to select the model element from which to generate a base class

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

| Edit this page View Source

RequireBaseClass<TClass>(TransformationRuleBase<TClass, CodeTypeDeclaration>, Func<T, TClass>)

Creates a dependency to generate the code for the base classes of the current class

Declaration
public ITransformationRuleDependency RequireBaseClass<TClass>(TransformationRuleBase<TClass, CodeTypeDeclaration> rule, Func<T, TClass> selector) where TClass : class
Parameters
Type Name Description
TransformationRuleBase<TClass, CodeTypeDeclaration> rule

The transformation rule that is used to generate the class

Func<T, TClass> selector

A function used to select the model element from which to generate a base class

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TClass

The model element type from which to generate the base class

| Edit this page View Source

RequireBaseClasses(Func<T, IEnumerable<T>>)

Creates a dependency to generate the code for the base classes of the current class

Declaration
public ITransformationRuleDependency RequireBaseClasses(Func<T, IEnumerable<T>> selector)
Parameters
Type Name Description
Func<T, IEnumerable<T>> selector

The function used to select the model elements from which to generate the base classes

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

| Edit this page View Source

RequireBaseClasses<TClass>(TransformationRuleBase<TClass, CodeTypeDeclaration>, Func<T, IEnumerable<TClass>>)

Creates a dependency to generate the code for the base classes of the current class

Declaration
public ITransformationRuleDependency RequireBaseClasses<TClass>(TransformationRuleBase<TClass, CodeTypeDeclaration> rule, Func<T, IEnumerable<TClass>> selector) where TClass : class
Parameters
Type Name Description
TransformationRuleBase<TClass, CodeTypeDeclaration> rule

The transformation rule that is used to generate the base classes

Func<T, IEnumerable<TClass>> selector

The function used to select the model elements from which to generate the base classes

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TClass

The model element type from which to generate the base classes

| Edit this page View Source

RequireEvent<TEvent>(TransformationRuleBase<TEvent, CodeMemberEvent>, Func<T, TEvent>)

Creates a dependency to generate an event from a given subsequent model element

Declaration
public ITransformationRuleDependency RequireEvent<TEvent>(TransformationRuleBase<TEvent, CodeMemberEvent> rule, Func<T, TEvent> selector) where TEvent : class
Parameters
Type Name Description
TransformationRuleBase<TEvent, CodeMemberEvent> rule

The transformation rule that is used to generate the event

Func<T, TEvent> selector

The selector function that selects the model element from which to generate an event

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TEvent

The model element type from which to generate an event

| Edit this page View Source

RequireEvents<TEvent>(TransformationRuleBase<TEvent, CodeMemberEvent>, Func<T, IEnumerable<TEvent>>)

Creates a dependency to generate events from given subsequent model elements

Declaration
public ITransformationRuleDependency RequireEvents<TEvent>(TransformationRuleBase<TEvent, CodeMemberEvent> rule, Func<T, IEnumerable<TEvent>> selector) where TEvent : class
Parameters
Type Name Description
TransformationRuleBase<TEvent, CodeMemberEvent> rule

The transformation rule to generate events

Func<T, IEnumerable<TEvent>> selector

The selector function that selects the model elements from which to generate events

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TEvent

The model element type from which to generate events

| Edit this page View Source

RequireGenerateMethod<TMeth>(TransformationRuleBase<TMeth, CodeMemberMethod>, Func<T, TMeth>)

Cregates a dependency to generate a method from a given subsequent model element

Declaration
public ITransformationRuleDependency RequireGenerateMethod<TMeth>(TransformationRuleBase<TMeth, CodeMemberMethod> rule, Func<T, TMeth> selector) where TMeth : class
Parameters
Type Name Description
TransformationRuleBase<TMeth, CodeMemberMethod> rule

The method generator

Func<T, TMeth> selector

The selector function that selects the model element from which to generate the method

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TMeth

The model element type from which to generate a method

| Edit this page View Source

RequireGenerateMethods<TMeth>(TransformationRuleBase<TMeth, CodeMemberMethod>, Func<T, IEnumerable<TMeth>>)

Creates a dependency to generate methods from subsequent model elements

Declaration
public ITransformationRuleDependency RequireGenerateMethods<TMeth>(TransformationRuleBase<TMeth, CodeMemberMethod> rule, Func<T, IEnumerable<TMeth>> selector) where TMeth : class
Parameters
Type Name Description
TransformationRuleBase<TMeth, CodeMemberMethod> rule

The method generator

Func<T, IEnumerable<TMeth>> selector

The selector function that selects the model elements from which to generate the methods

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TMeth

The model elements type from which to generate methods

| Edit this page View Source

RequireGenerateProperties<TProp>(TransformationRuleBase<TProp, CodeMemberProperty>, Func<T, IEnumerable<TProp>>)

Creates a dependency to generate properties from subsequent model elements

Declaration
public ITransformationRuleDependency RequireGenerateProperties<TProp>(TransformationRuleBase<TProp, CodeMemberProperty> rule, Func<T, IEnumerable<TProp>> selector) where TProp : class
Parameters
Type Name Description
TransformationRuleBase<TProp, CodeMemberProperty> rule

The transformation rule for the property generation rule

Func<T, IEnumerable<TProp>> selector

The selector function to select the subsequent model elements

Returns
Type Description
ITransformationRuleDependency

The created transformation rule dependency

Type Parameters
Name Description
TProp

The model element type from which to generate a property

| Edit this page View Source

RequireGenerateProperty<TProp>(TransformationRuleBase<TProp, CodeMemberProperty>, Func<T, TProp>)

Creates a dependency to generate a property from a given subsequent model element

Declaration
public ITransformationRuleDependency RequireGenerateProperty<TProp>(TransformationRuleBase<TProp, CodeMemberProperty> rule, Func<T, TProp> selector) where TProp : class
Parameters
Type Name Description
TransformationRuleBase<TProp, CodeMemberProperty> rule

The property generator

Func<T, TProp> selector

The selector function that selects the model element from which to generate the property

Returns
Type Description
ITransformationRuleDependency

The transformation rule dependency

Type Parameters
Name Description
TProp

The model element type from which to generate a property

| Edit this page View Source

ResolveMultipleInheritanceMembers(CodeTypeDeclaration, HashSet<CodeTypeMember>, CodeConstructor)

Resolves the members inherited from multiple base classes

Declaration
protected virtual void ResolveMultipleInheritanceMembers(CodeTypeDeclaration generatedType, HashSet<CodeTypeMember> shadows, CodeConstructor constructor)
Parameters
Type Name Description
CodeTypeDeclaration generatedType

The generated type

HashSet<CodeTypeMember> shadows

The members that are shadowed by others

CodeConstructor constructor

The constructor to which initializations should be added

| Edit this page View Source

ShouldContainMembers(CodeTypeDeclaration, CodeTypeDeclaration)

Determines whether the provided type should contain members of the given base type

Declaration
protected virtual bool ShouldContainMembers(CodeTypeDeclaration generatedType, CodeTypeDeclaration baseType)
Parameters
Type Name Description
CodeTypeDeclaration generatedType

The type that is currently being generated

CodeTypeDeclaration baseType

The base types

Returns
Type Description
bool

True if so, otherwise false

| Edit this page View Source

Transform(T, CodeTypeDeclaration, ITransformationContext)

Initializes the generated type declaration

Declaration
public override void Transform(T input, CodeTypeDeclaration generatedType, ITransformationContext context)
Parameters
Type Name Description
T input

The input model element

CodeTypeDeclaration generatedType

The generated class declaration

ITransformationContext context

The transformation context

Overrides
TransformationRule<T, CodeTypeDeclaration>.Transform(T, CodeTypeDeclaration, ITransformationContext)
Remarks

Can be overridden to refine code generation

  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX