private static RuleGenerator/*!*/ CreateGetter(int index) {
return delegate(MetaObjectBuilder/*!*/ metaBuilder, CallArguments/*!*/ args, string/*!*/ name) {
RubyOverloadResolver.NormalizeArguments(metaBuilder, args, 0, 0);
if (!metaBuilder.Error) {
metaBuilder.Result = Methods.RubyStruct_GetValue.OpCall(
Ast.Convert(args.TargetExpression, typeof(RubyStruct)),
AstUtils.Constant(index)
);
}
};
}