platform/packages/jael/jael_language_server/lib/src/object.dart

35 lines
684 B
Dart
Raw Normal View History

2019-07-29 23:02:49 +00:00
import 'dart:collection';
import 'package:source_span/source_span.dart';
abstract class JaelObject {
final FileSpan span;
final usages = <SymbolUsage>[];
String get name;
JaelObject(this.span);
}
class JaelCustomElement extends JaelObject {
2021-06-20 12:37:20 +00:00
@override
2019-07-29 23:02:49 +00:00
final String name;
2021-06-20 12:37:20 +00:00
final attributes = SplayTreeSet<String>();
2019-07-29 23:02:49 +00:00
JaelCustomElement(this.name, FileSpan span) : super(span);
}
class JaelVariable extends JaelObject {
2021-06-20 12:37:20 +00:00
@override
2019-07-29 23:02:49 +00:00
final String name;
JaelVariable(this.name, FileSpan span) : super(span);
}
class SymbolUsage {
final SymbolUsageType type;
final FileSpan span;
SymbolUsage(this.type, this.span);
}
enum SymbolUsageType { definition, read }