
git-subtree-dir: packages/jael git-subtree-mainline:834de0300f
git-subtree-split:af168281d9
32 lines
664 B
Dart
32 lines
664 B
Dart
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 {
|
|
final String name;
|
|
final attributes = new SplayTreeSet<String>();
|
|
|
|
JaelCustomElement(this.name, FileSpan span) : super(span);
|
|
}
|
|
|
|
class JaelVariable extends JaelObject {
|
|
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 }
|