/*
 * SDK Pullenti Lingvo, version 4.33, fabruary 2026. Copyright (c) 2013-2026, Pullenti. All rights reserved. 
 * Non-Commercial Freeware and Commercial Software.
 * This class is generated using the converter Unisharping (www.unisharping.ru) from Pullenti C#.NET project. 
 * The latest version of the code is available on the site www.pullenti.ru
 */


const MetaToken = require("./../MetaToken");

/**
 * Метатокен - результат привязки термина Termin словаря TerminCollection. Формируется методом TryParse или TryParseAll у TerminCollection.
 * Токен привязки к словарю
 */
class TerminToken extends MetaToken {
    
    constructor(begin, end) {
        super(begin, end, null);
        this.termin = null;
        this.abridgeWithoutPoint = false;
    }
    
    static _new568(_arg1, _arg2, _arg3) {
        let res = new TerminToken(_arg1, _arg2);
        res.termin = _arg3;
        return res;
    }
    
    static _new743(_arg1, _arg2, _arg3) {
        let res = new TerminToken(_arg1, _arg2);
        res.abridgeWithoutPoint = _arg3;
        return res;
    }
    
    static _new751(_arg1, _arg2, _arg3) {
        let res = new TerminToken(_arg1, _arg2);
        res.morph = _arg3;
        return res;
    }
    
    static _new757(_arg1, _arg2, _arg3, _arg4) {
        let res = new TerminToken(_arg1, _arg2);
        res.morph = _arg3;
        res.termin = _arg4;
        return res;
    }
}


module.exports = TerminToken