
com.google.javascript.jscomp.CheckEventfulObjectDisposal.class Maven / Gradle / Ivy
The newest version!
???? 3V
7 8 9
:
; <
= >
? @ A
?B C
DE F
G
hH
hIJK
hL
hMNOP QRS
B TUV
|W
XYZ[\]^_`
ab
ac
de
af
g
hi
hj
k
l
mnopqrqs
t
u
av
aw
ax
dy
z{|}
~
?B
???
??
??
???
a?
?
a?
?
a?
a?
h?
h??
h?
h? w? ??
???? ??
XB w? ???
\?
d?
??
`? ?? c? c? ?? ??
??
D? ?? ??? w??
oB
?? ? wp? t? t??
o?
o?
o? ??
|??????
h?
a???
?????? ??? ???? InnerClasses Traversal ComputeEventizeTraversal EventfulObjectState? SeenType EVENTFUL_OBJECT_NOT_DISPOSED -Lcom/google/javascript/jscomp/DiagnosticType; EVENTFUL_OBJECT_PURELY_LOCAL !OVERWRITE_PRIVATE_EVENTFUL_OBJECT UNLISTEN_WITH_ANONBOUND DISPOSABLE_INTERFACE_TYPE_NAME Ljava/lang/String;
ConstantValue EVENT_HANDLER_TYPE_NAME googDisposableInterfaceType +Lcom/google/javascript/rhino/jstype/JSType; googEventsEventHandlerType
eventfulTypes Ljava/util/Set; Signature ; disposeCalls Ljava/util/Map; ?Ljava/util/Map;>;>; DISPOSE_ALL I???? DISPOSE_SELF???? compiler /Lcom/google/javascript/jscomp/AbstractCompiler; typeRegistry +Lcom/google/javascript/rhino/TypeIRegistry; checkingPolicy? DisposalCheckingPolicy ELcom/google/javascript/jscomp/CompilerOptions$DisposalCheckingPolicy; eventizes 'Lcom/google/common/collect/SetMultimap; MLcom/google/common/collect/SetMultimap; eventfulObjectMap qLjava/util/Map; w(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/jscomp/CompilerOptions$DisposalCheckingPolicy;)V Code LineNumberTable LocalVariableTable this :Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal; addDisposeCall %(Ljava/lang/String;Ljava/util/List;)V potentiallyTypeName propertyName functionOrMethodName argumentsThatAreDisposed Ljava/util/List;
objectType
lastPeriod map LocalVariableTypeTable %Ljava/util/List; HLjava/util/Map;>;
StackMapTableV??PR :(Ljava/lang/String;Ljava/util/List;)V initializeDisposeMethodsMap ()V getBase F(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; n "Lcom/google/javascript/rhino/Node; base? getTypeOfThisForScope Y(Lcom/google/javascript/jscomp/NodeTraversal;)Lcom/google/javascript/rhino/jstype/JSType; t ,Lcom/google/javascript/jscomp/NodeTraversal;
typeOfThis /Lcom/google/javascript/rhino/jstype/ObjectType; isPossiblySubtype Y(Lcom/google/javascript/rhino/jstype/JSType;Lcom/google/javascript/rhino/jstype/JSType;)Z alternate thisType thatType type? dereference X(Lcom/google/javascript/rhino/jstype/JSType;)Lcom/google/javascript/rhino/jstype/JSType;? generateKey c(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Z)Ljava/lang/String; parentScopeType key hObjT noLocalVariables Z scopeNode? process G(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V e NLcom/google/javascript/jscomp/CheckEventfulObjectDisposal$EventfulObjectState; externs root? computeEventful s eventizesEntry Entry Ljava/util/Map$Entry; v top order [Ljava/lang/String; white gray black last color dfsStack Ljava/util/Stack; indx LLjava/util/Map$Entry;>; 6Ljava/util/Map; %Ljava/util/Stack;?? maybeReturnDisposedType P(Lcom/google/javascript/rhino/Node;Z)Lcom/google/javascript/rhino/jstype/JSType; baseType checkDispose first property
access$102 ?(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;Lcom/google/common/collect/SetMultimap;)Lcom/google/common/collect/SetMultimap; x0 x1
access$200 g(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)Lcom/google/javascript/rhino/jstype/JSType;
access$300
access$100 c(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)Lcom/google/common/collect/SetMultimap;
access$400 k(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)Lcom/google/javascript/jscomp/AbstractCompiler;
access$500
access$600 K(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)Ljava/util/Set;
access$700 ?(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;Lcom/google/javascript/rhino/Node;Z)Lcom/google/javascript/rhino/jstype/JSType; x2
access$800
access$900 ()Ljava/util/Map; access$1100 K(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)Ljava/util/Map; access$1200 _(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;Ljava/lang/String;Ljava/util/List;)V
SourceFile CheckEventfulObjectDisposal.java ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???? ? ? ? ????? .prototype$ ??????? )com/google/javascript/rhino/jstype/JSType??
java/util/Map java/util/HashMap?? goog.array.extend 8com/google/javascript/jscomp/CheckEventfulObjectDisposal????? goog.dispose "goog.Disposable.registerDisposable goog.disposeAll "goog.events.EventHandler.removeAll .dispose .push .add?????????? ? ????????????? ?? ? ?
?
?? java/lang/StringBuilder ~ =? ? ???? ! prototype"#$%&'( ?)*+ goog.disposable.IDisposable goog.events.EventHandler ? ? java/util/HashSet,'- ? Qcom/google/javascript/jscomp/CheckEventfulObjectDisposal$ComputeEventizeTraversal ?./2 ? ? Bcom/google/javascript/jscomp/CheckEventfulObjectDisposal$Traversal ?34? Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal$EventfulObjectState5 ?6787 ? ? java/lang/String9:;<=>7 ? ??@%AB java/util/StackCDEF% java/util/Map$EntryGH
java/util/SetI?J?KL' java/lang/IntegerMB?N .registerDisposableO'P? JSC_EVENTFUL_OBJECT_NOT_DISPOSED ]eventful object created should be
* registered as disposable, or
* explicitly disposed ofQRS JSC_EVENTFUL_OBJECT_PURELY_LOCAL :a purely local eventful object cannot be disposed of later %JSC_OVERWRITE_PRIVATE_EVENTFUL_OBJECT Nprivate eventful object overwritten in subclass cannot be properly disposed of ? ? JSC_UNLISTEN_WITH_ANONBOUND can unlisten call with an anonymous or bound function does not result in the event being unlisted to ? ? java/lang/Object )com/google/javascript/jscomp/CompilerPass :com/google/javascript/jscomp/CheckEventfulObjectDisposal$1 Acom/google/javascript/jscomp/CheckEventfulObjectDisposal$SeenTypeT Ccom/google/javascript/jscomp/CompilerOptions$DisposalCheckingPolicy java/util/List com/google/javascript/rhino/Node java/util/Iterator -com/google/javascript/rhino/jstype/ObjectType *com/google/javascript/jscomp/NodeTraversal -com/google/javascript/jscomp/AbstractCompiler getTypeIRegistry -()Lcom/google/javascript/rhino/TypeIRegistry; lastIndexOf (I)I substring (II)Ljava/lang/String; replaceFirst 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; (I)Ljava/lang/String; )com/google/javascript/rhino/TypeIRegistry getType 7(Ljava/lang/String;)Lcom/google/javascript/rhino/TypeI; get &(Ljava/lang/Object;)Ljava/lang/Object; put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; valueOf (I)Ljava/lang/Integer; 'com/google/common/collect/ImmutableList of =(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList; isGetProp ()Z
getFirstChild $()Lcom/google/javascript/rhino/Node; getScopeRoot getJSType -()Lcom/google/javascript/rhino/jstype/JSType; cast \(Lcom/google/javascript/rhino/jstype/JSType;)Lcom/google/javascript/rhino/jstype/ObjectType;
getTypeOfThis isUnionType toMaybeUnionType 0()Lcom/google/javascript/rhino/jstype/UnionType; ,com/google/javascript/rhino/jstype/UnionType
getAlternates ()Ljava/util/Collection; java/util/Collection iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; isSubtype .(Lcom/google/javascript/rhino/jstype/JSType;)Z 1()Lcom/google/javascript/rhino/jstype/ObjectType; isName getQualifiedName ()Ljava/lang/String;
isFunction
getTypedScope +()Lcom/google/javascript/jscomp/TypedScope; 'com/google/javascript/jscomp/TypedScope getParentScope 7()Lcom/google/javascript/rhino/jstype/StaticTypedScope; 3com/google/javascript/rhino/jstype/StaticTypedScope isGlobalThisType append -(Ljava/lang/Object;)Ljava/lang/StringBuilder; -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString %com/google/javascript/jscomp/NodeUtil getName 6(Lcom/google/javascript/rhino/Node;)Ljava/lang/String; isQualifiedName isThis
isUnknownType getLastChild getString getImplicitPrototype getDisplayName endsWith (Ljava/lang/String;)Z getPropertyNames ()Ljava/util/Set; contains (Ljava/lang/Object;)Z OFF $com/google/common/base/Preconditions
checkArgument (Z)V add
AGGRESSIVE =(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;)V
traverseTypedU Callback ?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/NodeTraversal$Callback;)V y(Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal;Lcom/google/javascript/jscomp/CheckEventfulObjectDisposal$1;)V values allocationSite seen CLcom/google/javascript/jscomp/CheckEventfulObjectDisposal$SeenType; ALLOCATED $com/google/javascript/jscomp/JSError make ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DiagnosticType;[Ljava/lang/String;)Lcom/google/javascript/jscomp/JSError; report )(Lcom/google/javascript/jscomp/JSError;)V ALLOCATED_LOCALLY %com/google/common/collect/SetMultimap keySet size ()I #com/google/common/collect/Multimaps asMap 8(Lcom/google/common/collect/SetMultimap;)Ljava/util/Map; entrySet getKey getValue push isEmpty pop containsKey intValue #(Ljava/lang/Object;)Ljava/util/Set; equals getFirstFirstChild +com/google/javascript/jscomp/DiagnosticType error S(Ljava/lang/String;Ljava/lang/String;)Lcom/google/javascript/jscomp/DiagnosticType; ,com/google/javascript/jscomp/CompilerOptions 3com/google/javascript/jscomp/NodeTraversal$Callback 1 ? ? ? ? ? ? ? ? ? ? ? ? ? U ? ? ? V ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? m *? *+? *,?
*+? ? *? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?:+.? 6? ,+? ? N+? :*? -? ? :? +:*? ? ? :? ? Y? :*? ? W? +,? W? ,? W? ? B ? ? ? ? ? ? ' ? 9 ? <