Search Results for

    Show / Hide Table of Contents

    Class ShallowCopyTransform

    A transform which produces a copy where subtrees from the original are reused if they do not change. Any empty containers are removed.

    Inheritance
    Object
    ShallowCopyTransform
    ArraySizeTracingTransform
    Implements
    ICodeTransform
    IExpressionTransform
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: Microsoft.ML.Probabilistic.Compiler.Transforms
    Assembly: Microsoft.ML.Probabilistic.Compiler.dll
    Syntax
    public class ShallowCopyTransform : ICodeTransform, IExpressionTransform

    Fields

    afterStack

    Declaration
    protected Stack<List<IStatement>> afterStack
    Field Value
    Type Description
    Stack<List<IStatement>>

    beforeStack

    Declaration
    protected Stack<ICollection<IStatement>> beforeStack
    Field Value
    Type Description
    Stack<ICollection<IStatement>>

    Builder

    Helps build class declarations

    Declaration
    protected static CodeBuilder Builder
    Field Value
    Type Description
    CodeBuilder

    context

    Holds contextual information about the state of the transform which may be used to affect the transform.

    Declaration
    protected BasicTransformContext context
    Field Value
    Type Description
    BasicTransformContext

    Recognizer

    Helps recognize code patterns

    Declaration
    protected static CodeRecognizer Recognizer
    Field Value
    Type Description
    CodeRecognizer

    ShallowCopy

    If true, statements will be shallow copied even if they do not change. Child statements need not be copied.

    Declaration
    public bool ShallowCopy
    Field Value
    Type Description
    Boolean

    Properties

    Context

    Declaration
    public virtual ICodeTransformContext Context { get; set; }
    Property Value
    Type Description
    ICodeTransformContext

    Name

    Declaration
    public virtual string Name { get; }
    Property Value
    Type Description
    String

    Methods

    CheckIdentifier(String)

    Declaration
    public static string CheckIdentifier(string mname)
    Parameters
    Type Name Description
    String mname
    Returns
    Type Description
    String

    CloseOutputBlock()

    Declaration
    protected void CloseOutputBlock()

    ConvertAddressDereference(IAddressDereferenceExpression)

    Declaration
    protected virtual IExpression ConvertAddressDereference(IAddressDereferenceExpression iade)
    Parameters
    Type Name Description
    IAddressDereferenceExpression iade
    Returns
    Type Description
    IExpression

    ConvertAddressOut(IAddressOutExpression)

    Declaration
    protected virtual IExpression ConvertAddressOut(IAddressOutExpression iaoe)
    Parameters
    Type Name Description
    IAddressOutExpression iaoe
    Returns
    Type Description
    IExpression

    ConvertAnonymousMethodExpression(IAnonymousMethodExpression)

    Declaration
    protected virtual IExpression ConvertAnonymousMethodExpression(IAnonymousMethodExpression iame)
    Parameters
    Type Name Description
    IAnonymousMethodExpression iame
    Returns
    Type Description
    IExpression

    ConvertArgumentRef(IArgumentReferenceExpression)

    Declaration
    protected virtual IExpression ConvertArgumentRef(IArgumentReferenceExpression iare)
    Parameters
    Type Name Description
    IArgumentReferenceExpression iare
    Returns
    Type Description
    IExpression

    ConvertArrayCreate(IArrayCreateExpression)

    Declaration
    protected virtual IExpression ConvertArrayCreate(IArrayCreateExpression iace)
    Parameters
    Type Name Description
    IArrayCreateExpression iace
    Returns
    Type Description
    IExpression

    ConvertArrayIndexer(IArrayIndexerExpression)

    Declaration
    protected virtual IExpression ConvertArrayIndexer(IArrayIndexerExpression iaie)
    Parameters
    Type Name Description
    IArrayIndexerExpression iaie
    Returns
    Type Description
    IExpression

    ConvertAssign(IAssignExpression)

    Declaration
    protected virtual IExpression ConvertAssign(IAssignExpression iae)
    Parameters
    Type Name Description
    IAssignExpression iae
    Returns
    Type Description
    IExpression

    ConvertBaseRef(IBaseReferenceExpression)

    Declaration
    protected virtual IExpression ConvertBaseRef(IBaseReferenceExpression ibre)
    Parameters
    Type Name Description
    IBaseReferenceExpression ibre
    Returns
    Type Description
    IExpression

    ConvertBaseType(ITypeReference)

    Declaration
    protected virtual ITypeReference ConvertBaseType(ITypeReference itr)
    Parameters
    Type Name Description
    ITypeReference itr
    Returns
    Type Description
    ITypeReference

    ConvertBinary(IBinaryExpression)

    Declaration
    protected virtual IExpression ConvertBinary(IBinaryExpression ibe)
    Parameters
    Type Name Description
    IBinaryExpression ibe
    Returns
    Type Description
    IExpression

    ConvertBlock(IBlockStatement)

    Declaration
    protected virtual IBlockStatement ConvertBlock(IBlockStatement inputBlock)
    Parameters
    Type Name Description
    IBlockStatement inputBlock
    Returns
    Type Description
    IBlockStatement

    ConvertBlockAlreadyOpen(IBlockStatement)

    Shallow copy of BlockStatement

    Declaration
    protected virtual IBlockStatement ConvertBlockAlreadyOpen(IBlockStatement inputBlock)
    Parameters
    Type Name Description
    IBlockStatement inputBlock
    Returns
    Type Description
    IBlockStatement

    ConvertBlockExpr(IBlockExpression)

    Declaration
    protected virtual IExpression ConvertBlockExpr(IBlockExpression ibe)
    Parameters
    Type Name Description
    IBlockExpression ibe
    Returns
    Type Description
    IExpression

    ConvertBreak(IBreakStatement)

    Declaration
    protected virtual IStatement ConvertBreak(IBreakStatement ibs)
    Parameters
    Type Name Description
    IBreakStatement ibs
    Returns
    Type Description
    IStatement

    ConvertCastExpr(ICastExpression)

    Declaration
    protected virtual IExpression ConvertCastExpr(ICastExpression ice)
    Parameters
    Type Name Description
    ICastExpression ice
    Returns
    Type Description
    IExpression

    ConvertCheckedExpr(ICheckedExpression)

    Declaration
    protected virtual IExpression ConvertCheckedExpr(ICheckedExpression ice)
    Parameters
    Type Name Description
    ICheckedExpression ice
    Returns
    Type Description
    IExpression

    ConvertCollection(IList<IExpression>)

    Declaration
    protected virtual IList<IExpression> ConvertCollection(IList<IExpression> exprColl)
    Parameters
    Type Name Description
    IList<IExpression> exprColl
    Returns
    Type Description
    IList<IExpression>

    ConvertCollection(IList<IExpression>, IList<IExpression>)

    Declaration
    protected virtual void ConvertCollection(IList<IExpression> outputs, IList<IExpression> inputs)
    Parameters
    Type Name Description
    IList<IExpression> outputs
    IList<IExpression> inputs

    ConvertComment(ICommentStatement)

    Declaration
    protected virtual IStatement ConvertComment(ICommentStatement ics)
    Parameters
    Type Name Description
    ICommentStatement ics
    Returns
    Type Description
    IStatement

    ConvertCondition(IConditionStatement)

    Declaration
    protected virtual IStatement ConvertCondition(IConditionStatement ics)
    Parameters
    Type Name Description
    IConditionStatement ics
    Returns
    Type Description
    IStatement

    ConvertConditionExpr(IConditionExpression)

    Declaration
    protected virtual IExpression ConvertConditionExpr(IConditionExpression ice)
    Parameters
    Type Name Description
    IConditionExpression ice
    Returns
    Type Description
    IExpression

    ConvertDefaultExpr(IDefaultExpression)

    Declaration
    protected virtual IExpression ConvertDefaultExpr(IDefaultExpression ide)
    Parameters
    Type Name Description
    IDefaultExpression ide
    Returns
    Type Description
    IExpression

    ConvertDelegateInvoke(IDelegateInvokeExpression)

    Declaration
    protected virtual IExpression ConvertDelegateInvoke(IDelegateInvokeExpression imie)
    Parameters
    Type Name Description
    IDelegateInvokeExpression imie
    Returns
    Type Description
    IExpression

    ConvertEvent(ITypeDeclaration, IEventDeclaration)

    Declaration
    protected virtual IEventDeclaration ConvertEvent(ITypeDeclaration td, IEventDeclaration ifd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    IEventDeclaration ifd
    Returns
    Type Description
    IEventDeclaration

    ConvertEventRefExpr(IEventReferenceExpression)

    Declaration
    protected virtual IExpression ConvertEventRefExpr(IEventReferenceExpression iere)
    Parameters
    Type Name Description
    IEventReferenceExpression iere
    Returns
    Type Description
    IExpression

    ConvertEvents(ITypeDeclaration, ITypeDeclaration)

    Declaration
    protected virtual void ConvertEvents(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertExpression(IExpression)

    Declaration
    public virtual IExpression ConvertExpression(IExpression expr)
    Parameters
    Type Name Description
    IExpression expr
    Returns
    Type Description
    IExpression

    ConvertExpressionStatement(IExpressionStatement)

    Declaration
    protected virtual IStatement ConvertExpressionStatement(IExpressionStatement ies)
    Parameters
    Type Name Description
    IExpressionStatement ies
    Returns
    Type Description
    IStatement

    ConvertField(ITypeDeclaration, IFieldDeclaration)

    Declaration
    protected virtual IFieldDeclaration ConvertField(ITypeDeclaration td, IFieldDeclaration ifd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    IFieldDeclaration ifd
    Returns
    Type Description
    IFieldDeclaration

    ConvertFieldRefExpr(IFieldReferenceExpression)

    Declaration
    protected virtual IExpression ConvertFieldRefExpr(IFieldReferenceExpression ifre)
    Parameters
    Type Name Description
    IFieldReferenceExpression ifre
    Returns
    Type Description
    IExpression

    ConvertFields(ITypeDeclaration, ITypeDeclaration)

    Declaration
    protected virtual void ConvertFields(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertFor(IForStatement)

    Declaration
    protected virtual IStatement ConvertFor(IForStatement ifs)
    Parameters
    Type Name Description
    IForStatement ifs
    Returns
    Type Description
    IStatement

    ConvertForEach(IForEachStatement)

    Declaration
    protected virtual IForEachStatement ConvertForEach(IForEachStatement ifs)
    Parameters
    Type Name Description
    IForEachStatement ifs
    Returns
    Type Description
    IForEachStatement

    ConvertInterface(ITypeReference)

    Declaration
    protected virtual ITypeReference ConvertInterface(ITypeReference itr)
    Parameters
    Type Name Description
    ITypeReference itr
    Returns
    Type Description
    ITypeReference

    ConvertLiteral(ILiteralExpression)

    Declaration
    protected virtual IExpression ConvertLiteral(ILiteralExpression ile)
    Parameters
    Type Name Description
    ILiteralExpression ile
    Returns
    Type Description
    IExpression

    ConvertMethod(IMethodDeclaration)

    Declaration
    protected virtual IMethodDeclaration ConvertMethod(IMethodDeclaration imd)
    Parameters
    Type Name Description
    IMethodDeclaration imd
    Returns
    Type Description
    IMethodDeclaration

    ConvertMethodInstanceReference(IMethodReference)

    Declaration
    protected virtual IMethodReference ConvertMethodInstanceReference(IMethodReference imr)
    Parameters
    Type Name Description
    IMethodReference imr
    Returns
    Type Description
    IMethodReference

    ConvertMethodInvoke(IMethodInvokeExpression)

    Declaration
    protected virtual IExpression ConvertMethodInvoke(IMethodInvokeExpression imie)
    Parameters
    Type Name Description
    IMethodInvokeExpression imie
    Returns
    Type Description
    IExpression

    ConvertMethodParameter(IParameterDeclaration, Int32)

    Declaration
    protected virtual IParameterDeclaration ConvertMethodParameter(IParameterDeclaration ipd, int index)
    Parameters
    Type Name Description
    IParameterDeclaration ipd
    Int32 index
    Returns
    Type Description
    IParameterDeclaration

    ConvertMethodReference(IMethodReference)

    Declaration
    protected virtual IMethodReference ConvertMethodReference(IMethodReference imr)
    Parameters
    Type Name Description
    IMethodReference imr
    Returns
    Type Description
    IMethodReference

    ConvertMethodRefExpr(IMethodReferenceExpression)

    Declaration
    protected virtual IExpression ConvertMethodRefExpr(IMethodReferenceExpression imre)
    Parameters
    Type Name Description
    IMethodReferenceExpression imre
    Returns
    Type Description
    IExpression

    ConvertMethods(ITypeDeclaration, ITypeDeclaration)

    Declaration
    protected virtual void ConvertMethods(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertNestedTypes(ITypeDeclaration, ITypeDeclaration)

    Declaration
    protected virtual void ConvertNestedTypes(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertObjectCreate(IObjectCreateExpression)

    Declaration
    protected virtual IExpression ConvertObjectCreate(IObjectCreateExpression ioce)
    Parameters
    Type Name Description
    IObjectCreateExpression ioce
    Returns
    Type Description
    IExpression

    ConvertProperties(ITypeDeclaration, ITypeDeclaration)

    Declaration
    protected virtual void ConvertProperties(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertProperty(ITypeDeclaration, IPropertyDeclaration, Boolean)

    Declaration
    protected virtual IPropertyDeclaration ConvertProperty(ITypeDeclaration td, IPropertyDeclaration ipd, bool convertGetterAndSetter = true)
    Parameters
    Type Name Description
    ITypeDeclaration td
    IPropertyDeclaration ipd
    Boolean convertGetterAndSetter
    Returns
    Type Description
    IPropertyDeclaration

    ConvertPropertyIndexerExpr(IPropertyIndexerExpression)

    Declaration
    protected virtual IExpression ConvertPropertyIndexerExpr(IPropertyIndexerExpression ipie)
    Parameters
    Type Name Description
    IPropertyIndexerExpression ipie
    Returns
    Type Description
    IExpression

    ConvertPropertyRefExpr(IPropertyReferenceExpression)

    Declaration
    protected virtual IExpression ConvertPropertyRefExpr(IPropertyReferenceExpression ipre)
    Parameters
    Type Name Description
    IPropertyReferenceExpression ipre
    Returns
    Type Description
    IExpression

    ConvertRepeat(IRepeatStatement)

    Declaration
    protected virtual IStatement ConvertRepeat(IRepeatStatement irs)
    Parameters
    Type Name Description
    IRepeatStatement irs
    Returns
    Type Description
    IStatement

    ConvertReturnStatement(IMethodReturnStatement)

    Declaration
    protected virtual IStatement ConvertReturnStatement(IMethodReturnStatement imrs)
    Parameters
    Type Name Description
    IMethodReturnStatement imrs
    Returns
    Type Description
    IStatement

    ConvertStatement(IStatement)

    Declaration
    protected virtual IStatement ConvertStatement(IStatement ist)
    Parameters
    Type Name Description
    IStatement ist
    Returns
    Type Description
    IStatement

    ConvertStatements(IList<IStatement>, IEnumerable<IStatement>)

    Declaration
    protected virtual void ConvertStatements(IList<IStatement> outputs, IEnumerable<IStatement> inputs)
    Parameters
    Type Name Description
    IList<IStatement> outputs
    IEnumerable<IStatement> inputs

    ConvertSwitch(ISwitchStatement)

    Declaration
    protected virtual IStatement ConvertSwitch(ISwitchStatement iss)
    Parameters
    Type Name Description
    ISwitchStatement iss
    Returns
    Type Description
    IStatement

    ConvertSwitchCase(IList<ISwitchCase>, ISwitchCase)

    Declaration
    protected virtual void ConvertSwitchCase(IList<ISwitchCase> cases, ISwitchCase isc)
    Parameters
    Type Name Description
    IList<ISwitchCase> cases
    ISwitchCase isc

    ConvertThis(IThisReferenceExpression)

    Declaration
    protected virtual IExpression ConvertThis(IThisReferenceExpression itre)
    Parameters
    Type Name Description
    IThisReferenceExpression itre
    Returns
    Type Description
    IExpression

    ConvertThrow(IThrowExceptionStatement)

    Declaration
    protected virtual IStatement ConvertThrow(IThrowExceptionStatement its)
    Parameters
    Type Name Description
    IThrowExceptionStatement its
    Returns
    Type Description
    IStatement

    ConvertType(ITypeDeclaration)

    Convert a type declaration

    Declaration
    public virtual ITypeDeclaration ConvertType(ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration itd

    The type to convert

    Returns
    Type Description
    ITypeDeclaration

    A new type declaration

    ConvertTypeOfExpr(ITypeOfExpression)

    Declaration
    protected virtual IExpression ConvertTypeOfExpr(ITypeOfExpression itoe)
    Parameters
    Type Name Description
    ITypeOfExpression itoe
    Returns
    Type Description
    IExpression

    ConvertTypeProperties(ITypeDeclaration, ITypeDeclaration)

    Declaration
    public virtual void ConvertTypeProperties(ITypeDeclaration td, ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration td
    ITypeDeclaration itd

    ConvertTypeReference(ITypeReference)

    Declaration
    protected virtual ITypeReference ConvertTypeReference(ITypeReference itr)
    Parameters
    Type Name Description
    ITypeReference itr
    Returns
    Type Description
    ITypeReference

    ConvertTypeRefExpr(ITypeReferenceExpression)

    Declaration
    protected virtual IExpression ConvertTypeRefExpr(ITypeReferenceExpression itre)
    Parameters
    Type Name Description
    ITypeReferenceExpression itre
    Returns
    Type Description
    IExpression

    ConvertUnary(IUnaryExpression)

    Declaration
    protected virtual IExpression ConvertUnary(IUnaryExpression iue)
    Parameters
    Type Name Description
    IUnaryExpression iue
    Returns
    Type Description
    IExpression

    ConvertUsing(IUsingStatement)

    Declaration
    protected virtual IStatement ConvertUsing(IUsingStatement ius)
    Parameters
    Type Name Description
    IUsingStatement ius
    Returns
    Type Description
    IStatement

    ConvertVariableDecl(IVariableDeclaration)

    Declaration
    protected virtual IVariableDeclaration ConvertVariableDecl(IVariableDeclaration ivd)
    Parameters
    Type Name Description
    IVariableDeclaration ivd
    Returns
    Type Description
    IVariableDeclaration

    ConvertVariableDeclExpr(IVariableDeclarationExpression)

    Declaration
    protected virtual IExpression ConvertVariableDeclExpr(IVariableDeclarationExpression ivde)
    Parameters
    Type Name Description
    IVariableDeclarationExpression ivde
    Returns
    Type Description
    IExpression

    ConvertVariableRefExpr(IVariableReferenceExpression)

    Declaration
    protected virtual IExpression ConvertVariableRefExpr(IVariableReferenceExpression ivre)
    Parameters
    Type Name Description
    IVariableReferenceExpression ivre
    Returns
    Type Description
    IExpression

    ConvertWhile(IWhileStatement)

    Declaration
    protected virtual IStatement ConvertWhile(IWhileStatement iws)
    Parameters
    Type Name Description
    IWhileStatement iws
    Returns
    Type Description
    IStatement

    DoConvertConstructor(IConstructorDeclaration, IConstructorDeclaration)

    Declaration
    protected virtual IMethodDeclaration DoConvertConstructor(IConstructorDeclaration cd, IConstructorDeclaration icd)
    Parameters
    Type Name Description
    IConstructorDeclaration cd
    IConstructorDeclaration icd
    Returns
    Type Description
    IMethodDeclaration

    DoConvertExpression(IExpression)

    Declaration
    protected virtual IExpression DoConvertExpression(IExpression expr)
    Parameters
    Type Name Description
    IExpression expr
    Returns
    Type Description
    IExpression

    DoConvertMethod(IMethodDeclaration, IMethodDeclaration)

    Declaration
    protected virtual IMethodDeclaration DoConvertMethod(IMethodDeclaration md, IMethodDeclaration imd)
    Parameters
    Type Name Description
    IMethodDeclaration md
    IMethodDeclaration imd
    Returns
    Type Description
    IMethodDeclaration

    DoConvertMethodBody(IList<IStatement>, IList<IStatement>)

    Declaration
    protected virtual void DoConvertMethodBody(IList<IStatement> outputs, IList<IStatement> inputs)
    Parameters
    Type Name Description
    IList<IStatement> outputs
    IList<IStatement> inputs

    DoConvertStatement(IStatement)

    Declaration
    protected virtual IStatement DoConvertStatement(IStatement ist)
    Parameters
    Type Name Description
    IStatement ist
    Returns
    Type Description
    IStatement

    Error(String)

    Declaration
    protected void Error(string msg)
    Parameters
    Type Name Description
    String msg

    Error(String, Exception)

    Declaration
    protected void Error(string msg, Exception ex)
    Parameters
    Type Name Description
    String msg
    Exception ex

    FinishConvertStatement()

    When using OpenOutputBlock, this must be called after converting each statement.

    Declaration
    protected void FinishConvertStatement()

    Initialise()

    Declaration
    protected virtual void Initialise()

    OpenOutputBlock(ICollection<IStatement>)

    Declaration
    protected void OpenOutputBlock(ICollection<IStatement> outputs)
    Parameters
    Type Name Description
    ICollection<IStatement> outputs

    RegisterUnchangedStatement(IStatement)

    Declaration
    protected void RegisterUnchangedStatement(IStatement st)
    Parameters
    Type Name Description
    IStatement st

    RegisterUnchangedStatements(IEnumerable<IStatement>)

    Declaration
    protected void RegisterUnchangedStatements(IEnumerable<IStatement> stmts)
    Parameters
    Type Name Description
    IEnumerable<IStatement> stmts

    Transform(ITypeDeclaration)

    Declaration
    public virtual ITypeDeclaration Transform(ITypeDeclaration itd)
    Parameters
    Type Name Description
    ITypeDeclaration itd
    Returns
    Type Description
    ITypeDeclaration

    Warning(String)

    Declaration
    protected void Warning(string msg)
    Parameters
    Type Name Description
    String msg

    Warning(String, Exception)

    Declaration
    protected void Warning(string msg, Exception ex)
    Parameters
    Type Name Description
    String msg
    Exception ex

    Implements

    ICodeTransform
    IExpressionTransform
    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.