Skip to content

Commit

Permalink
Added java interop type conversion test for #1917: assignment is RHS …
Browse files Browse the repository at this point in the history
…type
  • Loading branch information
FroMage committed Nov 18, 2014
1 parent 9009e89 commit d4a9e1c
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -893,6 +893,7 @@ public void testBug1916() {

@Test
public void testBug1917() {
compile("bug19xx/Bug1917Java.java");
compareWithJavaSource("bug19xx/Bug1917");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,18 @@ void bug1917works<Result>(Result() f) {
variable Result|Object|Null memo;
Result x = memo = f();
}

@noanno
class Bug1917Interop(Bug1917Java dataSource) extends Bug1917Java(){
shared Integer loginTimeout1
=> loginTimeout;

assign loginTimeout1
=> loginTimeout = loginTimeout1;

shared Integer loginTimeout2
=> dataSource.loginTimeout;

assign loginTimeout2
=> dataSource.loginTimeout = loginTimeout2;
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,53 @@ final class bug1917works_ {
returning $ceylontmp$op$2;
);
}
}
class Bug1917Interop extends .com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Java implements .com.redhat.ceylon.compiler.java.runtime.model.ReifiedType {

Bug1917Interop(final .com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Java dataSource) {
super();
this.dataSource = dataSource;
}
private final .com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Java dataSource;

private final .com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Java getDataSource$priv$() {
return dataSource;
}

public final long getLoginTimeout1() {
return getLoginTimeout();
}

public final void setLoginTimeout1(final long loginTimeout1) {
(
let
{
long $ceylontmp$op$3 = loginTimeout1;
setLoginTimeout(.com.redhat.ceylon.compiler.java.Util.toInt($ceylontmp$op$3));
}
returning $ceylontmp$op$3;
);
}

public final long getLoginTimeout2() {
return getDataSource$priv$().getLoginTimeout();
}

public final void setLoginTimeout2(final long loginTimeout2) {
(
let
{
.com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Java $ceylontmp$opE$4 = getDataSource$priv$();
long $ceylontmp$opV$5 = loginTimeout2;
$ceylontmp$opE$4.setLoginTimeout(.com.redhat.ceylon.compiler.java.Util.toInt($ceylontmp$opV$5));
}
returning $ceylontmp$opV$5;
);
}

@.java.lang.Override
public .com.redhat.ceylon.compiler.java.runtime.model.TypeDescriptor $getType$() {
return .com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Interop.$TypeDescriptor$;
}
public static final .com.redhat.ceylon.compiler.java.runtime.model.TypeDescriptor $TypeDescriptor$ = .com.redhat.ceylon.compiler.java.runtime.model.TypeDescriptor.klass(.com.redhat.ceylon.compiler.java.test.issues.bug19xx.Bug1917Interop.class);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.redhat.ceylon.compiler.java.test.issues.bug19xx;

public class Bug1917Java {
public int getLoginTimeout(){ return 0; }
public void setLoginTimeout(int to){}
}

0 comments on commit d4a9e1c

Please sign in to comment.