// Generated from grammars/java/Java.g4 by ANTLR 4.5
// jshint ignore: start
var BaseTranspiler = require('./BaseTranspiler.js');
var ClassDeclarationTranspiler = require('./ClassDeclarationTranspiler.js');
var FieldDeclarationTranspiler = require('./FieldDeclarationTranspiler.js');
var MethodDeclarationTranspiler = require('./MethodDeclarationTranspiler.js');
var ConstructorDeclarationTranspiler = require('./ConstructorDeclarationTranspiler.js');
var util = require('util');

function ClassBodyTranspiler(parent) {
	BaseTranspiler.call(this, parent);
	return this;
}

util.inherits(ClassBodyTranspiler, BaseTranspiler);

ClassBodyTranspiler.prototype.visitClassDeclaration = function(ctx) {
	return this.visitWith(ClassDeclarationTranspiler, ctx);
}

ClassBodyTranspiler.prototype.visitMethodDeclaration = function(ctx) {
	return this.visitWith(MethodDeclarationTranspiler, ctx);
}

ClassBodyTranspiler.prototype.visitConstructorDeclaration = function(ctx) {
	return this.visitWith(ConstructorDeclarationTranspiler, ctx);
}

ClassBodyTranspiler.prototype.visitFieldDeclaration = function(ctx) {
	return this.visitWith(FieldDeclarationTranspiler, ctx);
}

module.exports = ClassBodyTranspiler;

@@ -1153,16 +1153,281 @@
 tx);%0A%7D%0A%0A
+ClassBodyTranspiler.prototype.createNode = function(type, node) %7B%0A%09return %7B%0A%09%09%22type%22: %22MemberExpression%22,%0A%09%09%22computed%22: false,%0A%09%09%22object%22: %7B%0A%09%09%09%22type%22: %22ThisExpression%22%0A%09%09%7D,%0A%09%09%22property%22: %7B%0A%09%09%09%22type%22: %22Identifier%22,%0A%09%09%09%22name%22: node.Identifier().getText()%0A%09%09%7D%0A%09%7D;%0A%7D%0A%0A
 module.e

add createNode method to prepend classvariables with "this"