예제 #1
0
 protected override void OnSetTarget(IJumpTarget value)
 {
     if (!(value is ISwitchCaseBlockStatement))
     {
         throw new ArgumentException("value must be a switch case block statement", "value");
     }
     base.OnSetTarget(value);
 }
 protected override void OnSetTarget(IJumpTarget value)
 {
     if (!(value is ILabelStatement))
     {
         throw new ArgumentException("value must be a label statement", "value");
     }
     base.OnSetTarget(value);
 }
 public override bool Visit(IJumpTarget statement, IStatement context)
 {
     _stack.Push(statement);
     try
     {
         return(base.Visit(statement, context));
     }
     finally
     {
         _stack.Pop();
     }
 }
예제 #4
0
 public abstract IStatement Transform(IJumpTarget statement);
예제 #5
0
 void IStatementVisitor.Visit(IJumpTarget statement)
 {
     this.Translate(statement);
 }
예제 #6
0
 TransformationImpact IStatementVisitor <TransformationImpact> .Visit(IJumpTarget statement)
 {
     return(CalculateRefactorImpact(statement));
 }
예제 #7
0
 public TestLinkerResult Visit(IJumpTarget statement, ICompilationContext context)
 {
     throw new NotImplementedException();
 }
예제 #8
0
 public abstract TransformationImpact CalculateRefactorImpact(IJumpTarget statement);
예제 #9
0
 public bool Visit(IJumpTarget statement, TContext context)
 {
     return(false);
 }
예제 #10
0
 public abstract void Translate(IJumpTarget statement);
예제 #11
0
 public TransformationKind Visit(IJumpTarget statement, ITransformationContext context)
 {
     throw new NotImplementedException();
 }
예제 #12
0
 protected virtual void OnSetTarget(IJumpTarget value)
 {
     this.target = value;
 }
예제 #13
0
 public JumpStatement(IStatementParent parent, IJumpTarget target)
     : base(parent)
 {
     this.target = target;
 }