summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Andersson <j.a.e.andersson@gmail.com>2016-07-12 11:02:46 -0500
committerJoel Andersson <j.a.e.andersson@gmail.com>2016-07-12 11:02:46 -0500
commit32ef224663d252f7edde5bcb69a9aeb0f3d6571f (patch)
treef650ef77423f13272b4eadb89dd5535b602c36bd
parent88a427ddb5fbbe42f0c48e8d7955c2112b7559f3 (diff)
downloadswig-32ef224663d252f7edde5bcb69a9aeb0f3d6571f.tar.gz
Issue #51: Removed subsref, subsasgn from SwigRef.m
The current solution is so hacky that it's better for users to add it themselves using %matlabcode
-rw-r--r--Examples/test-suite/matlab/array_member_runme.m2
-rw-r--r--Examples/test-suite/matlab/li_attribute_runme.m14
-rw-r--r--Examples/test-suite/matlab/naturalvar_runme.m2
-rw-r--r--Examples/test-suite/matlab/unions_runme.m2
-rw-r--r--Source/Modules/matlab.cxx28
5 files changed, 10 insertions, 38 deletions
diff --git a/Examples/test-suite/matlab/array_member_runme.m b/Examples/test-suite/matlab/array_member_runme.m
index 999c286bb..639b0fead 100644
--- a/Examples/test-suite/matlab/array_member_runme.m
+++ b/Examples/test-suite/matlab/array_member_runme.m
@@ -1,5 +1,5 @@
f = array_member.Foo();
-f.data = array_member.global_data();
+f.data(array_member.global_data());
for i=0:7,
if (array_member.get_value(f.data,i) ~= array_member.get_value(array_member.global_data,i))
diff --git a/Examples/test-suite/matlab/li_attribute_runme.m b/Examples/test-suite/matlab/li_attribute_runme.m
index 242fe0da0..646e71654 100644
--- a/Examples/test-suite/matlab/li_attribute_runme.m
+++ b/Examples/test-suite/matlab/li_attribute_runme.m
@@ -3,7 +3,7 @@ aa = li_attribute.A(1,2,3);
if (aa.a ~= 1)
error('Failed!!')
end
-aa.a = 3;
+aa.a(3);
if (aa.a ~= 3)
error('aa.a = %i',aa.a)
end
@@ -11,7 +11,7 @@ end
if (aa.b ~= 2)
error(aa.b)
end
-aa.b = 5;
+aa.b(5);
if (aa.b ~= 5)
error('Failed!!')
end
@@ -29,7 +29,7 @@ if (pi.value ~= 7)
error('Failed!!')
end
-pi.value=3;
+pi.value(3);
if (pi.value ~= 3)
error('Failed!!')
end
@@ -42,9 +42,9 @@ end
% class/struct attribute with get/set methods using return/pass by reference
myFoo = li_attribute.MyFoo();
-myFoo.x = 8;
+myFoo.x(8);
myClass = li_attribute.MyClass();
-myClass.Foo = myFoo;
+myClass.Foo(myFoo);
if (myClass.Foo.x ~= 8)
error
end
@@ -57,7 +57,7 @@ end
if (myClassVal.ReadOnlyFoo.x ~= -1)
error('Failed!!')
end
-myClassVal.ReadWriteFoo = myFoo;
+myClassVal.ReadWriteFoo(myFoo);
if (myClassVal.ReadWriteFoo.x ~= 8)
error('Failed!!')
end
@@ -73,7 +73,7 @@ end
if (myStringyClass.ReadOnlyString ~= 'initial string')
error('Failed!!')
end
-myStringyClass.ReadWriteString = 'changed string';
+myStringyClass.ReadWriteString('changed string');
if (myStringyClass.ReadWriteString ~= 'changed string')
error('Failed!!')
end
diff --git a/Examples/test-suite/matlab/naturalvar_runme.m b/Examples/test-suite/matlab/naturalvar_runme.m
index 57a7b39a0..1881b06ab 100644
--- a/Examples/test-suite/matlab/naturalvar_runme.m
+++ b/Examples/test-suite/matlab/naturalvar_runme.m
@@ -4,7 +4,7 @@ b = naturalvar.Bar();
b.f(f);
naturalvar.s('hello');
-b.s = 'hello';
+b.s('hello');
if (b.s ~= naturalvar.s)
error
diff --git a/Examples/test-suite/matlab/unions_runme.m b/Examples/test-suite/matlab/unions_runme.m
index 06e2b415d..00ea561aa 100644
--- a/Examples/test-suite/matlab/unions_runme.m
+++ b/Examples/test-suite/matlab/unions_runme.m
@@ -14,7 +14,7 @@ big.jack(300);
eut = unions.EmbeddedUnionTest();
% First check the SmallStruct in EmbeddedUnionTest
-eut.number = 1;
+eut.number(1);
eut.uni.small(small);
Jill1 = eut.uni.small.jill;
if (Jill1 ~= 200)
diff --git a/Source/Modules/matlab.cxx b/Source/Modules/matlab.cxx
index ef0f22593..7697a1108 100644
--- a/Source/Modules/matlab.cxx
+++ b/Source/Modules/matlab.cxx
@@ -2717,34 +2717,6 @@ void MATLAB::createSwigRef() {
Printf(f_wrap_m," function disp(self)\n");
Printf(f_wrap_m," disp(sprintf('<Swig object, ptr=%%d>',self.swigPtr))\n");
Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," function varargout = subsref(self,s)\n");
- Printf(f_wrap_m," if numel(s)==1\n");
- Printf(f_wrap_m," switch s.type\n");
- Printf(f_wrap_m," case '.'\n");
- Printf(f_wrap_m," [varargout{1}] = builtin('subsref',self,substruct('.',s.subs,'()',{}));\n");
- Printf(f_wrap_m," case '()'\n");
- Printf(f_wrap_m," [varargout{1:nargout}] = builtin('subsref',self,substruct('.','paren','()',s.subs));\n");
- Printf(f_wrap_m," case '{}'\n");
- Printf(f_wrap_m," [varargout{1:nargout}] = builtin('subsref',self,substruct('.','brace','()',s.subs));\n");
- Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," else\n");
- Printf(f_wrap_m," [varargout{1:nargout}] = builtin('subsref',self,s);\n");
- Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," function self = subsasgn(self,s,v)\n");
- Printf(f_wrap_m," if numel(s)==1\n");
- Printf(f_wrap_m," switch s.type\n");
- Printf(f_wrap_m," case '.'\n");
- Printf(f_wrap_m," builtin('subsref',self,substruct('.',s.subs,'()',{v}));\n");
- Printf(f_wrap_m," case '()'\n");
- Printf(f_wrap_m," builtin('subsref',self,substruct('.','paren_asgn','()',{v, s.subs{:}}));\n");
- Printf(f_wrap_m," case '{}'\n");
- Printf(f_wrap_m," builtin('subsref',self,substruct('.','setbrace','()',{v, s.subs{:}}));\n");
- Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," else\n");
- Printf(f_wrap_m," self = builtin('subsasgn',self,s,v);\n");
- Printf(f_wrap_m," end\n");
- Printf(f_wrap_m," end\n");
Printf(f_wrap_m," function SwigSet(self,ptr)\n");
Printf(f_wrap_m," self.swigPtr = ptr;\n");
Printf(f_wrap_m," end\n");