blob: 6517e6af931f4cf30eea05f6198cf818e657214e [file] [log] [blame] [edit]
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
* Use of this file is governed by the BSD 3-clause license that
* can be found in the LICENSE.txt file in the project root.
*/
namespace Antlr4.Runtime
{
using System;
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
public sealed class RuleDependencyAttribute : Attribute
{
private readonly Type _recognizer;
private readonly int _rule;
private readonly int _version;
private readonly Dependents _dependents;
public RuleDependencyAttribute(Type recognizer, int rule, int version)
{
this._recognizer = recognizer;
this._rule = rule;
this._version = version;
this._dependents = Dependents.Parents | Dependents.Self;
}
public RuleDependencyAttribute(Type recognizer, int rule, int version, Dependents dependents)
{
this._recognizer = recognizer;
this._rule = rule;
this._version = version;
this._dependents = dependents | Dependents.Self;
}
public Type Recognizer
{
get
{
return _recognizer;
}
}
public int Rule
{
get
{
return _rule;
}
}
public int Version
{
get
{
return _version;
}
}
public Dependents Dependents
{
get
{
return _dependents;
}
}
}
}