#ifndef __X10_COMPILER_WS_ASYNCFRAME_H
#define __X10_COMPILER_WS_ASYNCFRAME_H

#include <x10rt.h>


#define X10_COMPILER_WS_FRAME_H_NODEPS
#include <x10/compiler/ws/Frame.h>
#undef X10_COMPILER_WS_FRAME_H_NODEPS
namespace x10 { namespace compiler { 
class Header;
} } 
namespace x10 { namespace lang { 
class Int;
} } 
namespace x10 { namespace compiler { namespace ws { 
class FinishFrame;
} } } 
namespace x10 { namespace compiler { 
class Ifdef;
} } 
namespace x10 { namespace compiler { 
class Inline;
} } 
namespace x10 { namespace compiler { namespace ws { 
class Worker;
} } } 
namespace x10 { namespace lang { 
class Deque;
} } 
namespace x10 { namespace util { namespace concurrent { 
class Lock;
} } } 
namespace x10 { namespace compiler { 
class NoInline;
} } 
namespace x10 { namespace lang { 
class Throwable;
} } 
namespace x10 { namespace compiler { namespace ws { 

class AsyncFrame : public x10::compiler::ws::Frame   {
    public:
    RTT_H_DECLS_CLASS
    
    void _constructor(x10aux::ref<x10::compiler::ws::Frame> up) {
        
        //#line 10 "/wrkdirs/usr/ports/lang/x10/work/x10.runtime/src-x10/x10/compiler/ws/AsyncFrame.x10": x10.ast.X10ConstructorCall_c
        (this)->::x10::compiler::ws::Frame::_constructor(up);
        
        //#line 9 "/wrkdirs/usr/ports/lang/x10/work/x10.runtime/src-x10/x10/compiler/ws/AsyncFrame.x10": x10.ast.AssignPropertyCall_c
        
    }
    void _constructor(x10_int id__94, x10aux::ref<x10::compiler::ws::AsyncFrame> o);
    
    virtual x10aux::ref<x10::compiler::ws::FinishFrame> ff();
    virtual void move(x10aux::ref<x10::compiler::ws::FinishFrame> ff) = 0;
    virtual void poll(x10aux::ref<x10::compiler::ws::Worker> worker);
    virtual void pollSlow(x10aux::ref<x10::compiler::ws::Worker> worker);
    virtual void caught(x10aux::ref<x10::lang::Throwable> t);
    virtual x10aux::ref<x10::compiler::ws::AsyncFrame> x10__compiler__ws__AsyncFrame____x10__compiler__ws__AsyncFrame__this(
      );
    
    // Serialization
    public: virtual void _serialize_body(x10aux::serialization_buffer& buf);
    
    public: void _deserialize_body(x10aux::deserialization_buffer& buf);
    
};

} } } 
#endif // X10_COMPILER_WS_ASYNCFRAME_H

namespace x10 { namespace compiler { namespace ws { 
class AsyncFrame;
} } } 

#ifndef X10_COMPILER_WS_ASYNCFRAME_H_NODEPS
#define X10_COMPILER_WS_ASYNCFRAME_H_NODEPS
#include <x10/compiler/ws/Frame.h>
#include <x10/compiler/Header.h>
#include <x10/lang/Int.h>
#include <x10/compiler/ws/FinishFrame.h>
#include <x10/compiler/Ifdef.h>
#include <x10/compiler/Inline.h>
#include <x10/compiler/ws/Worker.h>
#include <x10/lang/Deque.h>
#include <x10/util/concurrent/Lock.h>
#include <x10/compiler/NoInline.h>
#include <x10/lang/Throwable.h>
#ifndef X10_COMPILER_WS_ASYNCFRAME_H_GENERICS
#define X10_COMPILER_WS_ASYNCFRAME_H_GENERICS
#endif // X10_COMPILER_WS_ASYNCFRAME_H_GENERICS
#endif // __X10_COMPILER_WS_ASYNCFRAME_H_NODEPS
