예제 #1
0
		protected override void CloneTo (CloneContext clonectx, Expression t)
		{
			LocalVariableReference target = (LocalVariableReference) t;
			
			target.Block = clonectx.LookupBlock (Block);
			if (local_info != null)
				target.local_info = clonectx.LookupVariable (local_info);
		}
예제 #2
0
파일: statement.cs 프로젝트: tgiphil/mono
		protected override void CloneTo (CloneContext clonectx, Statement t)
		{
			Fixed target = (Fixed) t;

			target.type = type.Clone (clonectx);
			target.declarators = new List<KeyValuePair<LocalInfo, Expression>> (declarators.Count);
			foreach (var p in declarators) {
				target.declarators.Add (new KeyValuePair<LocalInfo, Expression> (
					clonectx.LookupVariable (p.Key), p.Value.Clone (clonectx)));
			}
			
			target.statement = statement.Clone (clonectx);
		}
예제 #3
0
		protected override void CloneTo (CloneContext clonectx, Statement t)
		{
			Fixed target = (Fixed) t;

			target.type = type.Clone (clonectx);
			target.declarators = new ArrayList (declarators.Count);
			foreach (Pair p in declarators) {
				LocalInfo vi = (LocalInfo) p.First;
				Expression e = (Expression) p.Second;

				target.declarators.Add (
					new Pair (clonectx.LookupVariable (vi), e.Clone (clonectx)));				
			}
			
			target.statement = statement.Clone (clonectx);
		}