Exemplo n.º 1
0
 private static RType CreateArrayType()
 {
     RType arrayType = new RType("Array") {IsArray = true};
     RppGenericParameter genericParameter = arrayType.DefineGenericParameters("A")[0];
     arrayType.DefineConstructor(RMethodAttributes.Public, new[] {new RppParameterInfo("size", IntTy)});
     arrayType.DefineMethod("length", RMethodAttributes.Public, IntTy, new RppParameterInfo[0]);
     arrayType.DefineMethod("apply", RMethodAttributes.Public, genericParameter.Type, new[] {new RppParameterInfo("index", IntTy)},
         new RppGenericParameter[0]);
     arrayType.DefineMethod("update", RMethodAttributes.Public, UnitTy,
         new[] {new RppParameterInfo("index", IntTy), new RppParameterInfo("value", genericParameter.Type)}, new RppGenericParameter[0]);
     return arrayType;
 }