Skip to content

Instantly share code, notes, and snippets.

@eernstg
Last active November 7, 2025 16:55
Show Gist options
  • Select an option

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

Select an option

Save eernstg/e89821d300bcecf72150c332776a0212 to your computer and use it in GitHub Desktop.
// From pkg/analyzer/lib/src/lint/pub.dart
// Original code.
String toString() {
var sb = StringBuffer();
sb.maybeWrite(name);
sb.maybeWrite(version);
sb.maybeWrite(author);
sb.maybeWrite(authors);
sb.maybeWrite(description);
sb.maybeWrite(homepage);
sb.maybeWrite(repository);
sb.maybeWrite(issueTracker);
sb.maybeWrite(dependencies);
sb.maybeWrite(devDependencies);
sb.maybeWrite(dependencyOverrides);
return sb.toString();
}
// Using anonymous methods.
String toString() => StringBuffer().{
maybeWrite(name);
maybeWrite(version);
maybeWrite(author);
maybeWrite(authors);
maybeWrite(description);
maybeWrite(homepage);
maybeWrite(repository);
maybeWrite(issueTracker);
maybeWrite(dependencies);
maybeWrite(devDependencies);
maybeWrite(dependencyOverrides);
return toString();
};
// 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.=>
declaredClasses[instanceName] ??
declaredEnums[instanceName] ??
declaredExtensions[instanceName] ??
declaredExtensionTypes[instanceName] ??
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(declaredConflicts);
addMapOfItems(declaredFields);
addMapOfItems(declaredGetters);
addMapOfItems(declaredSetters);
addMapOfItems(declaredMethods);
addMapOfItems(declaredConstructors);
addMapOfIds(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 (isFinal ||
isMixinClass ||
isSealed ||
library != superElement.library ||
isBase && (superElement.=> !isFinal && !isInterface) ||
!isBase &&
!isFinal &&
!isInterface &&
!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 =>
this.(outerThis) => parent.=> switch (this) {
ArgumentListImpl() => _getStaticParameterElementFor(outerThis),
IndexExpressionImpl() when identical(index, outerThis) =>
_staticParameterElementForIndex,
BinaryExpressionImpl() when identical(rightOperand, outerThis) =>
staticInvokeType?.formalParameters?.=> isNotEmpty ? this[0] : null
AssignmentExpressionImpl()
when identical(rightHandSide, outerThis) =>
_staticParameterElementForRightHandSide,
PrefixExpressionImpl() || PostfixExpressionImpl() =>
_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(this, Name(library.uri, name.name)) ??
getMethod(name.name) ??
getGetter(name.name) ??
getSetter(name.name) ??
getNamedConstructor(name.name);
} else if (prefixElement is ExtensionElement) {
name.element = prefixElement.=>
getMethod(name.name) ??
getGetter(name.name) ??
getSetter(name.name);
}
// Using anonymous methods and taking one more step.
name.name.(name) => prefixElement.=> switch (this) {
InterfaceElement() =>
_resolver.inheritance.getMember(this, Name(library.uri, name)) ??
getMethod(name) ??
getGetter(name) ??
getSetter(name) ??
getNamedConstructor(name),
ExtensionElement() =>
getMethod(name) ??
getGetter(name) ??
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 (this) {
ConstructorElement() => _visitConstructorElement(this),
FieldElement() => _visitFieldElement(this),
LocalFunctionElement() => _visitLocalFunctionElement(this),
InterfaceElement() => _visitClassElement(this),
LocalVariableElement() => _visitLocalVariableElement(this),
MethodElement() => _visitMethodElement(this),
PropertyAccessorElement() => _visitPropertyAccessorElement(this),
TopLevelVariableElement() => _visitTopLevelVariableElement(this),
TypeAliasElement() => _visitTypeAliasElement(this),
_ => 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)..{
readModifiers(_reader);
typeParameters = _readTypeParameters();
_lazyRead((membersOffset) {
deferReadMembers(() {
_reader.runAtOffset(membersOffset, () {
fields = _readFieldFragments();
getters = _readGetterFragments();
setters = _readSetterFragments();
methods = _readMethodFragments();
if (!isMixinApplication) {
constructors = _readConstructorFragments();
}
});
});
});
},
readResolution: (fragment, reader) => fragment.{
_readTypeParameters2(libraryFragment, reader, typeParameters);
metadata = reader._readMetadata();
},
)
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment