<commit_before>Canvas2D.Shape = Class.create( {
    initialize: function( props ) {
	this.props = props;
    },

    getName: function() {
	return this.props.name;
    },

    getProperties: function() {
	return { type: "Shape",
		 left: this.props.left,
		 top: this.props.top,
		 width: this.props.width,
		 height: this.props.height };
    },

    setCanvas: function( canvas2d ) {
	this.canvas = canvas2d;
    },

    setPosition: function( left, top ) {
	this.props.left = left;
	this.props.top  = top;
	this.forceRedraw();
    },

    forceRedraw: function() {
	if(!this.canvas) { return; };
	this.canvas.render();
    },

    getPosition: function() {<commit_msg>added return value to setPosition to allow chaining<commit_after>Canvas2D.Shape = Class.create( {
    initialize: function( props ) {
	this.props = props;
    },

    getName: function() {
	return this.props.name;
    },

    getProperties: function() {
	return { type: "Shape",
		 left: this.props.left,
		 top: this.props.top,
		 width: this.props.width,
		 height: this.props.height };
    },

    setCanvas: function( canvas2d ) {
	this.canvas = canvas2d;
    },

    setPosition: function( left, top ) {
	this.props.left = left;
	this.props.top  = top;
	this.forceRedraw();
	return this;
    },

    forceRedraw: function() {
	if(!this.canvas) { return; };
	this.canvas.render();
    },

    getPosition: function() {
{'fraction_non_alphanumeric': 0.15158045977011494, 'fraction_numerical': 0.004310344827586207, 'mean_word_length': 2.923943661971831, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2584657', 'n_tokens_mistral': 491, 'n_tokens_neox': 460, 'n_words': 99}