Exemple #1
0
        public MethodDefinition CloneMethodDefinition()
        {
            MethodType originalMethodType = TypeExpr as MethodType;

            if (originalMethodType == null)
            {
                return(null);
            }

            MethodType clonedMemberTypeExpresion = originalMethodType.CloneMethodType(new Dictionary <TypeVariable, TypeVariable>());

            Block clonedBlock = new Block(Body.Location);

            for (int i = 0; i < Body.StatementCount; i++)
            {
                Statement sta = Body.GetStatementElement(i);
                clonedBlock.AddStatement(sta);
            }



            MethodDefinition clonedMethodDefinition = new MethodDefinition(IdentifierExp, clonedBlock, TypeVariable.NewTypeVariable.typeExpression, ParametersInfo, ModifiersInfo, Location);

            return(clonedMethodDefinition);
        }