This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Android REPL - add* syntax-sugar not available in constructor


I'm not sure if the call stack for this REPL is helpful or not. It appears
that the expression still evaluates to a ClassType.

(define x (kawa.android.SomeWidget some-listener: (lambda (x) (display x)))

SchemeCompilation(Compilation).mustCompileHere() line: 2386	
ChainLambdas.visitScopeExp(ScopeExp, ScopeExp) line: 24	
ChainLambdas.visitClassExp(ClassExp, ScopeExp) line: 70	
ChainLambdas.visitClassExp(ClassExp, Object) line: 9	
ChainLambdas(ExpVisitor).visitObjectExp(ObjectExp, Object) line: 104	
ObjectExp.visit(ExpVisitor, Object) line: 15	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 53	
ChainLambdas(ExpVisitor).visitAndUpdate(Expression, Object) line: 143	<--
compiledType=ClassType
ChainLambdas(ExpVisitor).visitExps(Expression[], int, Object) line: 157	
ApplyExp.visitChildren(ExpVisitor, Object) line: 444	
ChainLambdas(ExpVisitor).visitExpression(Expression, Object) line: 29	
ChainLambdas(ExpVisitor).visitApplyExp(ApplyExp, Object) line: 67	
ApplyExp.visit(ExpVisitor, Object) line: 432	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 57	
ChainLambdas(ExpVisitor).visitAndUpdate(Expression, Object) line: 143	
ChainLambdas(ExpVisitor).visitExps(Expression[], int, Object) line: 157	
BeginExp.visitChildren(ExpVisitor, Object) line: 166	
ChainLambdas(ExpVisitor).visitExpression(Expression, Object) line: 29	
ChainLambdas(ExpVisitor).visitBeginExp(BeginExp, Object) line: 115	
BeginExp.visit(ExpVisitor, Object) line: 156	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 57	
ChainLambdas(ExpVisitor).visitAndUpdate(Expression, Object) line: 143	
LetExp.visitChildren(ExpVisitor, Object) line: 221	
ChainLambdas.visitScopeExp(ScopeExp, ScopeExp) line: 21	
ChainLambdas.visitScopeExp(ScopeExp, Object) line: 9	
ChainLambdas(ExpVisitor).visitLetExp(LetExp, Object) line: 101	
LetExp.visit(ExpVisitor, Object) line: 206	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 53	
ChainLambdas(ExpVisitor).visitAndUpdate(Expression, Object) line: 143	
ChainLambdas(ExpVisitor).visitSetExp(SetExp, Object) line: 109	
SetExp.visit(ExpVisitor, Object) line: 433	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 53	
ModuleExp(LambdaExp).visitChildrenOnly(ExpVisitor, Object) line: 1694	
ChainLambdas.visitLambdaExp(LambdaExp, ScopeExp) line: 39	
ChainLambdas.visitLambdaExp(LambdaExp, Object) line: 9	
ChainLambdas(ExpVisitor).visitModuleExp(ModuleExp, Object) line: 105	
ModuleExp.visit(ExpVisitor, Object) line: 462	
ChainLambdas(ExpVisitor).visit(Expression, Object) line: 53	
ChainLambdas.chainLambdas(Expression, Compilation) line: 15	
SchemeCompilation(Compilation).walkModule(ModuleExp) line: 927	
SchemeCompilation(Compilation).process(int) line: 1900	
ModuleInfo.loadByStages(int) line: 305	
ModuleExp.evalModule1(Environment, Compilation, URL, OutPort) line: 223	
ModuleExp.evalModule(Environment, CallContext, Compilation, URL, OutPort)
line: 195	
Shell.run(Language, Environment, InPort, Consumer, OutPort, URL,
SourceMessages) line: 279	
Shell.run(Language, Environment, InPort, OutPort, OutPort, SourceMessages)
line: 194	
Shell.run(Language, Environment) line: 175	
TelnetRepl.apply0() line: 23	
RunnableClosure.run() line: 78	
Future.run() line: 44	

I traced it further, putting a breakpoint on your latest change on
InlineCalls, and I suspect it has something to do with
InlineCalls.visit(Expression, Type) has set the required type as a
ClassType.

InlineCalls.visit(Expression, Type) line: 54	
CompileInvoke.validateApplyInvoke(ApplyExp, InlineCalls, Type, Procedure)
line: 297	      
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean)
line: not available [native method]	
Method.invoke(Object, Object...) line: 511	
InlineCalls.maybeInline(ApplyExp, Type, Procedure) line: 730	

but things started getting a little too hairy. Any suggestions where to
look?


-- 
View this message in context: http://old.nabble.com/Android-REPL---add*-syntax-sugar-not-available-in-constructor-tp33222365p33243252.html
Sent from the Sourceware - kawa list mailing list archive at Nabble.com.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]