package sharpen.core.csharp.ast; /** * CSharp AST factory. */ public class CSharpCode { public static CSField newPrivateReadonlyField(String name, CSTypeReferenceExpression type) { CSField field = new CSField(name, type, CSVisibility.Private); field.addModifier(CSFieldModifier.Readonly); return field; } public static CSConstructor newPublicConstructor() { final CSConstructor constructor = new CSConstructor(); constructor.visibility(CSVisibility.Public); return constructor; } public static CSReferenceExpression newReference(CSMember member) { return new CSReferenceExpression(member.name()); } public static CSExpression newAssignment(CSExpression lhs, CSExpression rhs) { return new CSInfixExpression("=", lhs, rhs); } }