CINXE.COM
ClassMirror class - dart:mirrors library - Dart API
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no"> <meta name="description" content="API docs for the ClassMirror class from the dart:mirrors library, for the Dart programming language."> <title>ClassMirror class - dart:mirrors library - Dart API</title> <link rel="canonical" href="https://api.dart.dev/dart-mirrors/ClassMirror-class.html"> <link rel="preconnect" href="https://fonts.gstatic.com"> <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" rel="stylesheet"> <link rel="stylesheet" href="../static-assets/github.css?v1"> <link rel="stylesheet" href="../static-assets/styles.css?v1"> <link rel="icon" href="../static-assets/favicon.png?v1"> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-VVQ8908SJ5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-VVQ8908SJ5'); </script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@400&family=Google+Sans:wght@500&display=swap" as="style"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Google+Sans+Text:wght@400&family=Google+Sans:wght@500&display=swap"> <link rel="stylesheet" href="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.css"> </head> <body data-base-href="../" data-using-base-href="false" class="light-theme"> <div id="overlay-under-drawer"></div> <header id="title"> <span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span> <ol class="breadcrumbs gt-separated dark hidden-xs"> <li><a href="../index.html">Dart</a></li> <li><a href="../dart-mirrors/dart-mirrors-library.html">dart:mirrors</a></li> <li class="self-crumb">ClassMirror class</li> </ol> <div class="self-name">ClassMirror</div> <form class="search navbar-right" role="search"> <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search..."> </form> <div class="toggle" id="theme-button" title="Toggle brightness"> <label for="theme"> <input type="checkbox" id="theme" value="light-theme"> <span id="dark-theme-button" class="material-symbols-outlined"> dark_mode </span> <span id="light-theme-button" class="material-symbols-outlined"> light_mode </span> </label> </div> </header> <main> <div id="dartdoc-main-content" class="main-content" data-above-sidebar="dart-mirrors/dart-mirrors-library-sidebar.html" data-below-sidebar="dart-mirrors/ClassMirror-class-sidebar.html"> <div> <div id="external-links" class="btn-group"><a title="View source code" class="source-link" href="https://github.com/dart-lang/sdk/blob/88c9758ef131d430d8ce595c6bfb4c90574d3ddd/sdk/lib/mirrors/mirrors.dart#L779"><span class="material-symbols-outlined">description</span></a></div> <h1><span class="kind-class">ClassMirror</span> class <a href="https://dart.dev/language/class-modifiers#abstract" class="feature feature-abstract" title="This type can not be directly constructed.">abstract</a> </h1></div> <section class="desc markdown"> <p>A <a href="../dart-mirrors/ClassMirror-class.html">ClassMirror</a> reflects a Dart language class.</p> </section> <section> <dl class="dl-horizontal"> <dt>Implemented types</dt> <dd> <ul class="comma-separated clazz-relationships"> <li><a href="../dart-mirrors/TypeMirror-class.html">TypeMirror</a></li> <li><a href="../dart-mirrors/ObjectMirror-class.html">ObjectMirror</a></li> </ul> </dd> <dt>Implementers</dt> <dd><ul class="comma-separated clazz-relationships"> <li><a href="../dart-mirrors/FunctionTypeMirror-class.html">FunctionTypeMirror</a></li> </ul></dd> </dl> </section> <section class="summary offset-anchor" id="constructors"> <h2>Constructors</h2> <dl class="constructor-summary-list"> <dt id="ClassMirror" class="callable"> <span class="name"><a href="../dart-mirrors/ClassMirror/ClassMirror.html">ClassMirror</a></span><span class="signature">()</span> </dt> <dd> </dd> </dl> </section> <section class="summary offset-anchor" id="instance-properties"> <h2>Properties</h2> <dl class="properties"> <dt id="declarations" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/declarations.html">declarations</a></span> <span class="signature">→ <a href="../dart-core/Map-class.html">Map</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-core/Symbol-class.html">Symbol</a></span>, <span class="type-parameter"><a href="../dart-mirrors/DeclarationMirror-class.html">DeclarationMirror</a></span>></span></span> </dt> <dd> Returns an immutable map of the declarations actually given in the class declaration. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="hashCode" class="property inherited"> <span class="name"><a href="../dart-core/Object/hashCode.html">hashCode</a></span> <span class="signature">→ <a href="../dart-core/int-class.html">int</a></span> </dt> <dd class="inherited"> The hash code for this object. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="hasReflectedType" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/hasReflectedType.html">hasReflectedType</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd class="inherited"> Returns true if this mirror reflects dynamic, a non-generic class or typedef, or an instantiated generic class or typedef in the current isolate. Otherwise, returns false. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="instanceMembers" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/instanceMembers.html">instanceMembers</a></span> <span class="signature">→ <a href="../dart-core/Map-class.html">Map</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-core/Symbol-class.html">Symbol</a></span>, <span class="type-parameter"><a href="../dart-mirrors/MethodMirror-class.html">MethodMirror</a></span>></span></span> </dt> <dd> Returns a map of the methods, getters and setters of an instance of the class. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="isAbstract" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/isAbstract.html">isAbstract</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd> Is the reflectee abstract? <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="isEnum" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/isEnum.html">isEnum</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd> Is the reflectee an enum? <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="isOriginalDeclaration" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/isOriginalDeclaration.html">isOriginalDeclaration</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd class="inherited"> Is this the original declaration of this type? <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="isPrivate" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/isPrivate.html">isPrivate</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd class="inherited"> Whether this declaration is library private. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="isTopLevel" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/isTopLevel.html">isTopLevel</a></span> <span class="signature">→ <a href="../dart-core/bool-class.html">bool</a></span> </dt> <dd class="inherited"> Whether this declaration is top-level. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="location" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/location.html">location</a></span> <span class="signature">→ <a href="../dart-mirrors/SourceLocation-class.html">SourceLocation</a>?</span> </dt> <dd class="inherited"> The source location of this Dart language entity, or <code>null</code> if the entity is synthetic. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="metadata" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/metadata.html">metadata</a></span> <span class="signature">→ <a href="../dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-mirrors/InstanceMirror-class.html">InstanceMirror</a></span>></span></span> </dt> <dd class="inherited"> A list of the metadata associated with this declaration. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="mixin" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/mixin.html">mixin</a></span> <span class="signature">→ <a href="../dart-mirrors/ClassMirror-class.html">ClassMirror</a></span> </dt> <dd> The mixin of this class. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="originalDeclaration" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/originalDeclaration.html">originalDeclaration</a></span> <span class="signature">→ <a href="../dart-mirrors/TypeMirror-class.html">TypeMirror</a></span> </dt> <dd class="inherited"> A mirror on the original declaration of this type. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="owner" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/owner.html">owner</a></span> <span class="signature">→ <a href="../dart-mirrors/DeclarationMirror-class.html">DeclarationMirror</a>?</span> </dt> <dd class="inherited"> A mirror on the owner of this Dart language entity. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="qualifiedName" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/qualifiedName.html">qualifiedName</a></span> <span class="signature">→ <a href="../dart-core/Symbol-class.html">Symbol</a></span> </dt> <dd class="inherited"> The fully-qualified name for this Dart language entity. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="reflectedType" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/reflectedType.html">reflectedType</a></span> <span class="signature">→ <a href="../dart-core/Type-class.html">Type</a></span> </dt> <dd class="inherited"> If <code>hasReflectedType</code> returns true, returns the corresponding <a href="../dart-core/Type-class.html">Type</a>. Otherwise, an <a href="../dart-core/UnsupportedError-class.html">UnsupportedError</a> is thrown. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="runtimeType" class="property inherited"> <span class="name"><a href="../dart-core/Object/runtimeType.html">runtimeType</a></span> <span class="signature">→ <a href="../dart-core/Type-class.html">Type</a></span> </dt> <dd class="inherited"> A representation of the runtime type of the object. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="simpleName" class="property inherited"> <span class="name"><a href="../dart-mirrors/DeclarationMirror/simpleName.html">simpleName</a></span> <span class="signature">→ <a href="../dart-core/Symbol-class.html">Symbol</a></span> </dt> <dd class="inherited"> The simple name for this Dart language entity. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="staticMembers" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/staticMembers.html">staticMembers</a></span> <span class="signature">→ <a href="../dart-core/Map-class.html">Map</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-core/Symbol-class.html">Symbol</a></span>, <span class="type-parameter"><a href="../dart-mirrors/MethodMirror-class.html">MethodMirror</a></span>></span></span> </dt> <dd> Returns a map of the static methods, getters and setters of the class. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="superclass" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/superclass.html">superclass</a></span> <span class="signature">→ <a href="../dart-mirrors/ClassMirror-class.html">ClassMirror</a>?</span> </dt> <dd> A mirror on the superclass on the reflectee. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="superinterfaces" class="property"> <span class="name"><a href="../dart-mirrors/ClassMirror/superinterfaces.html">superinterfaces</a></span> <span class="signature">→ <a href="../dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-mirrors/ClassMirror-class.html">ClassMirror</a></span>></span></span> </dt> <dd> A list of mirrors on the superinterfaces of the reflectee. <div class="features"><span class="feature">no setter</span></div> </dd> <dt id="typeArguments" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/typeArguments.html">typeArguments</a></span> <span class="signature">→ <a href="../dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-mirrors/TypeMirror-class.html">TypeMirror</a></span>></span></span> </dt> <dd class="inherited"> An immutable list with mirrors for all type arguments for this type. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> <dt id="typeVariables" class="property inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/typeVariables.html">typeVariables</a></span> <span class="signature">→ <a href="../dart-core/List-class.html">List</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-mirrors/TypeVariableMirror-class.html">TypeVariableMirror</a></span>></span></span> </dt> <dd class="inherited"> An immutable list with mirrors for all type variables for this type. <div class="features"><span class="feature">no setter</span><span class="feature">inherited</span></div> </dd> </dl> </section> <section class="summary offset-anchor" id="instance-methods"> <h2>Methods</h2> <dl class="callables"> <dt id="delegate" class="callable inherited"> <span class="name"><a href="../dart-mirrors/ObjectMirror/delegate.html">delegate</a></span><span class="signature">(<wbr><span class="parameter" id="delegate-param-invocation"><span class="type-annotation"><a href="../dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>) <span class="returntype parameter">→ dynamic</span> </span> </dt> <dd class="inherited"> Performs <code>invocation</code> on the reflectee of this <a href="../dart-mirrors/ObjectMirror-class.html">ObjectMirror</a>. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="getField" class="callable inherited"> <span class="name"><a href="../dart-mirrors/ObjectMirror/getField.html">getField</a></span><span class="signature">(<wbr><span class="parameter" id="getField-param-fieldName"><span class="type-annotation"><a href="../dart-core/Symbol-class.html">Symbol</a></span> <span class="parameter-name">fieldName</span></span>) <span class="returntype parameter">→ <a href="../dart-mirrors/InstanceMirror-class.html">InstanceMirror</a></span> </span> </dt> <dd class="inherited"> Invokes a getter and returns a mirror on the result. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="invoke" class="callable inherited"> <span class="name"><a href="../dart-mirrors/ObjectMirror/invoke.html">invoke</a></span><span class="signature">(<wbr><span class="parameter" id="invoke-param-memberName"><span class="type-annotation"><a href="../dart-core/Symbol-class.html">Symbol</a></span> <span class="parameter-name">memberName</span>, </span><span class="parameter" id="invoke-param-positionalArguments"><span class="type-annotation"><a href="../dart-core/List-class.html">List</a></span> <span class="parameter-name">positionalArguments</span>, [</span><span class="parameter" id="invoke-param-namedArguments"><span class="type-annotation"><a href="../dart-core/Map-class.html">Map</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-core/Symbol-class.html">Symbol</a></span>, <span class="type-parameter">dynamic</span>></span></span> <span class="parameter-name">namedArguments</span> = <span class="default-value">const <Symbol, dynamic>{}</span></span>]) <span class="returntype parameter">→ <a href="../dart-mirrors/InstanceMirror-class.html">InstanceMirror</a></span> </span> </dt> <dd class="inherited"> Invokes the named function and returns a mirror on the result. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="isAssignableTo" class="callable inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/isAssignableTo.html">isAssignableTo</a></span><span class="signature">(<wbr><span class="parameter" id="isAssignableTo-param-other"><span class="type-annotation"><a href="../dart-mirrors/TypeMirror-class.html">TypeMirror</a></span> <span class="parameter-name">other</span></span>) <span class="returntype parameter">→ <a href="../dart-core/bool-class.html">bool</a></span> </span> </dt> <dd class="inherited"> Checks the assignability relationship, denoted by <code><=></code> in the language specification. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="isSubclassOf" class="callable"> <span class="name"><a href="../dart-mirrors/ClassMirror/isSubclassOf.html">isSubclassOf</a></span><span class="signature">(<wbr><span class="parameter" id="isSubclassOf-param-other"><span class="type-annotation"><a href="../dart-mirrors/ClassMirror-class.html">ClassMirror</a></span> <span class="parameter-name">other</span></span>) <span class="returntype parameter">→ <a href="../dart-core/bool-class.html">bool</a></span> </span> </dt> <dd> Returns whether the class denoted by the receiver is a subclass of the class denoted by the argument. </dd> <dt id="isSubtypeOf" class="callable inherited"> <span class="name"><a href="../dart-mirrors/TypeMirror/isSubtypeOf.html">isSubtypeOf</a></span><span class="signature">(<wbr><span class="parameter" id="isSubtypeOf-param-other"><span class="type-annotation"><a href="../dart-mirrors/TypeMirror-class.html">TypeMirror</a></span> <span class="parameter-name">other</span></span>) <span class="returntype parameter">→ <a href="../dart-core/bool-class.html">bool</a></span> </span> </dt> <dd class="inherited"> Checks the subtype relationship, denoted by <code><:</code> in the language specification. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="newInstance" class="callable"> <span class="name"><a href="../dart-mirrors/ClassMirror/newInstance.html">newInstance</a></span><span class="signature">(<wbr><span class="parameter" id="newInstance-param-constructorName"><span class="type-annotation"><a href="../dart-core/Symbol-class.html">Symbol</a></span> <span class="parameter-name">constructorName</span>, </span><span class="parameter" id="newInstance-param-positionalArguments"><span class="type-annotation"><a href="../dart-core/List-class.html">List</a></span> <span class="parameter-name">positionalArguments</span>, [</span><span class="parameter" id="newInstance-param-namedArguments"><span class="type-annotation"><a href="../dart-core/Map-class.html">Map</a><span class="signature"><<wbr><span class="type-parameter"><a href="../dart-core/Symbol-class.html">Symbol</a></span>, <span class="type-parameter">dynamic</span>></span></span> <span class="parameter-name">namedArguments</span> = <span class="default-value">const <Symbol, dynamic>{}</span></span>]) <span class="returntype parameter">→ <a href="../dart-mirrors/InstanceMirror-class.html">InstanceMirror</a></span> </span> </dt> <dd> Invokes the named constructor and returns a mirror on the result. </dd> <dt id="noSuchMethod" class="callable inherited"> <span class="name"><a href="../dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="../dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>) <span class="returntype parameter">→ dynamic</span> </span> </dt> <dd class="inherited"> Invoked when a nonexistent method or property is accessed. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="setField" class="callable inherited"> <span class="name"><a href="../dart-mirrors/ObjectMirror/setField.html">setField</a></span><span class="signature">(<wbr><span class="parameter" id="setField-param-fieldName"><span class="type-annotation"><a href="../dart-core/Symbol-class.html">Symbol</a></span> <span class="parameter-name">fieldName</span>, </span><span class="parameter" id="setField-param-value"><span class="type-annotation">dynamic</span> <span class="parameter-name">value</span></span>) <span class="returntype parameter">→ <a href="../dart-mirrors/InstanceMirror-class.html">InstanceMirror</a></span> </span> </dt> <dd class="inherited"> Invokes a setter and returns a mirror on the result. <div class="features"><span class="feature">inherited</span></div> </dd> <dt id="toString" class="callable inherited"> <span class="name"><a href="../dart-core/Object/toString.html">toString</a></span><span class="signature">(<wbr>) <span class="returntype parameter">→ <a href="../dart-core/String-class.html">String</a></span> </span> </dt> <dd class="inherited"> A string representation of this object. <div class="features"><span class="feature">inherited</span></div> </dd> </dl> </section> <section class="summary offset-anchor" id="operators"> <h2>Operators</h2> <dl class="callables"> <dt id="operator ==" class="callable"> <span class="name"><a href="../dart-mirrors/ClassMirror/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="../dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>) <span class="returntype parameter">→ <a href="../dart-core/bool-class.html">bool</a></span> </span> </dt> <dd> Whether this mirror is equal to <code>other</code>. <div class="features"><span class="feature">override</span></div> </dd> </dl> </section> </div> <!-- /.main-content --> <div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left"> <!-- The search input and breadcrumbs below are only responsively visible at low resolutions. --> <header id="header-search-sidebar" class="hidden-l"> <form class="search-sidebar" role="search"> <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search..."> </form> </header> <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav"> <li><a href="../index.html">Dart</a></li> <li><a href="../dart-mirrors/dart-mirrors-library.html">dart:mirrors</a></li> <li class="self-crumb">ClassMirror class</li> </ol> <h5>dart:mirrors library</h5> <div id="dartdoc-sidebar-left-content"></div> </div> <div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right"> </div><!--/.sidebar-offcanvas--> </main> <footer> <span class="no-break"> Dart 3.5.4 </span> <span class="glue-footer"> <span class="no-break"> | <a href="https://dart.dev/terms" title="Terms of use">Terms</a> </span> <span class="no-break"> | <a href="https://policies.google.com/privacy" target="_blank" rel="noopener" title="Privacy policy" class="no-automatic-external">Privacy</a> </span> <span class="no-break"> | <a href="https://dart.dev/security" title="Security philosophy and practices">Security</a> </span> <div class="copyright" style="font-size: 0.9em; color: darkgrey; margin-top: 0.5em;"> Except as otherwise noted, this site is licensed under a <a style="color: darkgrey;" href="https://creativecommons.org/licenses/by/4.0/"> Creative Commons Attribution 4.0 International License</a> and code samples are licensed under the <a style="color: darkgrey;" href="https://opensource.org/licenses/BSD-3-Clause" class="no-automatic-external"> 3-Clause BSD License</a> </div> </span> </footer> <script src="../static-assets/highlight.pack.js?v1"></script> <script src="../static-assets/docs.dart.js"></script> <button aria-hidden="true" class="glue-footer__link glue-cookie-notification-bar-control"> Cookies management controls </button> <script src="https://www.gstatic.com/glue/cookienotificationbar/cookienotificationbar.min.js" data-glue-cookie-notification-bar-category="2B"> </script> </body> </html>