Skip to content

Instantly share code, notes, and snippets.

@eernstg
Last active November 12, 2025 15:21
Show Gist options
  • Select an option

  • Save eernstg/77c9d357d53d9c9c53ce85f056dece6b to your computer and use it in GitHub Desktop.

Select an option

Save eernstg/77c9d357d53d9c9c53ce85f056dece6b to your computer and use it in GitHub Desktop.
// From pkg/analyzer/lib/src/fine/requirements.dart
// Original code.
var instanceItem =
libraryManifest.declaredClasses[instanceName] ??
libraryManifest.declaredEnums[instanceName] ??
libraryManifest.declaredExtensions[instanceName] ??
libraryManifest.declaredExtensionTypes[instanceName] ??
libraryManifest.declaredMixins[instanceName];
// Using an anonymous method.
var instanceItem = libraryManifest.=>
it.declaredClasses[instanceName] ??
it.declaredEnums[instanceName] ??
it.declaredExtensions[instanceName] ??
it.declaredExtensionTypes[instanceName] ??
it.declaredMixins[instanceName];
// From pkg/analyzer/lib/src/fine/library_manifest.dart
// Original code.
void addInstanceChildren(InstanceItem instanceItem) {
addMapOfIds(instanceItem.declaredConflicts);
addMapOfItems(instanceItem.declaredFields);
addMapOfItems(instanceItem.declaredGetters);
addMapOfItems(instanceItem.declaredSetters);
addMapOfItems(instanceItem.declaredMethods);
addMapOfItems(instanceItem.declaredConstructors);
addMapOfIds(instanceItem.inheritedConstructors);
}
// Using an anonymous method.
void addInstanceChildren(InstanceItem instanceItem) => instanceItem.{
addMapOfIds(it.declaredConflicts);
addMapOfItems(it.declaredFields);
addMapOfItems(it.declaredGetters);
addMapOfItems(it.declaredSetters);
addMapOfItems(it.declaredMethods);
addMapOfItems(it.declaredConstructors);
addMapOfIds(it.inheritedConstructors);
};
// From pkg/analyzer/lib/src/error/annotation_verifier.dart
// Original code.
if (classElement.isFinal ||
classElement.isMixinClass ||
classElement.isSealed) {
_diagnosticReporter.atNode(
node.name,
WarningCode.invalidReopenAnnotation,
);
return;
}
if (classElement.library != superElement.library) {
_diagnosticReporter.atNode(
node.name,
WarningCode.invalidReopenAnnotation,
);
return;
}
if (classElement.isBase) {
if (!superElement.isFinal && !superElement.isInterface) {
_diagnosticReporter.atNode(
node.name,
WarningCode.invalidReopenAnnotation,
);
return;
}
} else if (!classElement.isBase &&
!classElement.isFinal &&
!classElement.isInterface &&
!classElement.isSealed) {
if (!superElement.isInterface) {
_diagnosticReporter.atNode(
node.name,
WarningCode.invalidReopenAnnotation,
);
return;
}
}
// Using anonymous methods.
classElement.{
if (it.isFinal ||
it.isMixinClass ||
it.isSealed ||
it.library != superElement.library ||
it.isBase && (superElement.=> !it.isFinal && !it.isInterface) ||
!it.isBase &&
!it.isFinal &&
!it.isInterface &&
!it.isSealed &&
!superElement.isInterface) {
_diagnosticReporter.atNode(
node.name,
WarningCode.invalidReopenAnnotation,
);
}
};
// From pkg/analyzer/lib/src/dart/ast/ast.dart
// Original code.
InternalFormalParameterElement? get correspondingParameter {
var parent = this.parent;
if (parent is ArgumentListImpl) {
return parent._getStaticParameterElementFor(this);
} else if (parent is IndexExpressionImpl) {
if (identical(parent.index, this)) {
return parent._staticParameterElementForIndex;
}
} else if (parent is BinaryExpressionImpl) {
if (identical(parent.rightOperand, this)) {
var parameters = parent.staticInvokeType?.formalParameters;
if (parameters != null && parameters.isNotEmpty) {
return parameters[0];
}
return null;
}
} else if (parent is AssignmentExpressionImpl) {
if (identical(parent.rightHandSide, this)) {
return parent._staticParameterElementForRightHandSide;
}
} else if (parent is PrefixExpressionImpl) {
return parent._staticParameterElementForOperand;
} else if (parent is PostfixExpressionImpl) {
return parent._staticParameterElementForOperand;
}
return null;
}
// Using anonymous methods.
InternalFormalParameterElement? get correspondingParameter =>
parent.=> switch (it) {
ArgumentListImpl() => it._getStaticParameterElementFor(this),
IndexExpressionImpl() when identical(it.index, this) =>
it._staticParameterElementForIndex,
BinaryExpressionImpl() when identical(it.rightOperand, this) =>
it.staticInvokeType?.formalParameters?.=> it.isNotEmpty ? it[0] : null
AssignmentExpressionImpl() when identical(it.rightHandSide, this) =>
it._staticParameterElementForRightHandSide,
PrefixExpressionImpl() || PostfixExpressionImpl() =>
it._staticParameterElementForOperand,
_ => null,
};
// From sdk/pkg/analyzer/lib/src/dart/resolver/comment_reference_resolver.dart
// Original code.
if (prefixElement is InterfaceElement) {
name.element =
_resolver.inheritance.getMember(
prefixElement,
Name(prefixElement.library.uri, name.name),
) ??
prefixElement.getMethod(name.name) ??
prefixElement.getGetter(name.name) ??
prefixElement.getSetter(name.name) ??
prefixElement.getNamedConstructor(name.name);
} else if (prefixElement is ExtensionElement) {
name.element =
prefixElement.getMethod(name.name) ??
prefixElement.getGetter(name.name) ??
prefixElement.getSetter(name.name);
}
// Using anonymous methods.
if (prefixElement is InterfaceElement) {
name.element = prefixElement.=>
_resolver.inheritance.getMember(it, Name(it.library.uri, name.name)) ??
it.getMethod(name.name) ??
it.getGetter(name.name) ??
it.getSetter(name.name) ??
it.getNamedConstructor(name.name);
} else if (prefixElement is ExtensionElement) {
name.element = prefixElement.=>
it.getMethod(name.name) ??
it.getGetter(name.name) ??
it.getSetter(name.name);
}
// Using anonymous methods and taking one more step.
name.name.(name) => prefixElement.=> switch (it) {
InterfaceElement() =>
_resolver.inheritance.getMember(it, Name(it.library.uri, name)) ??
it.getMethod(name) ??
it.getGetter(name) ??
it.getSetter(name) ??
it.getNamedConstructor(name),
ExtensionElement() =>
it.getMethod(name) ??
it.getGetter(name) ??
it.getSetter(name),
_ => null,
}?.=> name.element = this;
// From pkg/analyzer/lib/src/error/unused_local_elements_verifier.dart
// Original code.
void visitSimpleIdentifier(SimpleIdentifier node) {
if (node.inDeclarationContext()) {
var element = node.element;
if (element is ConstructorElement) {
_visitConstructorElement(element);
} else if (element is FieldElement) {
_visitFieldElement(element);
} else if (element is LocalFunctionElement) {
_visitLocalFunctionElement(element);
} else if (element is InterfaceElement) {
_visitClassElement(element);
} else if (element is LocalVariableElement) {
_visitLocalVariableElement(element);
} else if (element is MethodElement) {
_visitMethodElement(element);
} else if (element is PropertyAccessorElement) {
_visitPropertyAccessorElement(element);
} else if (element is TopLevelVariableElement) {
_visitTopLevelVariableElement(element);
} else if (element is TypeAliasElement) {
_visitTypeAliasElement(element);
}
}
}
// Using recent Dart
void visitSimpleIdentifier(SimpleIdentifier node) {
if (node.inDeclarationContext()) {
var element = node.element;
switch (element) {
ConstructorElement():
_visitConstructorElement(element);
FieldElement():
_visitFieldElement(element);
LocalFunctionElement():
_visitLocalFunctionElement(element);
InterfaceElement():
_visitClassElement(element);
LocalVariableElement():
_visitLocalVariableElement(element);
MethodElement():
_visitMethodElement(element);
PropertyAccessorElement():
_visitPropertyAccessorElement(element);
TopLevelVariableElement():
_visitTopLevelVariableElement(element);
TypeAliasElement():
_visitTypeAliasElement(element);
}
}
}
// Using anonymous methods.
void visitSimpleIdentifier(SimpleIdentifier node) {
if (node.inDeclarationContext()) {
node.element.=> switch (it) {
ConstructorElement() => _visitConstructorElement(it),
FieldElement() => _visitFieldElement(it),
LocalFunctionElement() => _visitLocalFunctionElement(it),
InterfaceElement() => _visitClassElement(it),
LocalVariableElement() => _visitLocalVariableElement(it),
MethodElement() => _visitMethodElement(it),
PropertyAccessorElement() => _visitPropertyAccessorElement(it),
TopLevelVariableElement() => _visitTopLevelVariableElement(it),
TypeAliasElement() => _visitTypeAliasElement(it),
_ => null,
};
}
}
// From pkg/analyzer/lib/src/summary2/bundle_reader.dart
// Original code.
List<ClassFragmentImpl> _readClassFragments() {
return _reader.readTypedList(() {
return _readTemplateFragment(
create: (name) {
var fragment = ClassFragmentImpl(name: name);
fragment.readModifiers(_reader);
fragment.typeParameters = _readTypeParameters();
_lazyRead((membersOffset) {
fragment.deferReadMembers(() {
_reader.runAtOffset(membersOffset, () {
fragment.fields = _readFieldFragments();
fragment.getters = _readGetterFragments();
fragment.setters = _readSetterFragments();
fragment.methods = _readMethodFragments();
if (!fragment.isMixinApplication) {
fragment.constructors = _readConstructorFragments();
}
});
});
});
return fragment;
},
readResolution: (fragment, reader) {
_readTypeParameters2(
fragment.libraryFragment,
reader,
fragment.typeParameters,
);
fragment.metadata = reader._readMetadata();
},
);
});
}
// Using anonymous methods.
List<ClassFragmentImpl> _readClassFragments() => _reader.readTypedList(
() => _readTemplateFragment(
create: (name) => ClassFragmentImpl(name: name)..{
it.readModifiers(_reader);
it.typeParameters = _readTypeParameters();
_lazyRead((membersOffset) {
it.deferReadMembers(() {
_reader.runAtOffset(membersOffset, () {
it.fields = _readFieldFragments();
it.getters = _readGetterFragments();
it.setters = _readSetterFragments();
it.methods = _readMethodFragments();
if (!it.isMixinApplication) {
it.constructors = _readConstructorFragments();
}
});
});
});
},
readResolution: (fragment, reader) => fragment.{
_readTypeParameters2(it.libraryFragment, reader, it.typeParameters);
it.metadata = reader._readMetadata();
},
)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment