Skip to main content
summaryrefslogtreecommitdiffstats
blob: 963ad99d37f0cc0e78a09281cf9e632c0c4f0a0a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="sample" targetNamespace="http://www.example.org/sample930" xmlns:tns="http://www.example.org/sample930" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.example.org/sample930">
<xsd:element name="NewOperationResponse" type="xsd:string"/><xsd:element name="NewOperationRequest" type="xsd:string"/></xsd:schema>
</wsdl:types>
<wsdl:message name="NewOperationResponse">
<wsdl:part name="NewOperationResponse" element="tns:NewOperationResponse"/>
</wsdl:message>
<wsdl:message name="NewOperationRequest">
<wsdl:part name="NewOperationRequest" element="tns:NewOperationRequest"/>
</wsdl:message>
<wsdl:portType name="sample">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewOperationRequest"/>
<wsdl:output message="tns:NewOperationResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="sampleSOAP" type="tns:sample">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="NewOperation">
<soap:operation soapAction="http://www.example.org/sample/NewOperation"/>
<wsdl:input>
<soap:body use="literal" parts=" NewOperationRequest"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" parts=" NewOperationResponse"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="sample">
<wsdl:port name="sampleSOAP" binding="tns:sampleSOAP">
<soap:address location="http://www.example.org/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Back to the top

tar.gz'>eclipse.jdt.core.binaries-I20220307-0340.tar.gz  eclipse.jdt.core.binaries-I20220307-0340.tar.xz  eclipse.jdt.core.binaries-I20220307-0340.zip  Sravan Kumar Lakkimsetti2 years I20220307-0630eclipse.jdt.core.binaries-I20220307-0630.tar.gz  eclipse.jdt.core.binaries-I20220307-0630.tar.xz  eclipse.jdt.core.binaries-I20220307-0630.zip  Sravan Kumar Lakkimsetti2 years I20220307-1010eclipse.jdt.core.binaries-I20220307-1010.tar.gz  eclipse.jdt.core.binaries-I20220307-1010.tar.xz  eclipse.jdt.core.binaries-I20220307-1010.zip  Sravan Kumar Lakkimsetti2 years I20220307-1800eclipse.jdt.core.binaries-I20220307-1800.tar.gz  eclipse.jdt.core.binaries-I20220307-1800.tar.xz  eclipse.jdt.core.binaries-I20220307-1800.zip  Sravan Kumar Lakkimsetti2 years I20220308-1800eclipse.jdt.core.binaries-I20220308-1800.tar.gz  eclipse.jdt.core.binaries-I20220308-1800.tar.xz  eclipse.jdt.core.binaries-I20220308-1800.zip  Sravan Kumar Lakkimsetti2 years I20220309-1800eclipse.jdt.core.binaries-I20220309-1800.tar.gz  eclipse.jdt.core.binaries-I20220309-1800.tar.xz  eclipse.jdt.core.binaries-I20220309-1800.zip  Sravan Kumar Lakkimsetti2 years I20220310-1800eclipse.jdt.core.binaries-I20220310-1800.tar.gz  eclipse.jdt.core.binaries-I20220310-1800.tar.xz  eclipse.jdt.core.binaries-I20220310-1800.zip  Sravan Kumar Lakkimsetti2 years I20220311-1800eclipse.jdt.core.binaries-I20220311-1800.tar.gz  eclipse.jdt.core.binaries-I20220311-1800.tar.xz  eclipse.jdt.core.binaries-I20220311-1800.zip  Sravan Kumar Lakkimsetti2 years I20220312-0100eclipse.jdt.core.binaries-I20220312-0100.tar.gz  eclipse.jdt.core.binaries-I20220312-0100.tar.xz  eclipse.jdt.core.binaries-I20220312-0100.zip  Sravan Kumar Lakkimsetti2 years I20220312-1800eclipse.jdt.core.binaries-I20220312-1800.tar.gz  eclipse.jdt.core.binaries-I20220312-1800.tar.xz  eclipse.jdt.core.binaries-I20220312-1800.zip  Sravan Kumar Lakkimsetti2 years I20220313-1800eclipse.jdt.core.binaries-I20220313-1800.tar.gz  eclipse.jdt.core.binaries-I20220313-1800.tar.xz  eclipse.jdt.core.binaries-I20220313-1800.zip  Sravan Kumar Lakkimsetti2 years I20220314-1800eclipse.jdt.core.binaries-I20220314-1800.tar.gz  eclipse.jdt.core.binaries-I20220314-1800.tar.xz  eclipse.jdt.core.binaries-I20220314-1800.zip  Sravan Kumar Lakkimsetti2 years I20220315-1800eclipse.jdt.core.binaries-I20220315-1800.tar.gz  eclipse.jdt.core.binaries-I20220315-1800.tar.xz  eclipse.jdt.core.binaries-I20220315-1800.zip  Sravan Kumar Lakkimsetti2 years I20220316-1800eclipse.jdt.core.binaries-I20220316-1800.tar.gz  eclipse.jdt.core.binaries-I20220316-1800.tar.xz  eclipse.jdt.core.binaries-I20220316-1800.zip  Sravan Kumar Lakkimsetti2 years I20220317-1800eclipse.jdt.core.binaries-I20220317-1800.tar.gz  eclipse.jdt.core.binaries-I20220317-1800.tar.xz  eclipse.jdt.core.binaries-I20220317-1800.zip  Sravan Kumar Lakkimsetti2 years I20220318-0220eclipse.jdt.core.binaries-I20220318-0220.tar.gz  eclipse.jdt.core.binaries-I20220318-0220.tar.xz  eclipse.jdt.core.binaries-I20220318-0220.zip  Sravan Kumar Lakkimsetti2 years I20220318-1220eclipse.jdt.core.binaries-I20220318-1220.tar.gz  eclipse.jdt.core.binaries-I20220318-1220.tar.xz  eclipse.jdt.core.binaries-I20220318-1220.zip  Sravan Kumar Lakkimsetti2 years I20220318-1800eclipse.jdt.core.binaries-I20220318-1800.tar.gz  eclipse.jdt.core.binaries-I20220318-1800.tar.xz  eclipse.jdt.core.binaries-I20220318-1800.zip  Sravan Kumar Lakkimsetti2 years I20220319-1800eclipse.jdt.core.binaries-I20220319-1800.tar.gz  eclipse.jdt.core.binaries-I20220319-1800.tar.xz  eclipse.jdt.core.binaries-I20220319-1800.zip  Sravan Kumar Lakkimsetti2 years I20220320-0340eclipse.jdt.core.binaries-I20220320-0340.tar.gz  eclipse.jdt.core.binaries-I20220320-0340.tar.xz  eclipse.jdt.core.binaries-I20220320-0340.zip  Sravan Kumar Lakkimsetti2 years I20220320-1800eclipse.jdt.core.binaries-I20220320-1800.tar.gz  eclipse.jdt.core.binaries-I20220320-1800.tar.xz  eclipse.jdt.core.binaries-I20220320-1800.zip  Sravan Kumar Lakkimsetti2 years I20220321-0920eclipse.jdt.core.binaries-I20220321-0920.tar.gz  eclipse.jdt.core.binaries-I20220321-0920.tar.xz  eclipse.jdt.core.binaries-I20220321-0920.zip  Sravan Kumar Lakkimsetti2 years I20220321-1800eclipse.jdt.core.binaries-I20220321-1800.tar.gz  eclipse.jdt.core.binaries-I20220321-1800.tar.xz  eclipse.jdt.core.binaries-I20220321-1800.zip  Sravan Kumar Lakkimsetti2 years I20220322-0800eclipse.jdt.core.binaries-I20220322-0800.tar.gz  eclipse.jdt.core.binaries-I20220322-0800.tar.xz  eclipse.jdt.core.binaries-I20220322-0800.zip  Sravan Kumar Lakkimsetti2 years I20220322-1800eclipse.jdt.core.binaries-I20220322-1800.tar.gz  eclipse.jdt.core.binaries-I20220322-1800.tar.xz  eclipse.jdt.core.binaries-I20220322-1800.zip  Sravan Kumar Lakkimsetti2 years I20220323-0740eclipse.jdt.core.binaries-I20220323-0740.tar.gz  eclipse.jdt.core.binaries-I20220323-0740.tar.xz  eclipse.jdt.core.binaries-I20220323-0740.zip  Sravan Kumar Lakkimsetti2 years I20220323-1230eclipse.jdt.core.binaries-I20220323-1230.tar.gz  eclipse.jdt.core.binaries-I20220323-1230.tar.xz  eclipse.jdt.core.binaries-I20220323-1230.zip  Sravan Kumar Lakkimsetti2 years I20220323-1800eclipse.jdt.core.binaries-I20220323-1800.tar.gz  eclipse.jdt.core.binaries-I20220323-1800.tar.xz  eclipse.jdt.core.binaries-I20220323-1800.zip  Sravan Kumar Lakkimsetti2 years I20220324-0140eclipse.jdt.core.binaries-I20220324-0140.tar.gz  eclipse.jdt.core.binaries-I20220324-0140.tar.xz  eclipse.jdt.core.binaries-I20220324-0140.zip  Sravan Kumar Lakkimsetti2 years I20220324-1800eclipse.jdt.core.binaries-I20220324-1800.tar.gz  eclipse.jdt.core.binaries-I20220324-1800.tar.xz  eclipse.jdt.core.binaries-I20220324-1800.zip  Sravan Kumar Lakkimsetti2 years I20220325-1800eclipse.jdt.core.binaries-I20220325-1800.tar.gz  eclipse.jdt.core.binaries-I20220325-1800.tar.xz  eclipse.jdt.core.binaries-I20220325-1800.zip  Sravan Kumar Lakkimsetti2 years I20220326-1800eclipse.jdt.core.binaries-I20220326-1800.tar.gz  eclipse.jdt.core.binaries-I20220326-1800.tar.xz  eclipse.jdt.core.binaries-I20220326-1800.zip  Sravan Kumar Lakkimsetti2 years I20220327-1800eclipse.jdt.core.binaries-I20220327-1800.tar.gz  eclipse.jdt.core.binaries-I20220327-1800.tar.xz  eclipse.jdt.core.binaries-I20220327-1800.zip  Sravan Kumar Lakkimsetti2 years S4_23_0_RC2eclipse.jdt.core.binaries-S4_23_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_23_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_23_0_RC2.zip  Eclipse Releng Bot2 years S4_23_0_RC1eclipse.jdt.core.binaries-S4_23_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_23_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_23_0_RC1.zip  Eclipse Releng Bot2 years S4_23_0_M3eclipse.jdt.core.binaries-S4_23_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_23_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_23_0_M3.zip  Eclipse Releng Bot2 years S4_23_0_M1eclipse.jdt.core.binaries-S4_23_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_23_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_23_0_M1.zip  Eclipse Releng Bot3 years R4_22eclipse.jdt.core.binaries-R4_22.tar.gz  eclipse.jdt.core.binaries-R4_22.tar.xz  eclipse.jdt.core.binaries-R4_22.zip  Eclipse Releng Bot3 years I20211126-0230eclipse.jdt.core.binaries-I20211126-0230.tar.gz  eclipse.jdt.core.binaries-I20211126-0230.tar.xz  eclipse.jdt.core.binaries-I20211126-0230.zip  Sravan Kumar Lakkimsetti3 years I20211126-0740eclipse.jdt.core.binaries-I20211126-0740.tar.gz  eclipse.jdt.core.binaries-I20211126-0740.tar.xz  eclipse.jdt.core.binaries-I20211126-0740.zip  Sravan Kumar Lakkimsetti3 years I20211126-1800eclipse.jdt.core.binaries-I20211126-1800.tar.gz  eclipse.jdt.core.binaries-I20211126-1800.tar.xz  eclipse.jdt.core.binaries-I20211126-1800.zip  Sravan Kumar Lakkimsetti3 years I20211127-1800eclipse.jdt.core.binaries-I20211127-1800.tar.gz  eclipse.jdt.core.binaries-I20211127-1800.tar.xz  eclipse.jdt.core.binaries-I20211127-1800.zip  Sravan Kumar Lakkimsetti3 years I20211128-1800eclipse.jdt.core.binaries-I20211128-1800.tar.gz  eclipse.jdt.core.binaries-I20211128-1800.tar.xz  eclipse.jdt.core.binaries-I20211128-1800.zip  Sravan Kumar Lakkimsetti3 years I20211129-1800eclipse.jdt.core.binaries-I20211129-1800.tar.gz  eclipse.jdt.core.binaries-I20211129-1800.tar.xz  eclipse.jdt.core.binaries-I20211129-1800.zip  Sravan Kumar Lakkimsetti3 years I20211130-1000eclipse.jdt.core.binaries-I20211130-1000.tar.gz  eclipse.jdt.core.binaries-I20211130-1000.tar.xz  eclipse.jdt.core.binaries-I20211130-1000.zip  Sravan Kumar Lakkimsetti3 years I20211130-1100eclipse.jdt.core.binaries-I20211130-1100.tar.gz  eclipse.jdt.core.binaries-I20211130-1100.tar.xz  eclipse.jdt.core.binaries-I20211130-1100.zip  Sravan Kumar Lakkimsetti3 years I20211130-1800eclipse.jdt.core.binaries-I20211130-1800.tar.gz  eclipse.jdt.core.binaries-I20211130-1800.tar.xz  eclipse.jdt.core.binaries-I20211130-1800.zip  Sravan Kumar Lakkimsetti3 years I20211201-1800eclipse.jdt.core.binaries-I20211201-1800.tar.gz  eclipse.jdt.core.binaries-I20211201-1800.tar.xz  eclipse.jdt.core.binaries-I20211201-1800.zip  Sravan Kumar Lakkimsetti3 years I20211201-1950eclipse.jdt.core.binaries-I20211201-1950.tar.gz  eclipse.jdt.core.binaries-I20211201-1950.tar.xz  eclipse.jdt.core.binaries-I20211201-1950.zip  Sravan Kumar Lakkimsetti3 years I20211202-0440eclipse.jdt.core.binaries-I20211202-0440.tar.gz  eclipse.jdt.core.binaries-I20211202-0440.tar.xz  eclipse.jdt.core.binaries-I20211202-0440.zip  Sravan Kumar Lakkimsetti3 years I20211202-0900eclipse.jdt.core.binaries-I20211202-0900.tar.gz  eclipse.jdt.core.binaries-I20211202-0900.tar.xz  eclipse.jdt.core.binaries-I20211202-0900.zip  Sravan Kumar Lakkimsetti3 years I20211203-1010eclipse.jdt.core.binaries-I20211203-1010.tar.gz  eclipse.jdt.core.binaries-I20211203-1010.tar.xz  eclipse.jdt.core.binaries-I20211203-1010.zip  Sravan Kumar Lakkimsetti3 years I20211203-1800eclipse.jdt.core.binaries-I20211203-1800.tar.gz  eclipse.jdt.core.binaries-I20211203-1800.tar.xz  eclipse.jdt.core.binaries-I20211203-1800.zip  Sravan Kumar Lakkimsetti3 years I20211204-0500eclipse.jdt.core.binaries-I20211204-0500.tar.gz  eclipse.jdt.core.binaries-I20211204-0500.tar.xz  eclipse.jdt.core.binaries-I20211204-0500.zip  Sravan Kumar Lakkimsetti3 years I20211204-1800eclipse.jdt.core.binaries-I20211204-1800.tar.gz  eclipse.jdt.core.binaries-I20211204-1800.tar.xz  eclipse.jdt.core.binaries-I20211204-1800.zip  Sravan Kumar Lakkimsetti3 years I20211205-1800eclipse.jdt.core.binaries-I20211205-1800.tar.gz  eclipse.jdt.core.binaries-I20211205-1800.tar.xz  eclipse.jdt.core.binaries-I20211205-1800.zip  Sravan Kumar Lakkimsetti3 years I20211206-1800eclipse.jdt.core.binaries-I20211206-1800.tar.gz  eclipse.jdt.core.binaries-I20211206-1800.tar.xz  eclipse.jdt.core.binaries-I20211206-1800.zip  Sravan Kumar Lakkimsetti3 years I20211207-1800eclipse.jdt.core.binaries-I20211207-1800.tar.gz  eclipse.jdt.core.binaries-I20211207-1800.tar.xz  eclipse.jdt.core.binaries-I20211207-1800.zip  Sravan Kumar Lakkimsetti3 years I20211208-1800eclipse.jdt.core.binaries-I20211208-1800.tar.gz  eclipse.jdt.core.binaries-I20211208-1800.tar.xz  eclipse.jdt.core.binaries-I20211208-1800.zip  Sravan Kumar Lakkimsetti3 years I20211209-1800eclipse.jdt.core.binaries-I20211209-1800.tar.gz  eclipse.jdt.core.binaries-I20211209-1800.tar.xz  eclipse.jdt.core.binaries-I20211209-1800.zip  Sravan Kumar Lakkimsetti3 years I20211210-0600eclipse.jdt.core.binaries-I20211210-0600.tar.gz  eclipse.jdt.core.binaries-I20211210-0600.tar.xz  eclipse.jdt.core.binaries-I20211210-0600.zip  Sravan Kumar Lakkimsetti3 years I20211210-1050eclipse.jdt.core.binaries-I20211210-1050.tar.gz  eclipse.jdt.core.binaries-I20211210-1050.tar.xz  eclipse.jdt.core.binaries-I20211210-1050.zip  Sravan Kumar Lakkimsetti3 years I20211210-1800eclipse.jdt.core.binaries-I20211210-1800.tar.gz  eclipse.jdt.core.binaries-I20211210-1800.tar.xz  eclipse.jdt.core.binaries-I20211210-1800.zip  Sravan Kumar Lakkimsetti3 years I20211211-1800eclipse.jdt.core.binaries-I20211211-1800.tar.gz  eclipse.jdt.core.binaries-I20211211-1800.tar.xz  eclipse.jdt.core.binaries-I20211211-1800.zip  Sravan Kumar Lakkimsetti3 years I20211212-1800eclipse.jdt.core.binaries-I20211212-1800.tar.gz  eclipse.jdt.core.binaries-I20211212-1800.tar.xz  eclipse.jdt.core.binaries-I20211212-1800.zip  Sravan Kumar Lakkimsetti3 years I20211213-0440eclipse.jdt.core.binaries-I20211213-0440.tar.gz  eclipse.jdt.core.binaries-I20211213-0440.tar.xz  eclipse.jdt.core.binaries-I20211213-0440.zip  Sravan Kumar Lakkimsetti3 years I20211213-1800eclipse.jdt.core.binaries-I20211213-1800.tar.gz  eclipse.jdt.core.binaries-I20211213-1800.tar.xz  eclipse.jdt.core.binaries-I20211213-1800.zip  Sravan Kumar Lakkimsetti3 years I20211214-1800eclipse.jdt.core.binaries-I20211214-1800.tar.gz  eclipse.jdt.core.binaries-I20211214-1800.tar.xz  eclipse.jdt.core.binaries-I20211214-1800.zip  Sravan Kumar Lakkimsetti3 years I20211215-1800eclipse.jdt.core.binaries-I20211215-1800.tar.gz  eclipse.jdt.core.binaries-I20211215-1800.tar.xz  eclipse.jdt.core.binaries-I20211215-1800.zip  Sravan Kumar Lakkimsetti3 years I20211216-1800eclipse.jdt.core.binaries-I20211216-1800.tar.gz  eclipse.jdt.core.binaries-I20211216-1800.tar.xz  eclipse.jdt.core.binaries-I20211216-1800.zip  Sravan Kumar Lakkimsetti3 years I20211217-1800eclipse.jdt.core.binaries-I20211217-1800.tar.gz  eclipse.jdt.core.binaries-I20211217-1800.tar.xz  eclipse.jdt.core.binaries-I20211217-1800.zip  Sravan Kumar Lakkimsetti3 years I20211218-0140eclipse.jdt.core.binaries-I20211218-0140.tar.gz  eclipse.jdt.core.binaries-I20211218-0140.tar.xz  eclipse.jdt.core.binaries-I20211218-0140.zip  Sravan Kumar Lakkimsetti3 years I20211218-0200eclipse.jdt.core.binaries-I20211218-0200.tar.gz  eclipse.jdt.core.binaries-I20211218-0200.tar.xz  eclipse.jdt.core.binaries-I20211218-0200.zip  Sravan Kumar Lakkimsetti3 years I20211218-1800eclipse.jdt.core.binaries-I20211218-1800.tar.gz  eclipse.jdt.core.binaries-I20211218-1800.tar.xz  eclipse.jdt.core.binaries-I20211218-1800.zip  Sravan Kumar Lakkimsetti3 years I20211219-1800eclipse.jdt.core.binaries-I20211219-1800.tar.gz  eclipse.jdt.core.binaries-I20211219-1800.tar.xz  eclipse.jdt.core.binaries-I20211219-1800.zip  Sravan Kumar Lakkimsetti3 years I20211220-1820eclipse.jdt.core.binaries-I20211220-1820.tar.gz  eclipse.jdt.core.binaries-I20211220-1820.tar.xz  eclipse.jdt.core.binaries-I20211220-1820.zip  Sravan Kumar Lakkimsetti3 years I20211221-0620eclipse.jdt.core.binaries-I20211221-0620.tar.gz  eclipse.jdt.core.binaries-I20211221-0620.tar.xz  eclipse.jdt.core.binaries-I20211221-0620.zip  Sravan Kumar Lakkimsetti3 years I20211221-1800eclipse.jdt.core.binaries-I20211221-1800.tar.gz  eclipse.jdt.core.binaries-I20211221-1800.tar.xz  eclipse.jdt.core.binaries-I20211221-1800.zip  Sravan Kumar Lakkimsetti3 years I20211222-1800eclipse.jdt.core.binaries-I20211222-1800.tar.gz  eclipse.jdt.core.binaries-I20211222-1800.tar.xz  eclipse.jdt.core.binaries-I20211222-1800.zip  Sravan Kumar Lakkimsetti3 years I20211223-1800eclipse.jdt.core.binaries-I20211223-1800.tar.gz  eclipse.jdt.core.binaries-I20211223-1800.tar.xz  eclipse.jdt.core.binaries-I20211223-1800.zip  Sravan Kumar Lakkimsetti3 years I20211224-1800eclipse.jdt.core.binaries-I20211224-1800.tar.gz  eclipse.jdt.core.binaries-I20211224-1800.tar.xz  eclipse.jdt.core.binaries-I20211224-1800.zip  Sravan Kumar Lakkimsetti3 years I20211225-1800eclipse.jdt.core.binaries-I20211225-1800.tar.gz  eclipse.jdt.core.binaries-I20211225-1800.tar.xz  eclipse.jdt.core.binaries-I20211225-1800.zip  Sravan Kumar Lakkimsetti3 years I20211226-1800eclipse.jdt.core.binaries-I20211226-1800.tar.gz  eclipse.jdt.core.binaries-I20211226-1800.tar.xz  eclipse.jdt.core.binaries-I20211226-1800.zip  Sravan Kumar Lakkimsetti3 years I20211227-1800eclipse.jdt.core.binaries-I20211227-1800.tar.gz  eclipse.jdt.core.binaries-I20211227-1800.tar.xz  eclipse.jdt.core.binaries-I20211227-1800.zip  Sravan Kumar Lakkimsetti3 years I20211228-1800eclipse.jdt.core.binaries-I20211228-1800.tar.gz  eclipse.jdt.core.binaries-I20211228-1800.tar.xz  eclipse.jdt.core.binaries-I20211228-1800.zip  Sravan Kumar Lakkimsetti3 years I20211229-1800eclipse.jdt.core.binaries-I20211229-1800.tar.gz  eclipse.jdt.core.binaries-I20211229-1800.tar.xz  eclipse.jdt.core.binaries-I20211229-1800.zip  Sravan Kumar Lakkimsetti3 years I20211230-1800eclipse.jdt.core.binaries-I20211230-1800.tar.gz  eclipse.jdt.core.binaries-I20211230-1800.tar.xz  eclipse.jdt.core.binaries-I20211230-1800.zip  Sravan Kumar Lakkimsetti3 years I20211231-1800eclipse.jdt.core.binaries-I20211231-1800.tar.gz  eclipse.jdt.core.binaries-I20211231-1800.tar.xz  eclipse.jdt.core.binaries-I20211231-1800.zip  Sravan Kumar Lakkimsetti3 years I20220101-0600eclipse.jdt.core.binaries-I20220101-0600.tar.gz  eclipse.jdt.core.binaries-I20220101-0600.tar.xz  eclipse.jdt.core.binaries-I20220101-0600.zip  Sravan Kumar Lakkimsetti3 years I20220101-1140eclipse.jdt.core.binaries-I20220101-1140.tar.gz  eclipse.jdt.core.binaries-I20220101-1140.tar.xz  eclipse.jdt.core.binaries-I20220101-1140.zip  Sravan Kumar Lakkimsetti3 years I20220101-1800eclipse.jdt.core.binaries-I20220101-1800.tar.gz  eclipse.jdt.core.binaries-I20220101-1800.tar.xz  eclipse.jdt.core.binaries-I20220101-1800.zip  Sravan Kumar Lakkimsetti3 years I20220102-0600eclipse.jdt.core.binaries-I20220102-0600.tar.gz  eclipse.jdt.core.binaries-I20220102-0600.tar.xz  eclipse.jdt.core.binaries-I20220102-0600.zip  Sravan Kumar Lakkimsetti3 years I20220102-1800eclipse.jdt.core.binaries-I20220102-1800.tar.gz  eclipse.jdt.core.binaries-I20220102-1800.tar.xz  eclipse.jdt.core.binaries-I20220102-1800.zip  Sravan Kumar Lakkimsetti3 years I20220103-0600eclipse.jdt.core.binaries-I20220103-0600.tar.gz  eclipse.jdt.core.binaries-I20220103-0600.tar.xz  eclipse.jdt.core.binaries-I20220103-0600.zip  Sravan Kumar Lakkimsetti3 years I20220103-1800eclipse.jdt.core.binaries-I20220103-1800.tar.gz  eclipse.jdt.core.binaries-I20220103-1800.tar.xz  eclipse.jdt.core.binaries-I20220103-1800.zip  Sravan Kumar Lakkimsetti3 years I20220104-0600eclipse.jdt.core.binaries-I20220104-0600.tar.gz  eclipse.jdt.core.binaries-I20220104-0600.tar.xz  eclipse.jdt.core.binaries-I20220104-0600.zip  Sravan Kumar Lakkimsetti3 years I20220104-0940eclipse.jdt.core.binaries-I20220104-0940.tar.gz  eclipse.jdt.core.binaries-I20220104-0940.tar.xz  eclipse.jdt.core.binaries-I20220104-0940.zip  Sravan Kumar Lakkimsetti3 years I20220104-1800eclipse.jdt.core.binaries-I20220104-1800.tar.gz  eclipse.jdt.core.binaries-I20220104-1800.tar.xz  eclipse.jdt.core.binaries-I20220104-1800.zip  Sravan Kumar Lakkimsetti3 years I20220105-0600eclipse.jdt.core.binaries-I20220105-0600.tar.gz  eclipse.jdt.core.binaries-I20220105-0600.tar.xz  eclipse.jdt.core.binaries-I20220105-0600.zip  Sravan Kumar Lakkimsetti3 years I20220105-1800eclipse.jdt.core.binaries-I20220105-1800.tar.gz  eclipse.jdt.core.binaries-I20220105-1800.tar.xz  eclipse.jdt.core.binaries-I20220105-1800.zip  Sravan Kumar Lakkimsetti3 years I20220106-0000eclipse.jdt.core.binaries-I20220106-0000.tar.gz  eclipse.jdt.core.binaries-I20220106-0000.tar.xz  eclipse.jdt.core.binaries-I20220106-0000.zip  Sravan Kumar Lakkimsetti3 years I20220107-1800eclipse.jdt.core.binaries-I20220107-1800.tar.gz  eclipse.jdt.core.binaries-I20220107-1800.tar.xz  eclipse.jdt.core.binaries-I20220107-1800.zip  Sravan Kumar Lakkimsetti3 years I20220108-1800eclipse.jdt.core.binaries-I20220108-1800.tar.gz  eclipse.jdt.core.binaries-I20220108-1800.tar.xz  eclipse.jdt.core.binaries-I20220108-1800.zip  Sravan Kumar Lakkimsetti3 years I20220109-1800eclipse.jdt.core.binaries-I20220109-1800.tar.gz  eclipse.jdt.core.binaries-I20220109-1800.tar.xz  eclipse.jdt.core.binaries-I20220109-1800.zip  Sravan Kumar Lakkimsetti3 years I20220110-0310eclipse.jdt.core.binaries-I20220110-0310.tar.gz  eclipse.jdt.core.binaries-I20220110-0310.tar.xz  eclipse.jdt.core.binaries-I20220110-0310.zip  Sravan Kumar Lakkimsetti3 years I20220110-0550eclipse.jdt.core.binaries-I20220110-0550.tar.gz  eclipse.jdt.core.binaries-I20220110-0550.tar.xz  eclipse.jdt.core.binaries-I20220110-0550.zip  Sravan Kumar Lakkimsetti3 years I20220110-1800eclipse.jdt.core.binaries-I20220110-1800.tar.gz  eclipse.jdt.core.binaries-I20220110-1800.tar.xz  eclipse.jdt.core.binaries-I20220110-1800.zip  Sravan Kumar Lakkimsetti3 years I20220111-0450eclipse.jdt.core.binaries-I20220111-0450.tar.gz  eclipse.jdt.core.binaries-I20220111-0450.tar.xz  eclipse.jdt.core.binaries-I20220111-0450.zip  Sravan Kumar Lakkimsetti3 years I20220111-1800eclipse.jdt.core.binaries-I20220111-1800.tar.gz  eclipse.jdt.core.binaries-I20220111-1800.tar.xz  eclipse.jdt.core.binaries-I20220111-1800.zip  Sravan Kumar Lakkimsetti3 years I20220111-1910eclipse.jdt.core.binaries-I20220111-1910.tar.gz  eclipse.jdt.core.binaries-I20220111-1910.tar.xz  eclipse.jdt.core.binaries-I20220111-1910.zip  Sravan Kumar Lakkimsetti3 years I20220111-2130eclipse.jdt.core.binaries-I20220111-2130.tar.gz  eclipse.jdt.core.binaries-I20220111-2130.tar.xz  eclipse.jdt.core.binaries-I20220111-2130.zip  Sravan Kumar Lakkimsetti3 years I20220112-0210eclipse.jdt.core.binaries-I20220112-0210.tar.gz  eclipse.jdt.core.binaries-I20220112-0210.tar.xz  eclipse.jdt.core.binaries-I20220112-0210.zip  Sravan Kumar Lakkimsetti3 years I20220112-1800eclipse.jdt.core.binaries-I20220112-1800.tar.gz  eclipse.jdt.core.binaries-I20220112-1800.tar.xz  eclipse.jdt.core.binaries-I20220112-1800.zip  Sravan Kumar Lakkimsetti3 years I20220113-1800eclipse.jdt.core.binaries-I20220113-1800.tar.gz  eclipse.jdt.core.binaries-I20220113-1800.tar.xz  eclipse.jdt.core.binaries-I20220113-1800.zip  Sravan Kumar Lakkimsetti3 years I20220114-1800eclipse.jdt.core.binaries-I20220114-1800.tar.gz  eclipse.jdt.core.binaries-I20220114-1800.tar.xz  eclipse.jdt.core.binaries-I20220114-1800.zip  Sravan Kumar Lakkimsetti3 years I20220115-1800eclipse.jdt.core.binaries-I20220115-1800.tar.gz  eclipse.jdt.core.binaries-I20220115-1800.tar.xz  eclipse.jdt.core.binaries-I20220115-1800.zip  Sravan Kumar Lakkimsetti3 years I20220116-1800eclipse.jdt.core.binaries-I20220116-1800.tar.gz  eclipse.jdt.core.binaries-I20220116-1800.tar.xz  eclipse.jdt.core.binaries-I20220116-1800.zip  Sravan Kumar Lakkimsetti3 years I20220117-1800eclipse.jdt.core.binaries-I20220117-1800.tar.gz  eclipse.jdt.core.binaries-I20220117-1800.tar.xz  eclipse.jdt.core.binaries-I20220117-1800.zip  Sravan Kumar Lakkimsetti3 years I20220118-1800eclipse.jdt.core.binaries-I20220118-1800.tar.gz  eclipse.jdt.core.binaries-I20220118-1800.tar.xz  eclipse.jdt.core.binaries-I20220118-1800.zip  Sravan Kumar Lakkimsetti3 years I20220119-0540eclipse.jdt.core.binaries-I20220119-0540.tar.gz  eclipse.jdt.core.binaries-I20220119-0540.tar.xz  eclipse.jdt.core.binaries-I20220119-0540.zip  Sravan Kumar Lakkimsetti3 years I20220119-1320eclipse.jdt.core.binaries-I20220119-1320.tar.gz  eclipse.jdt.core.binaries-I20220119-1320.tar.xz  eclipse.jdt.core.binaries-I20220119-1320.zip  Sravan Kumar Lakkimsetti3 years I20220119-1440eclipse.jdt.core.binaries-I20220119-1440.tar.gz  eclipse.jdt.core.binaries-I20220119-1440.tar.xz  eclipse.jdt.core.binaries-I20220119-1440.zip  Sravan Kumar Lakkimsetti3 years I20220119-1800eclipse.jdt.core.binaries-I20220119-1800.tar.gz  eclipse.jdt.core.binaries-I20220119-1800.tar.xz  eclipse.jdt.core.binaries-I20220119-1800.zip  Sravan Kumar Lakkimsetti3 years I20220120-0220eclipse.jdt.core.binaries-I20220120-0220.tar.gz  eclipse.jdt.core.binaries-I20220120-0220.tar.xz  eclipse.jdt.core.binaries-I20220120-0220.zip  Sravan Kumar Lakkimsetti3 years I20220120-0720eclipse.jdt.core.binaries-I20220120-0720.tar.gz  eclipse.jdt.core.binaries-I20220120-0720.tar.xz  eclipse.jdt.core.binaries-I20220120-0720.zip  Sravan Kumar Lakkimsetti3 years I20220120-1800eclipse.jdt.core.binaries-I20220120-1800.tar.gz  eclipse.jdt.core.binaries-I20220120-1800.tar.xz  eclipse.jdt.core.binaries-I20220120-1800.zip  Sravan Kumar Lakkimsetti3 years I20220121-1800eclipse.jdt.core.binaries-I20220121-1800.tar.gz  eclipse.jdt.core.binaries-I20220121-1800.tar.xz  eclipse.jdt.core.binaries-I20220121-1800.zip  Sravan Kumar Lakkimsetti3 years I20220122-1800eclipse.jdt.core.binaries-I20220122-1800.tar.gz  eclipse.jdt.core.binaries-I20220122-1800.tar.xz  eclipse.jdt.core.binaries-I20220122-1800.zip  Sravan Kumar Lakkimsetti3 years I20220123-1800eclipse.jdt.core.binaries-I20220123-1800.tar.gz  eclipse.jdt.core.binaries-I20220123-1800.tar.xz  eclipse.jdt.core.binaries-I20220123-1800.zip  Sravan Kumar Lakkimsetti3 years I20220124-0510eclipse.jdt.core.binaries-I20220124-0510.tar.gz  eclipse.jdt.core.binaries-I20220124-0510.tar.xz  eclipse.jdt.core.binaries-I20220124-0510.zip  Sravan Kumar Lakkimsetti3 years I20220125-0320eclipse.jdt.core.binaries-I20220125-0320.tar.gz  eclipse.jdt.core.binaries-I20220125-0320.tar.xz  eclipse.jdt.core.binaries-I20220125-0320.zip  Sravan Kumar Lakkimsetti3 years I20220125-1800eclipse.jdt.core.binaries-I20220125-1800.tar.gz  eclipse.jdt.core.binaries-I20220125-1800.tar.xz  eclipse.jdt.core.binaries-I20220125-1800.zip  Sravan Kumar Lakkimsetti3 years I20220126-0520eclipse.jdt.core.binaries-I20220126-0520.tar.gz  eclipse.jdt.core.binaries-I20220126-0520.tar.xz  eclipse.jdt.core.binaries-I20220126-0520.zip  Sravan Kumar Lakkimsetti3 years I20220126-1800eclipse.jdt.core.binaries-I20220126-1800.tar.gz  eclipse.jdt.core.binaries-I20220126-1800.tar.xz  eclipse.jdt.core.binaries-I20220126-1800.zip  Sravan Kumar Lakkimsetti3 years I20220127-1800eclipse.jdt.core.binaries-I20220127-1800.tar.gz  eclipse.jdt.core.binaries-I20220127-1800.tar.xz  eclipse.jdt.core.binaries-I20220127-1800.zip  Sravan Kumar Lakkimsetti3 years I20220128-1800eclipse.jdt.core.binaries-I20220128-1800.tar.gz  eclipse.jdt.core.binaries-I20220128-1800.tar.xz  eclipse.jdt.core.binaries-I20220128-1800.zip  Sravan Kumar Lakkimsetti3 years I20220129-1800eclipse.jdt.core.binaries-I20220129-1800.tar.gz  eclipse.jdt.core.binaries-I20220129-1800.tar.xz  eclipse.jdt.core.binaries-I20220129-1800.zip  Sravan Kumar Lakkimsetti3 years I20220131-0700eclipse.jdt.core.binaries-I20220131-0700.tar.gz  eclipse.jdt.core.binaries-I20220131-0700.tar.xz  eclipse.jdt.core.binaries-I20220131-0700.zip  Sravan Kumar Lakkimsetti3 years I20220131-0800eclipse.jdt.core.binaries-I20220131-0800.tar.gz  eclipse.jdt.core.binaries-I20220131-0800.tar.xz  eclipse.jdt.core.binaries-I20220131-0800.zip  Sravan Kumar Lakkimsetti3 years I20220201-0310eclipse.jdt.core.binaries-I20220201-0310.tar.gz  eclipse.jdt.core.binaries-I20220201-0310.tar.xz  eclipse.jdt.core.binaries-I20220201-0310.zip  Sravan Kumar Lakkimsetti3 years I20220201-1800eclipse.jdt.core.binaries-I20220201-1800.tar.gz  eclipse.jdt.core.binaries-I20220201-1800.tar.xz  eclipse.jdt.core.binaries-I20220201-1800.zip  Sravan Kumar Lakkimsetti3 years I20220202-0620eclipse.jdt.core.binaries-I20220202-0620.tar.gz  eclipse.jdt.core.binaries-I20220202-0620.tar.xz  eclipse.jdt.core.binaries-I20220202-0620.zip  Sravan Kumar Lakkimsetti3 years I20220202-1800eclipse.jdt.core.binaries-I20220202-1800.tar.gz  eclipse.jdt.core.binaries-I20220202-1800.tar.xz  eclipse.jdt.core.binaries-I20220202-1800.zip  Sravan Kumar Lakkimsetti3 years I20220203-0300eclipse.jdt.core.binaries-I20220203-0300.tar.gz  eclipse.jdt.core.binaries-I20220203-0300.tar.xz  eclipse.jdt.core.binaries-I20220203-0300.zip  Sravan Kumar Lakkimsetti3 years I20220203-1310eclipse.jdt.core.binaries-I20220203-1310.tar.gz  eclipse.jdt.core.binaries-I20220203-1310.tar.xz  eclipse.jdt.core.binaries-I20220203-1310.zip  Sravan Kumar Lakkimsetti3 years I20220203-1550eclipse.jdt.core.binaries-I20220203-1550.tar.gz  eclipse.jdt.core.binaries-I20220203-1550.tar.xz  eclipse.jdt.core.binaries-I20220203-1550.zip  Sravan Kumar Lakkimsetti3 years I20220203-1640eclipse.jdt.core.binaries-I20220203-1640.tar.gz  eclipse.jdt.core.binaries-I20220203-1640.tar.xz  eclipse.jdt.core.binaries-I20220203-1640.zip  Sravan Kumar Lakkimsetti3 years I20220204-0300eclipse.jdt.core.binaries-I20220204-0300.tar.gz  eclipse.jdt.core.binaries-I20220204-0300.tar.xz  eclipse.jdt.core.binaries-I20220204-0300.zip  Sravan Kumar Lakkimsetti3 years I20220204-1800eclipse.jdt.core.binaries-I20220204-1800.tar.gz  eclipse.jdt.core.binaries-I20220204-1800.tar.xz  eclipse.jdt.core.binaries-I20220204-1800.zip  Sravan Kumar Lakkimsetti3 years I20220205-0040eclipse.jdt.core.binaries-I20220205-0040.tar.gz  eclipse.jdt.core.binaries-I20220205-0040.tar.xz  eclipse.jdt.core.binaries-I20220205-0040.zip  Sravan Kumar Lakkimsetti3 years I20220205-1800eclipse.jdt.core.binaries-I20220205-1800.tar.gz  eclipse.jdt.core.binaries-I20220205-1800.tar.xz  eclipse.jdt.core.binaries-I20220205-1800.zip  Sravan Kumar Lakkimsetti3 years I20220206-1800eclipse.jdt.core.binaries-I20220206-1800.tar.gz  eclipse.jdt.core.binaries-I20220206-1800.tar.xz  eclipse.jdt.core.binaries-I20220206-1800.zip  Sravan Kumar Lakkimsetti3 years I20220207-1800eclipse.jdt.core.binaries-I20220207-1800.tar.gz  eclipse.jdt.core.binaries-I20220207-1800.tar.xz  eclipse.jdt.core.binaries-I20220207-1800.zip  Sravan Kumar Lakkimsetti3 years I20220208-1800eclipse.jdt.core.binaries-I20220208-1800.tar.gz  eclipse.jdt.core.binaries-I20220208-1800.tar.xz  eclipse.jdt.core.binaries-I20220208-1800.zip  Sravan Kumar Lakkimsetti3 years I20220209-1800eclipse.jdt.core.binaries-I20220209-1800.tar.gz  eclipse.jdt.core.binaries-I20220209-1800.tar.xz  eclipse.jdt.core.binaries-I20220209-1800.zip  Sravan Kumar Lakkimsetti3 years I20220210-1800eclipse.jdt.core.binaries-I20220210-1800.tar.gz  eclipse.jdt.core.binaries-I20220210-1800.tar.xz  eclipse.jdt.core.binaries-I20220210-1800.zip  Sravan Kumar Lakkimsetti3 years I20220211-1800eclipse.jdt.core.binaries-I20220211-1800.tar.gz  eclipse.jdt.core.binaries-I20220211-1800.tar.xz  eclipse.jdt.core.binaries-I20220211-1800.zip  Sravan Kumar Lakkimsetti3 years I20220212-0140eclipse.jdt.core.binaries-I20220212-0140.tar.gz  eclipse.jdt.core.binaries-I20220212-0140.tar.xz  eclipse.jdt.core.binaries-I20220212-0140.zip  Sravan Kumar Lakkimsetti3 years I20220212-0600eclipse.jdt.core.binaries-I20220212-0600.tar.gz  eclipse.jdt.core.binaries-I20220212-0600.tar.xz  eclipse.jdt.core.binaries-I20220212-0600.zip  Sravan Kumar Lakkimsetti3 years I20220212-0800eclipse.jdt.core.binaries-I20220212-0800.tar.gz  eclipse.jdt.core.binaries-I20220212-0800.tar.xz  eclipse.jdt.core.binaries-I20220212-0800.zip  Sravan Kumar Lakkimsetti3 years I20220212-1800eclipse.jdt.core.binaries-I20220212-1800.tar.gz  eclipse.jdt.core.binaries-I20220212-1800.tar.xz  eclipse.jdt.core.binaries-I20220212-1800.zip  Sravan Kumar Lakkimsetti3 years I20220212-2040eclipse.jdt.core.binaries-I20220212-2040.tar.gz  eclipse.jdt.core.binaries-I20220212-2040.tar.xz  eclipse.jdt.core.binaries-I20220212-2040.zip  Sravan Kumar Lakkimsetti3 years I20220213-0600eclipse.jdt.core.binaries-I20220213-0600.tar.gz  eclipse.jdt.core.binaries-I20220213-0600.tar.xz  eclipse.jdt.core.binaries-I20220213-0600.zip  Sravan Kumar Lakkimsetti3 years I20220213-1800eclipse.jdt.core.binaries-I20220213-1800.tar.gz  eclipse.jdt.core.binaries-I20220213-1800.tar.xz  eclipse.jdt.core.binaries-I20220213-1800.zip  Sravan Kumar Lakkimsetti3 years I20220214-0600eclipse.jdt.core.binaries-I20220214-0600.tar.gz  eclipse.jdt.core.binaries-I20220214-0600.tar.xz  eclipse.jdt.core.binaries-I20220214-0600.zip  Sravan Kumar Lakkimsetti3 years I20220214-1800eclipse.jdt.core.binaries-I20220214-1800.tar.gz  eclipse.jdt.core.binaries-I20220214-1800.tar.xz  eclipse.jdt.core.binaries-I20220214-1800.zip  Sravan Kumar Lakkimsetti3 years I20220215-0600eclipse.jdt.core.binaries-I20220215-0600.tar.gz  eclipse.jdt.core.binaries-I20220215-0600.tar.xz  eclipse.jdt.core.binaries-I20220215-0600.zip  Sravan Kumar Lakkimsetti3 years I20220215-1800eclipse.jdt.core.binaries-I20220215-1800.tar.gz  eclipse.jdt.core.binaries-I20220215-1800.tar.xz  eclipse.jdt.core.binaries-I20220215-1800.zip  Sravan Kumar Lakkimsetti3 years I20220216-0600eclipse.jdt.core.binaries-I20220216-0600.tar.gz  eclipse.jdt.core.binaries-I20220216-0600.tar.xz  eclipse.jdt.core.binaries-I20220216-0600.zip  Sravan Kumar Lakkimsetti3 years I20220216-1800eclipse.jdt.core.binaries-I20220216-1800.tar.gz  eclipse.jdt.core.binaries-I20220216-1800.tar.xz  eclipse.jdt.core.binaries-I20220216-1800.zip  Sravan Kumar Lakkimsetti3 years I20220218-1800eclipse.jdt.core.binaries-I20220218-1800.tar.gz  eclipse.jdt.core.binaries-I20220218-1800.tar.xz  eclipse.jdt.core.binaries-I20220218-1800.zip  Sravan Kumar Lakkimsetti3 years I20220219-0600eclipse.jdt.core.binaries-I20220219-0600.tar.gz  eclipse.jdt.core.binaries-I20220219-0600.tar.xz  eclipse.jdt.core.binaries-I20220219-0600.zip  Sravan Kumar Lakkimsetti3 years I20220219-1800eclipse.jdt.core.binaries-I20220219-1800.tar.gz  eclipse.jdt.core.binaries-I20220219-1800.tar.xz  eclipse.jdt.core.binaries-I20220219-1800.zip  Sravan Kumar Lakkimsetti3 years I20220220-0600eclipse.jdt.core.binaries-I20220220-0600.tar.gz  eclipse.jdt.core.binaries-I20220220-0600.tar.xz  eclipse.jdt.core.binaries-I20220220-0600.zip  Sravan Kumar Lakkimsetti3 years I20220220-1800eclipse.jdt.core.binaries-I20220220-1800.tar.gz  eclipse.jdt.core.binaries-I20220220-1800.tar.xz  eclipse.jdt.core.binaries-I20220220-1800.zip  Sravan Kumar Lakkimsetti3 years I20220221-0600eclipse.jdt.core.binaries-I20220221-0600.tar.gz  eclipse.jdt.core.binaries-I20220221-0600.tar.xz  eclipse.jdt.core.binaries-I20220221-0600.zip  Sravan Kumar Lakkimsetti3 years I20220221-1800eclipse.jdt.core.binaries-I20220221-1800.tar.gz  eclipse.jdt.core.binaries-I20220221-1800.tar.xz  eclipse.jdt.core.binaries-I20220221-1800.zip  Sravan Kumar Lakkimsetti3 years I20220222-1350eclipse.jdt.core.binaries-I20220222-1350.tar.gz  eclipse.jdt.core.binaries-I20220222-1350.tar.xz  eclipse.jdt.core.binaries-I20220222-1350.zip  Sravan Kumar Lakkimsetti3 years I20220222-1800eclipse.jdt.core.binaries-I20220222-1800.tar.gz  eclipse.jdt.core.binaries-I20220222-1800.tar.xz  eclipse.jdt.core.binaries-I20220222-1800.zip  Sravan Kumar Lakkimsetti3 years I20220223-0600eclipse.jdt.core.binaries-I20220223-0600.tar.gz  eclipse.jdt.core.binaries-I20220223-0600.tar.xz  eclipse.jdt.core.binaries-I20220223-0600.zip  Sravan Kumar Lakkimsetti3 years I20220223-1800eclipse.jdt.core.binaries-I20220223-1800.tar.gz  eclipse.jdt.core.binaries-I20220223-1800.tar.xz  eclipse.jdt.core.binaries-I20220223-1800.zip  Sravan Kumar Lakkimsetti3 years I20220225-1800eclipse.jdt.core.binaries-I20220225-1800.tar.gz  eclipse.jdt.core.binaries-I20220225-1800.tar.xz  eclipse.jdt.core.binaries-I20220225-1800.zip  Sravan Kumar Lakkimsetti3 years I20220226-0600eclipse.jdt.core.binaries-I20220226-0600.tar.gz  eclipse.jdt.core.binaries-I20220226-0600.tar.xz  eclipse.jdt.core.binaries-I20220226-0600.zip  Sravan Kumar Lakkimsetti3 years I20220226-1800eclipse.jdt.core.binaries-I20220226-1800.tar.gz  eclipse.jdt.core.binaries-I20220226-1800.tar.xz  eclipse.jdt.core.binaries-I20220226-1800.zip  Sravan Kumar Lakkimsetti3 years I20220227-0600eclipse.jdt.core.binaries-I20220227-0600.tar.gz  eclipse.jdt.core.binaries-I20220227-0600.tar.xz  eclipse.jdt.core.binaries-I20220227-0600.zip  Sravan Kumar Lakkimsetti3 years I20220227-1800eclipse.jdt.core.binaries-I20220227-1800.tar.gz  eclipse.jdt.core.binaries-I20220227-1800.tar.xz  eclipse.jdt.core.binaries-I20220227-1800.zip  Sravan Kumar Lakkimsetti3 years I20220228-0600eclipse.jdt.core.binaries-I20220228-0600.tar.gz  eclipse.jdt.core.binaries-I20220228-0600.tar.xz  eclipse.jdt.core.binaries-I20220228-0600.zip  Sravan Kumar Lakkimsetti3 years I20220228-1800eclipse.jdt.core.binaries-I20220228-1800.tar.gz  eclipse.jdt.core.binaries-I20220228-1800.tar.xz  eclipse.jdt.core.binaries-I20220228-1800.zip  Sravan Kumar Lakkimsetti3 years I20220301-0600eclipse.jdt.core.binaries-I20220301-0600.tar.gz  eclipse.jdt.core.binaries-I20220301-0600.tar.xz  eclipse.jdt.core.binaries-I20220301-0600.zip  Sravan Kumar Lakkimsetti3 years I20220301-1800eclipse.jdt.core.binaries-I20220301-1800.tar.gz  eclipse.jdt.core.binaries-I20220301-1800.tar.xz  eclipse.jdt.core.binaries-I20220301-1800.zip  Sravan Kumar Lakkimsetti3 years I20220302-0600eclipse.jdt.core.binaries-I20220302-0600.tar.gz  eclipse.jdt.core.binaries-I20220302-0600.tar.xz  eclipse.jdt.core.binaries-I20220302-0600.zip  Sravan Kumar Lakkimsetti3 years I20220302-1800eclipse.jdt.core.binaries-I20220302-1800.tar.gz  eclipse.jdt.core.binaries-I20220302-1800.tar.xz  eclipse.jdt.core.binaries-I20220302-1800.zip  Sravan Kumar Lakkimsetti3 years I20220308-0310eclipse.jdt.core.binaries-I20220308-0310.tar.gz  eclipse.jdt.core.binaries-I20220308-0310.tar.xz  eclipse.jdt.core.binaries-I20220308-0310.zip  Sravan Kumar Lakkimsetti3 years Y20211210-0210eclipse.jdt.core.binaries-Y20211210-0210.tar.gz  eclipse.jdt.core.binaries-Y20211210-0210.tar.xz  eclipse.jdt.core.binaries-Y20211210-0210.zip  Sravan Kumar Lakkimsetti3 years Y20211210-0600eclipse.jdt.core.binaries-Y20211210-0600.tar.gz  eclipse.jdt.core.binaries-Y20211210-0600.tar.xz  eclipse.jdt.core.binaries-Y20211210-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211211-0600eclipse.jdt.core.binaries-Y20211211-0600.tar.gz  eclipse.jdt.core.binaries-Y20211211-0600.tar.xz  eclipse.jdt.core.binaries-Y20211211-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211212-0600eclipse.jdt.core.binaries-Y20211212-0600.tar.gz  eclipse.jdt.core.binaries-Y20211212-0600.tar.xz  eclipse.jdt.core.binaries-Y20211212-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211213-0600eclipse.jdt.core.binaries-Y20211213-0600.tar.gz  eclipse.jdt.core.binaries-Y20211213-0600.tar.xz  eclipse.jdt.core.binaries-Y20211213-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211214-0600eclipse.jdt.core.binaries-Y20211214-0600.tar.gz  eclipse.jdt.core.binaries-Y20211214-0600.tar.xz  eclipse.jdt.core.binaries-Y20211214-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211215-0600eclipse.jdt.core.binaries-Y20211215-0600.tar.gz  eclipse.jdt.core.binaries-Y20211215-0600.tar.xz  eclipse.jdt.core.binaries-Y20211215-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211215-1140eclipse.jdt.core.binaries-Y20211215-1140.tar.gz  eclipse.jdt.core.binaries-Y20211215-1140.tar.xz  eclipse.jdt.core.binaries-Y20211215-1140.zip  Sravan Kumar Lakkimsetti3 years Y20211216-0600eclipse.jdt.core.binaries-Y20211216-0600.tar.gz  eclipse.jdt.core.binaries-Y20211216-0600.tar.xz  eclipse.jdt.core.binaries-Y20211216-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211217-0600eclipse.jdt.core.binaries-Y20211217-0600.tar.gz  eclipse.jdt.core.binaries-Y20211217-0600.tar.xz  eclipse.jdt.core.binaries-Y20211217-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211218-0600eclipse.jdt.core.binaries-Y20211218-0600.tar.gz  eclipse.jdt.core.binaries-Y20211218-0600.tar.xz  eclipse.jdt.core.binaries-Y20211218-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211219-0600eclipse.jdt.core.binaries-Y20211219-0600.tar.gz  eclipse.jdt.core.binaries-Y20211219-0600.tar.xz  eclipse.jdt.core.binaries-Y20211219-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211220-0600eclipse.jdt.core.binaries-Y20211220-0600.tar.gz  eclipse.jdt.core.binaries-Y20211220-0600.tar.xz  eclipse.jdt.core.binaries-Y20211220-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211221-0600eclipse.jdt.core.binaries-Y20211221-0600.tar.gz  eclipse.jdt.core.binaries-Y20211221-0600.tar.xz  eclipse.jdt.core.binaries-Y20211221-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211222-0600eclipse.jdt.core.binaries-Y20211222-0600.tar.gz  eclipse.jdt.core.binaries-Y20211222-0600.tar.xz  eclipse.jdt.core.binaries-Y20211222-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211222-0830eclipse.jdt.core.binaries-Y20211222-0830.tar.gz  eclipse.jdt.core.binaries-Y20211222-0830.tar.xz  eclipse.jdt.core.binaries-Y20211222-0830.zip  Sravan Kumar Lakkimsetti3 years Y20211222-0840eclipse.jdt.core.binaries-Y20211222-0840.tar.gz  eclipse.jdt.core.binaries-Y20211222-0840.tar.xz  eclipse.jdt.core.binaries-Y20211222-0840.zip  Sravan Kumar Lakkimsetti3 years Y20211222-1030eclipse.jdt.core.binaries-Y20211222-1030.tar.gz  eclipse.jdt.core.binaries-Y20211222-1030.tar.xz  eclipse.jdt.core.binaries-Y20211222-1030.zip  Sravan Kumar Lakkimsetti3 years Y20211223-0600eclipse.jdt.core.binaries-Y20211223-0600.tar.gz  eclipse.jdt.core.binaries-Y20211223-0600.tar.xz  eclipse.jdt.core.binaries-Y20211223-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211224-0600eclipse.jdt.core.binaries-Y20211224-0600.tar.gz  eclipse.jdt.core.binaries-Y20211224-0600.tar.xz  eclipse.jdt.core.binaries-Y20211224-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211226-0600eclipse.jdt.core.binaries-Y20211226-0600.tar.gz  eclipse.jdt.core.binaries-Y20211226-0600.tar.xz  eclipse.jdt.core.binaries-Y20211226-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211227-0600eclipse.jdt.core.binaries-Y20211227-0600.tar.gz  eclipse.jdt.core.binaries-Y20211227-0600.tar.xz  eclipse.jdt.core.binaries-Y20211227-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211228-0600eclipse.jdt.core.binaries-Y20211228-0600.tar.gz  eclipse.jdt.core.binaries-Y20211228-0600.tar.xz  eclipse.jdt.core.binaries-Y20211228-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211229-0600eclipse.jdt.core.binaries-Y20211229-0600.tar.gz  eclipse.jdt.core.binaries-Y20211229-0600.tar.xz  eclipse.jdt.core.binaries-Y20211229-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211230-0600eclipse.jdt.core.binaries-Y20211230-0600.tar.gz  eclipse.jdt.core.binaries-Y20211230-0600.tar.xz  eclipse.jdt.core.binaries-Y20211230-0600.zip  Sravan Kumar Lakkimsetti3 years Y20211231-0600eclipse.jdt.core.binaries-Y20211231-0600.tar.gz  eclipse.jdt.core.binaries-Y20211231-0600.tar.xz  eclipse.jdt.core.binaries-Y20211231-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220101-0600eclipse.jdt.core.binaries-Y20220101-0600.tar.gz  eclipse.jdt.core.binaries-Y20220101-0600.tar.xz  eclipse.jdt.core.binaries-Y20220101-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220102-0600eclipse.jdt.core.binaries-Y20220102-0600.tar.gz  eclipse.jdt.core.binaries-Y20220102-0600.tar.xz  eclipse.jdt.core.binaries-Y20220102-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220103-0600eclipse.jdt.core.binaries-Y20220103-0600.tar.gz  eclipse.jdt.core.binaries-Y20220103-0600.tar.xz  eclipse.jdt.core.binaries-Y20220103-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220104-0600eclipse.jdt.core.binaries-Y20220104-0600.tar.gz  eclipse.jdt.core.binaries-Y20220104-0600.tar.xz  eclipse.jdt.core.binaries-Y20220104-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220105-0600eclipse.jdt.core.binaries-Y20220105-0600.tar.gz  eclipse.jdt.core.binaries-Y20220105-0600.tar.xz  eclipse.jdt.core.binaries-Y20220105-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220106-0600eclipse.jdt.core.binaries-Y20220106-0600.tar.gz  eclipse.jdt.core.binaries-Y20220106-0600.tar.xz  eclipse.jdt.core.binaries-Y20220106-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220107-0600eclipse.jdt.core.binaries-Y20220107-0600.tar.gz  eclipse.jdt.core.binaries-Y20220107-0600.tar.xz  eclipse.jdt.core.binaries-Y20220107-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220108-0600eclipse.jdt.core.binaries-Y20220108-0600.tar.gz  eclipse.jdt.core.binaries-Y20220108-0600.tar.xz  eclipse.jdt.core.binaries-Y20220108-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220109-0600eclipse.jdt.core.binaries-Y20220109-0600.tar.gz  eclipse.jdt.core.binaries-Y20220109-0600.tar.xz  eclipse.jdt.core.binaries-Y20220109-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220110-0600eclipse.jdt.core.binaries-Y20220110-0600.tar.gz  eclipse.jdt.core.binaries-Y20220110-0600.tar.xz  eclipse.jdt.core.binaries-Y20220110-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220111-0600eclipse.jdt.core.binaries-Y20220111-0600.tar.gz  eclipse.jdt.core.binaries-Y20220111-0600.tar.xz  eclipse.jdt.core.binaries-Y20220111-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220112-0600eclipse.jdt.core.binaries-Y20220112-0600.tar.gz  eclipse.jdt.core.binaries-Y20220112-0600.tar.xz  eclipse.jdt.core.binaries-Y20220112-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220112-0630eclipse.jdt.core.binaries-Y20220112-0630.tar.gz  eclipse.jdt.core.binaries-Y20220112-0630.tar.xz  eclipse.jdt.core.binaries-Y20220112-0630.zip  Sravan Kumar Lakkimsetti3 years Y20220113-0600eclipse.jdt.core.binaries-Y20220113-0600.tar.gz  eclipse.jdt.core.binaries-Y20220113-0600.tar.xz  eclipse.jdt.core.binaries-Y20220113-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220113-0900eclipse.jdt.core.binaries-Y20220113-0900.tar.gz  eclipse.jdt.core.binaries-Y20220113-0900.tar.xz  eclipse.jdt.core.binaries-Y20220113-0900.zip  Sravan Kumar Lakkimsetti3 years Y20220114-0600eclipse.jdt.core.binaries-Y20220114-0600.tar.gz  eclipse.jdt.core.binaries-Y20220114-0600.tar.xz  eclipse.jdt.core.binaries-Y20220114-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220115-0600eclipse.jdt.core.binaries-Y20220115-0600.tar.gz  eclipse.jdt.core.binaries-Y20220115-0600.tar.xz  eclipse.jdt.core.binaries-Y20220115-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220116-0600eclipse.jdt.core.binaries-Y20220116-0600.tar.gz  eclipse.jdt.core.binaries-Y20220116-0600.tar.xz  eclipse.jdt.core.binaries-Y20220116-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220117-0600eclipse.jdt.core.binaries-Y20220117-0600.tar.gz  eclipse.jdt.core.binaries-Y20220117-0600.tar.xz  eclipse.jdt.core.binaries-Y20220117-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220118-0600eclipse.jdt.core.binaries-Y20220118-0600.tar.gz  eclipse.jdt.core.binaries-Y20220118-0600.tar.xz  eclipse.jdt.core.binaries-Y20220118-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220119-0600eclipse.jdt.core.binaries-Y20220119-0600.tar.gz  eclipse.jdt.core.binaries-Y20220119-0600.tar.xz  eclipse.jdt.core.binaries-Y20220119-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220120-0600eclipse.jdt.core.binaries-Y20220120-0600.tar.gz  eclipse.jdt.core.binaries-Y20220120-0600.tar.xz  eclipse.jdt.core.binaries-Y20220120-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220121-0600eclipse.jdt.core.binaries-Y20220121-0600.tar.gz  eclipse.jdt.core.binaries-Y20220121-0600.tar.xz  eclipse.jdt.core.binaries-Y20220121-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220122-0600eclipse.jdt.core.binaries-Y20220122-0600.tar.gz  eclipse.jdt.core.binaries-Y20220122-0600.tar.xz  eclipse.jdt.core.binaries-Y20220122-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220123-0600eclipse.jdt.core.binaries-Y20220123-0600.tar.gz  eclipse.jdt.core.binaries-Y20220123-0600.tar.xz  eclipse.jdt.core.binaries-Y20220123-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220124-0600eclipse.jdt.core.binaries-Y20220124-0600.tar.gz  eclipse.jdt.core.binaries-Y20220124-0600.tar.xz  eclipse.jdt.core.binaries-Y20220124-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220125-0600eclipse.jdt.core.binaries-Y20220125-0600.tar.gz  eclipse.jdt.core.binaries-Y20220125-0600.tar.xz  eclipse.jdt.core.binaries-Y20220125-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220126-0600eclipse.jdt.core.binaries-Y20220126-0600.tar.gz  eclipse.jdt.core.binaries-Y20220126-0600.tar.xz  eclipse.jdt.core.binaries-Y20220126-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220127-0600eclipse.jdt.core.binaries-Y20220127-0600.tar.gz  eclipse.jdt.core.binaries-Y20220127-0600.tar.xz  eclipse.jdt.core.binaries-Y20220127-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220128-0600eclipse.jdt.core.binaries-Y20220128-0600.tar.gz  eclipse.jdt.core.binaries-Y20220128-0600.tar.xz  eclipse.jdt.core.binaries-Y20220128-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220129-0600eclipse.jdt.core.binaries-Y20220129-0600.tar.gz  eclipse.jdt.core.binaries-Y20220129-0600.tar.xz  eclipse.jdt.core.binaries-Y20220129-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220201-0600eclipse.jdt.core.binaries-Y20220201-0600.tar.gz  eclipse.jdt.core.binaries-Y20220201-0600.tar.xz  eclipse.jdt.core.binaries-Y20220201-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220202-0600eclipse.jdt.core.binaries-Y20220202-0600.tar.gz  eclipse.jdt.core.binaries-Y20220202-0600.tar.xz  eclipse.jdt.core.binaries-Y20220202-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220202-0910eclipse.jdt.core.binaries-Y20220202-0910.tar.gz  eclipse.jdt.core.binaries-Y20220202-0910.tar.xz  eclipse.jdt.core.binaries-Y20220202-0910.zip  Sravan Kumar Lakkimsetti3 years Y20220203-0600eclipse.jdt.core.binaries-Y20220203-0600.tar.gz  eclipse.jdt.core.binaries-Y20220203-0600.tar.xz  eclipse.jdt.core.binaries-Y20220203-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220204-0620eclipse.jdt.core.binaries-Y20220204-0620.tar.gz  eclipse.jdt.core.binaries-Y20220204-0620.tar.xz  eclipse.jdt.core.binaries-Y20220204-0620.zip  Sravan Kumar Lakkimsetti3 years Y20220204-0750eclipse.jdt.core.binaries-Y20220204-0750.tar.gz  eclipse.jdt.core.binaries-Y20220204-0750.tar.xz  eclipse.jdt.core.binaries-Y20220204-0750.zip  Sravan Kumar Lakkimsetti3 years Y20220204-1200eclipse.jdt.core.binaries-Y20220204-1200.tar.gz  eclipse.jdt.core.binaries-Y20220204-1200.tar.xz  eclipse.jdt.core.binaries-Y20220204-1200.zip  Sravan Kumar Lakkimsetti3 years Y20220205-0600eclipse.jdt.core.binaries-Y20220205-0600.tar.gz  eclipse.jdt.core.binaries-Y20220205-0600.tar.xz  eclipse.jdt.core.binaries-Y20220205-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220206-0600eclipse.jdt.core.binaries-Y20220206-0600.tar.gz  eclipse.jdt.core.binaries-Y20220206-0600.tar.xz  eclipse.jdt.core.binaries-Y20220206-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220207-0600eclipse.jdt.core.binaries-Y20220207-0600.tar.gz  eclipse.jdt.core.binaries-Y20220207-0600.tar.xz  eclipse.jdt.core.binaries-Y20220207-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220208-0600eclipse.jdt.core.binaries-Y20220208-0600.tar.gz  eclipse.jdt.core.binaries-Y20220208-0600.tar.xz  eclipse.jdt.core.binaries-Y20220208-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220209-0600eclipse.jdt.core.binaries-Y20220209-0600.tar.gz  eclipse.jdt.core.binaries-Y20220209-0600.tar.xz  eclipse.jdt.core.binaries-Y20220209-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220210-0600eclipse.jdt.core.binaries-Y20220210-0600.tar.gz  eclipse.jdt.core.binaries-Y20220210-0600.tar.xz  eclipse.jdt.core.binaries-Y20220210-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220211-0800eclipse.jdt.core.binaries-Y20220211-0800.tar.gz  eclipse.jdt.core.binaries-Y20220211-0800.tar.xz  eclipse.jdt.core.binaries-Y20220211-0800.zip  Sravan Kumar Lakkimsetti3 years Y20220212-0800eclipse.jdt.core.binaries-Y20220212-0800.tar.gz  eclipse.jdt.core.binaries-Y20220212-0800.tar.xz  eclipse.jdt.core.binaries-Y20220212-0800.zip  Sravan Kumar Lakkimsetti3 years Y20220213-0900eclipse.jdt.core.binaries-Y20220213-0900.tar.gz  eclipse.jdt.core.binaries-Y20220213-0900.tar.xz  eclipse.jdt.core.binaries-Y20220213-0900.zip  Sravan Kumar Lakkimsetti3 years Y20220214-0600eclipse.jdt.core.binaries-Y20220214-0600.tar.gz  eclipse.jdt.core.binaries-Y20220214-0600.tar.xz  eclipse.jdt.core.binaries-Y20220214-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220215-0600eclipse.jdt.core.binaries-Y20220215-0600.tar.gz  eclipse.jdt.core.binaries-Y20220215-0600.tar.xz  eclipse.jdt.core.binaries-Y20220215-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220216-0600eclipse.jdt.core.binaries-Y20220216-0600.tar.gz  eclipse.jdt.core.binaries-Y20220216-0600.tar.xz  eclipse.jdt.core.binaries-Y20220216-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220217-0600eclipse.jdt.core.binaries-Y20220217-0600.tar.gz  eclipse.jdt.core.binaries-Y20220217-0600.tar.xz  eclipse.jdt.core.binaries-Y20220217-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220218-0600eclipse.jdt.core.binaries-Y20220218-0600.tar.gz  eclipse.jdt.core.binaries-Y20220218-0600.tar.xz  eclipse.jdt.core.binaries-Y20220218-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220219-0600eclipse.jdt.core.binaries-Y20220219-0600.tar.gz  eclipse.jdt.core.binaries-Y20220219-0600.tar.xz  eclipse.jdt.core.binaries-Y20220219-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220220-0600eclipse.jdt.core.binaries-Y20220220-0600.tar.gz  eclipse.jdt.core.binaries-Y20220220-0600.tar.xz  eclipse.jdt.core.binaries-Y20220220-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220221-0600eclipse.jdt.core.binaries-Y20220221-0600.tar.gz  eclipse.jdt.core.binaries-Y20220221-0600.tar.xz  eclipse.jdt.core.binaries-Y20220221-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220222-1350eclipse.jdt.core.binaries-Y20220222-1350.tar.gz  eclipse.jdt.core.binaries-Y20220222-1350.tar.xz  eclipse.jdt.core.binaries-Y20220222-1350.zip  Sravan Kumar Lakkimsetti3 years Y20220223-0600eclipse.jdt.core.binaries-Y20220223-0600.tar.gz  eclipse.jdt.core.binaries-Y20220223-0600.tar.xz  eclipse.jdt.core.binaries-Y20220223-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220224-0600eclipse.jdt.core.binaries-Y20220224-0600.tar.gz  eclipse.jdt.core.binaries-Y20220224-0600.tar.xz  eclipse.jdt.core.binaries-Y20220224-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220225-0600eclipse.jdt.core.binaries-Y20220225-0600.tar.gz  eclipse.jdt.core.binaries-Y20220225-0600.tar.xz  eclipse.jdt.core.binaries-Y20220225-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220226-0600eclipse.jdt.core.binaries-Y20220226-0600.tar.gz  eclipse.jdt.core.binaries-Y20220226-0600.tar.xz  eclipse.jdt.core.binaries-Y20220226-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220227-0600eclipse.jdt.core.binaries-Y20220227-0600.tar.gz  eclipse.jdt.core.binaries-Y20220227-0600.tar.xz  eclipse.jdt.core.binaries-Y20220227-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220228-0600eclipse.jdt.core.binaries-Y20220228-0600.tar.gz  eclipse.jdt.core.binaries-Y20220228-0600.tar.xz  eclipse.jdt.core.binaries-Y20220228-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220301-0600eclipse.jdt.core.binaries-Y20220301-0600.tar.gz  eclipse.jdt.core.binaries-Y20220301-0600.tar.xz  eclipse.jdt.core.binaries-Y20220301-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220302-0600eclipse.jdt.core.binaries-Y20220302-0600.tar.gz  eclipse.jdt.core.binaries-Y20220302-0600.tar.xz  eclipse.jdt.core.binaries-Y20220302-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220303-0600eclipse.jdt.core.binaries-Y20220303-0600.tar.gz  eclipse.jdt.core.binaries-Y20220303-0600.tar.xz  eclipse.jdt.core.binaries-Y20220303-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220304-0600eclipse.jdt.core.binaries-Y20220304-0600.tar.gz  eclipse.jdt.core.binaries-Y20220304-0600.tar.xz  eclipse.jdt.core.binaries-Y20220304-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220304-0750eclipse.jdt.core.binaries-Y20220304-0750.tar.gz  eclipse.jdt.core.binaries-Y20220304-0750.tar.xz  eclipse.jdt.core.binaries-Y20220304-0750.zip  Sravan Kumar Lakkimsetti3 years Y20220305-0600eclipse.jdt.core.binaries-Y20220305-0600.tar.gz  eclipse.jdt.core.binaries-Y20220305-0600.tar.xz  eclipse.jdt.core.binaries-Y20220305-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220306-0600eclipse.jdt.core.binaries-Y20220306-0600.tar.gz  eclipse.jdt.core.binaries-Y20220306-0600.tar.xz  eclipse.jdt.core.binaries-Y20220306-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220307-0600eclipse.jdt.core.binaries-Y20220307-0600.tar.gz  eclipse.jdt.core.binaries-Y20220307-0600.tar.xz  eclipse.jdt.core.binaries-Y20220307-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220308-0600eclipse.jdt.core.binaries-Y20220308-0600.tar.gz  eclipse.jdt.core.binaries-Y20220308-0600.tar.xz  eclipse.jdt.core.binaries-Y20220308-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220308-0730eclipse.jdt.core.binaries-Y20220308-0730.tar.gz  eclipse.jdt.core.binaries-Y20220308-0730.tar.xz  eclipse.jdt.core.binaries-Y20220308-0730.zip  Sravan Kumar Lakkimsetti3 years Y20220309-0600eclipse.jdt.core.binaries-Y20220309-0600.tar.gz  eclipse.jdt.core.binaries-Y20220309-0600.tar.xz  eclipse.jdt.core.binaries-Y20220309-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220310-0600eclipse.jdt.core.binaries-Y20220310-0600.tar.gz  eclipse.jdt.core.binaries-Y20220310-0600.tar.xz  eclipse.jdt.core.binaries-Y20220310-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220311-0600eclipse.jdt.core.binaries-Y20220311-0600.tar.gz  eclipse.jdt.core.binaries-Y20220311-0600.tar.xz  eclipse.jdt.core.binaries-Y20220311-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220312-0600eclipse.jdt.core.binaries-Y20220312-0600.tar.gz  eclipse.jdt.core.binaries-Y20220312-0600.tar.xz  eclipse.jdt.core.binaries-Y20220312-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220313-0600eclipse.jdt.core.binaries-Y20220313-0600.tar.gz  eclipse.jdt.core.binaries-Y20220313-0600.tar.xz  eclipse.jdt.core.binaries-Y20220313-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220314-0600eclipse.jdt.core.binaries-Y20220314-0600.tar.gz  eclipse.jdt.core.binaries-Y20220314-0600.tar.xz  eclipse.jdt.core.binaries-Y20220314-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220314-1250eclipse.jdt.core.binaries-Y20220314-1250.tar.gz  eclipse.jdt.core.binaries-Y20220314-1250.tar.xz  eclipse.jdt.core.binaries-Y20220314-1250.zip  Sravan Kumar Lakkimsetti3 years Y20220315-0600eclipse.jdt.core.binaries-Y20220315-0600.tar.gz  eclipse.jdt.core.binaries-Y20220315-0600.tar.xz  eclipse.jdt.core.binaries-Y20220315-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220316-0600eclipse.jdt.core.binaries-Y20220316-0600.tar.gz  eclipse.jdt.core.binaries-Y20220316-0600.tar.xz  eclipse.jdt.core.binaries-Y20220316-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220317-0600eclipse.jdt.core.binaries-Y20220317-0600.tar.gz  eclipse.jdt.core.binaries-Y20220317-0600.tar.xz  eclipse.jdt.core.binaries-Y20220317-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220318-0600eclipse.jdt.core.binaries-Y20220318-0600.tar.gz  eclipse.jdt.core.binaries-Y20220318-0600.tar.xz  eclipse.jdt.core.binaries-Y20220318-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220319-0600eclipse.jdt.core.binaries-Y20220319-0600.tar.gz  eclipse.jdt.core.binaries-Y20220319-0600.tar.xz  eclipse.jdt.core.binaries-Y20220319-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220320-0600eclipse.jdt.core.binaries-Y20220320-0600.tar.gz  eclipse.jdt.core.binaries-Y20220320-0600.tar.xz  eclipse.jdt.core.binaries-Y20220320-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220321-0600eclipse.jdt.core.binaries-Y20220321-0600.tar.gz  eclipse.jdt.core.binaries-Y20220321-0600.tar.xz  eclipse.jdt.core.binaries-Y20220321-0600.zip  Sravan Kumar Lakkimsetti3 years Y20220322-0730eclipse.jdt.core.binaries-Y20220322-0730.tar.gz  eclipse.jdt.core.binaries-Y20220322-0730.tar.xz  eclipse.jdt.core.binaries-Y20220322-0730.zip  Sravan Kumar Lakkimsetti3 years Y20220323-0540eclipse.jdt.core.binaries-Y20220323-0540.tar.gz  eclipse.jdt.core.binaries-Y20220323-0540.tar.xz  eclipse.jdt.core.binaries-Y20220323-0540.zip  Sravan Kumar Lakkimsetti3 years S4_22_0_RC2eclipse.jdt.core.binaries-S4_22_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_22_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_22_0_RC2.zip  Eclipse Releng Bot3 years S4_22_0_RC1eclipse.jdt.core.binaries-S4_22_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_22_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_22_0_RC1.zip  Eclipse Releng Bot3 years S4_22_0_M3eclipse.jdt.core.binaries-S4_22_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_22_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_22_0_M3.zip  Eclipse Releng Bot3 years S4_22_0_M1eclipse.jdt.core.binaries-S4_22_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_22_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_22_0_M1.zip  Eclipse Releng Bot3 years R4_21eclipse.jdt.core.binaries-R4_21.tar.gz  eclipse.jdt.core.binaries-R4_21.tar.xz  eclipse.jdt.core.binaries-R4_21.zip  Eclipse Releng Bot3 years S4_21_0_RC2aeclipse.jdt.core.binaries-S4_21_0_RC2a.tar.gz  eclipse.jdt.core.binaries-S4_21_0_RC2a.tar.xz  eclipse.jdt.core.binaries-S4_21_0_RC2a.zip  Eclipse Releng Bot3 years I20210906-0610eclipse.jdt.core.binaries-I20210906-0610.tar.gz  eclipse.jdt.core.binaries-I20210906-0610.tar.xz  eclipse.jdt.core.binaries-I20210906-0610.zip  Kit Lo3 years I20210906-0820eclipse.jdt.core.binaries-I20210906-0820.tar.gz  eclipse.jdt.core.binaries-I20210906-0820.tar.xz  eclipse.jdt.core.binaries-I20210906-0820.zip  Kit Lo3 years I20210906-1000eclipse.jdt.core.binaries-I20210906-1000.tar.gz  eclipse.jdt.core.binaries-I20210906-1000.tar.xz  eclipse.jdt.core.binaries-I20210906-1000.zip  Kit Lo3 years I20210906-1800eclipse.jdt.core.binaries-I20210906-1800.tar.gz  eclipse.jdt.core.binaries-I20210906-1800.tar.xz  eclipse.jdt.core.binaries-I20210906-1800.zip  Kit Lo3 years I20210907-1800eclipse.jdt.core.binaries-I20210907-1800.tar.gz  eclipse.jdt.core.binaries-I20210907-1800.tar.xz  eclipse.jdt.core.binaries-I20210907-1800.zip  Kit Lo3 years I20210908-1800eclipse.jdt.core.binaries-I20210908-1800.tar.gz  eclipse.jdt.core.binaries-I20210908-1800.tar.xz  eclipse.jdt.core.binaries-I20210908-1800.zip  Kit Lo3 years I20210909-1800eclipse.jdt.core.binaries-I20210909-1800.tar.gz  eclipse.jdt.core.binaries-I20210909-1800.tar.xz  eclipse.jdt.core.binaries-I20210909-1800.zip  Kit Lo3 years I20210910-1800eclipse.jdt.core.binaries-I20210910-1800.tar.gz  eclipse.jdt.core.binaries-I20210910-1800.tar.xz  eclipse.jdt.core.binaries-I20210910-1800.zip  Kit Lo3 years I20210911-1800eclipse.jdt.core.binaries-I20210911-1800.tar.gz  eclipse.jdt.core.binaries-I20210911-1800.tar.xz  eclipse.jdt.core.binaries-I20210911-1800.zip  Kit Lo3 years I20210913-2050eclipse.jdt.core.binaries-I20210913-2050.tar.gz  eclipse.jdt.core.binaries-I20210913-2050.tar.xz  eclipse.jdt.core.binaries-I20210913-2050.zip  Kit Lo3 years I20210914-1800eclipse.jdt.core.binaries-I20210914-1800.tar.gz  eclipse.jdt.core.binaries-I20210914-1800.tar.xz  eclipse.jdt.core.binaries-I20210914-1800.zip  Kit Lo3 years I20210915-0150eclipse.jdt.core.binaries-I20210915-0150.tar.gz  eclipse.jdt.core.binaries-I20210915-0150.tar.xz  eclipse.jdt.core.binaries-I20210915-0150.zip  Kit Lo3 years I20210915-0510eclipse.jdt.core.binaries-I20210915-0510.tar.gz  eclipse.jdt.core.binaries-I20210915-0510.tar.xz  eclipse.jdt.core.binaries-I20210915-0510.zip  Kit Lo3 years I20210915-0700eclipse.jdt.core.binaries-I20210915-0700.tar.gz  eclipse.jdt.core.binaries-I20210915-0700.tar.xz  eclipse.jdt.core.binaries-I20210915-0700.zip  Kit Lo3 years I20210915-1800eclipse.jdt.core.binaries-I20210915-1800.tar.gz  eclipse.jdt.core.binaries-I20210915-1800.tar.xz  eclipse.jdt.core.binaries-I20210915-1800.zip  Kit Lo3 years I20210916-1800eclipse.jdt.core.binaries-I20210916-1800.tar.gz  eclipse.jdt.core.binaries-I20210916-1800.tar.xz  eclipse.jdt.core.binaries-I20210916-1800.zip  Kit Lo3 years I20210916-2150eclipse.jdt.core.binaries-I20210916-2150.tar.gz  eclipse.jdt.core.binaries-I20210916-2150.tar.xz  eclipse.jdt.core.binaries-I20210916-2150.zip  Kit Lo3 years I20210917-0000eclipse.jdt.core.binaries-I20210917-0000.tar.gz  eclipse.jdt.core.binaries-I20210917-0000.tar.xz  eclipse.jdt.core.binaries-I20210917-0000.zip  Kit Lo3 years I20210917-1800eclipse.jdt.core.binaries-I20210917-1800.tar.gz  eclipse.jdt.core.binaries-I20210917-1800.tar.xz  eclipse.jdt.core.binaries-I20210917-1800.zip  Kit Lo3 years I20210918-1800eclipse.jdt.core.binaries-I20210918-1800.tar.gz  eclipse.jdt.core.binaries-I20210918-1800.tar.xz  eclipse.jdt.core.binaries-I20210918-1800.zip  Kit Lo3 years I20210919-0120eclipse.jdt.core.binaries-I20210919-0120.tar.gz  eclipse.jdt.core.binaries-I20210919-0120.tar.xz  eclipse.jdt.core.binaries-I20210919-0120.zip  Kit Lo3 years I20210919-1800eclipse.jdt.core.binaries-I20210919-1800.tar.gz  eclipse.jdt.core.binaries-I20210919-1800.tar.xz  eclipse.jdt.core.binaries-I20210919-1800.zip  Kit Lo3 years I20210920-1800eclipse.jdt.core.binaries-I20210920-1800.tar.gz  eclipse.jdt.core.binaries-I20210920-1800.tar.xz  eclipse.jdt.core.binaries-I20210920-1800.zip  Kit Lo3 years I20210921-1800eclipse.jdt.core.binaries-I20210921-1800.tar.gz  eclipse.jdt.core.binaries-I20210921-1800.tar.xz  eclipse.jdt.core.binaries-I20210921-1800.zip  Kit Lo3 years I20210922-1800eclipse.jdt.core.binaries-I20210922-1800.tar.gz  eclipse.jdt.core.binaries-I20210922-1800.tar.xz  eclipse.jdt.core.binaries-I20210922-1800.zip  Kit Lo3 years I20210923-1800eclipse.jdt.core.binaries-I20210923-1800.tar.gz  eclipse.jdt.core.binaries-I20210923-1800.tar.xz  eclipse.jdt.core.binaries-I20210923-1800.zip  Kit Lo3 years I20210924-0200eclipse.jdt.core.binaries-I20210924-0200.tar.gz  eclipse.jdt.core.binaries-I20210924-0200.tar.xz  eclipse.jdt.core.binaries-I20210924-0200.zip  Kit Lo3 years I20210924-1800eclipse.jdt.core.binaries-I20210924-1800.tar.gz  eclipse.jdt.core.binaries-I20210924-1800.tar.xz  eclipse.jdt.core.binaries-I20210924-1800.zip  Kit Lo3 years I20210925-0600eclipse.jdt.core.binaries-I20210925-0600.tar.gz  eclipse.jdt.core.binaries-I20210925-0600.tar.xz  eclipse.jdt.core.binaries-I20210925-0600.zip  Kit Lo3 years I20210925-1800eclipse.jdt.core.binaries-I20210925-1800.tar.gz  eclipse.jdt.core.binaries-I20210925-1800.tar.xz  eclipse.jdt.core.binaries-I20210925-1800.zip  Kit Lo3 years I20210926-0600eclipse.jdt.core.binaries-I20210926-0600.tar.gz  eclipse.jdt.core.binaries-I20210926-0600.tar.xz  eclipse.jdt.core.binaries-I20210926-0600.zip  Kit Lo3 years I20210926-1800eclipse.jdt.core.binaries-I20210926-1800.tar.gz  eclipse.jdt.core.binaries-I20210926-1800.tar.xz  eclipse.jdt.core.binaries-I20210926-1800.zip  Kit Lo3 years I20210927-0600eclipse.jdt.core.binaries-I20210927-0600.tar.gz  eclipse.jdt.core.binaries-I20210927-0600.tar.xz  eclipse.jdt.core.binaries-I20210927-0600.zip  Kit Lo3 years I20210927-1800eclipse.jdt.core.binaries-I20210927-1800.tar.gz  eclipse.jdt.core.binaries-I20210927-1800.tar.xz  eclipse.jdt.core.binaries-I20210927-1800.zip  Kit Lo3 years I20210928-0600eclipse.jdt.core.binaries-I20210928-0600.tar.gz  eclipse.jdt.core.binaries-I20210928-0600.tar.xz  eclipse.jdt.core.binaries-I20210928-0600.zip  Kit Lo3 years I20210928-1800eclipse.jdt.core.binaries-I20210928-1800.tar.gz  eclipse.jdt.core.binaries-I20210928-1800.tar.xz  eclipse.jdt.core.binaries-I20210928-1800.zip  Kit Lo3 years I20210929-0600eclipse.jdt.core.binaries-I20210929-0600.tar.gz  eclipse.jdt.core.binaries-I20210929-0600.tar.xz  eclipse.jdt.core.binaries-I20210929-0600.zip  Kit Lo3 years I20210929-1800eclipse.jdt.core.binaries-I20210929-1800.tar.gz  eclipse.jdt.core.binaries-I20210929-1800.tar.xz  eclipse.jdt.core.binaries-I20210929-1800.zip  Kit Lo3 years I20211001-1800eclipse.jdt.core.binaries-I20211001-1800.tar.gz  eclipse.jdt.core.binaries-I20211001-1800.tar.xz  eclipse.jdt.core.binaries-I20211001-1800.zip  Kit Lo3 years I20211002-0220eclipse.jdt.core.binaries-I20211002-0220.tar.gz  eclipse.jdt.core.binaries-I20211002-0220.tar.xz  eclipse.jdt.core.binaries-I20211002-0220.zip  Kit Lo3 years I20211002-1800eclipse.jdt.core.binaries-I20211002-1800.tar.gz  eclipse.jdt.core.binaries-I20211002-1800.tar.xz  eclipse.jdt.core.binaries-I20211002-1800.zip  Kit Lo3 years I20211003-1800eclipse.jdt.core.binaries-I20211003-1800.tar.gz  eclipse.jdt.core.binaries-I20211003-1800.tar.xz  eclipse.jdt.core.binaries-I20211003-1800.zip  Kit Lo3 years I20211004-2030eclipse.jdt.core.binaries-I20211004-2030.tar.gz  eclipse.jdt.core.binaries-I20211004-2030.tar.xz  eclipse.jdt.core.binaries-I20211004-2030.zip  Kit Lo3 years I20211005-1800eclipse.jdt.core.binaries-I20211005-1800.tar.gz  eclipse.jdt.core.binaries-I20211005-1800.tar.xz  eclipse.jdt.core.binaries-I20211005-1800.zip  Kit Lo3 years I20211006-1800eclipse.jdt.core.binaries-I20211006-1800.tar.gz  eclipse.jdt.core.binaries-I20211006-1800.tar.xz  eclipse.jdt.core.binaries-I20211006-1800.zip  Kit Lo3 years I20211007-0350eclipse.jdt.core.binaries-I20211007-0350.tar.gz  eclipse.jdt.core.binaries-I20211007-0350.tar.xz  eclipse.jdt.core.binaries-I20211007-0350.zip  Kit Lo3 years I20211007-1800eclipse.jdt.core.binaries-I20211007-1800.tar.gz  eclipse.jdt.core.binaries-I20211007-1800.tar.xz  eclipse.jdt.core.binaries-I20211007-1800.zip  Kit Lo3 years I20211008-1800eclipse.jdt.core.binaries-I20211008-1800.tar.gz  eclipse.jdt.core.binaries-I20211008-1800.tar.xz  eclipse.jdt.core.binaries-I20211008-1800.zip  Kit Lo3 years I20211009-1800eclipse.jdt.core.binaries-I20211009-1800.tar.gz  eclipse.jdt.core.binaries-I20211009-1800.tar.xz  eclipse.jdt.core.binaries-I20211009-1800.zip  Kit Lo3 years I20211010-1800eclipse.jdt.core.binaries-I20211010-1800.tar.gz  eclipse.jdt.core.binaries-I20211010-1800.tar.xz  eclipse.jdt.core.binaries-I20211010-1800.zip  Kit Lo3 years I20211011-1800eclipse.jdt.core.binaries-I20211011-1800.tar.gz  eclipse.jdt.core.binaries-I20211011-1800.tar.xz  eclipse.jdt.core.binaries-I20211011-1800.zip  Kit Lo3 years I20211012-1800eclipse.jdt.core.binaries-I20211012-1800.tar.gz  eclipse.jdt.core.binaries-I20211012-1800.tar.xz  eclipse.jdt.core.binaries-I20211012-1800.zip  Kit Lo3 years I20211013-1800eclipse.jdt.core.binaries-I20211013-1800.tar.gz  eclipse.jdt.core.binaries-I20211013-1800.tar.xz  eclipse.jdt.core.binaries-I20211013-1800.zip  Kit Lo3 years I20211014-1800eclipse.jdt.core.binaries-I20211014-1800.tar.gz  eclipse.jdt.core.binaries-I20211014-1800.tar.xz  eclipse.jdt.core.binaries-I20211014-1800.zip  Kit Lo3 years I20211015-1800eclipse.jdt.core.binaries-I20211015-1800.tar.gz  eclipse.jdt.core.binaries-I20211015-1800.tar.xz  eclipse.jdt.core.binaries-I20211015-1800.zip  Kit Lo3 years I20211016-1800eclipse.jdt.core.binaries-I20211016-1800.tar.gz  eclipse.jdt.core.binaries-I20211016-1800.tar.xz  eclipse.jdt.core.binaries-I20211016-1800.zip  Kit Lo3 years I20211017-1800eclipse.jdt.core.binaries-I20211017-1800.tar.gz  eclipse.jdt.core.binaries-I20211017-1800.tar.xz  eclipse.jdt.core.binaries-I20211017-1800.zip  Kit Lo3 years I20211018-1800eclipse.jdt.core.binaries-I20211018-1800.tar.gz  eclipse.jdt.core.binaries-I20211018-1800.tar.xz  eclipse.jdt.core.binaries-I20211018-1800.zip  Kit Lo3 years I20211019-1800eclipse.jdt.core.binaries-I20211019-1800.tar.gz  eclipse.jdt.core.binaries-I20211019-1800.tar.xz  eclipse.jdt.core.binaries-I20211019-1800.zip  Kit Lo3 years I20211020-1800eclipse.jdt.core.binaries-I20211020-1800.tar.gz  eclipse.jdt.core.binaries-I20211020-1800.tar.xz  eclipse.jdt.core.binaries-I20211020-1800.zip  Kit Lo3 years I20211021-1800eclipse.jdt.core.binaries-I20211021-1800.tar.gz  eclipse.jdt.core.binaries-I20211021-1800.tar.xz  eclipse.jdt.core.binaries-I20211021-1800.zip  Kit Lo3 years I20211022-0130eclipse.jdt.core.binaries-I20211022-0130.tar.gz  eclipse.jdt.core.binaries-I20211022-0130.tar.xz  eclipse.jdt.core.binaries-I20211022-0130.zip  Kit Lo3 years I20211022-0920eclipse.jdt.core.binaries-I20211022-0920.tar.gz  eclipse.jdt.core.binaries-I20211022-0920.tar.xz  eclipse.jdt.core.binaries-I20211022-0920.zip  Kit Lo3 years I20211022-1800eclipse.jdt.core.binaries-I20211022-1800.tar.gz  eclipse.jdt.core.binaries-I20211022-1800.tar.xz  eclipse.jdt.core.binaries-I20211022-1800.zip  Kit Lo3 years I20211023-1800eclipse.jdt.core.binaries-I20211023-1800.tar.gz  eclipse.jdt.core.binaries-I20211023-1800.tar.xz  eclipse.jdt.core.binaries-I20211023-1800.zip  Kit Lo3 years I20211024-1800eclipse.jdt.core.binaries-I20211024-1800.tar.gz  eclipse.jdt.core.binaries-I20211024-1800.tar.xz  eclipse.jdt.core.binaries-I20211024-1800.zip  Kit Lo3 years I20211025-1800eclipse.jdt.core.binaries-I20211025-1800.tar.gz  eclipse.jdt.core.binaries-I20211025-1800.tar.xz  eclipse.jdt.core.binaries-I20211025-1800.zip  Kit Lo3 years I20211026-1800eclipse.jdt.core.binaries-I20211026-1800.tar.gz  eclipse.jdt.core.binaries-I20211026-1800.tar.xz  eclipse.jdt.core.binaries-I20211026-1800.zip  Kit Lo3 years I20211027-1800eclipse.jdt.core.binaries-I20211027-1800.tar.gz  eclipse.jdt.core.binaries-I20211027-1800.tar.xz  eclipse.jdt.core.binaries-I20211027-1800.zip  Kit Lo3 years I20211028-1800eclipse.jdt.core.binaries-I20211028-1800.tar.gz  eclipse.jdt.core.binaries-I20211028-1800.tar.xz  eclipse.jdt.core.binaries-I20211028-1800.zip  Kit Lo3 years I20211029-1800eclipse.jdt.core.binaries-I20211029-1800.tar.gz  eclipse.jdt.core.binaries-I20211029-1800.tar.xz  eclipse.jdt.core.binaries-I20211029-1800.zip  Kit Lo3 years I20211030-1800eclipse.jdt.core.binaries-I20211030-1800.tar.gz  eclipse.jdt.core.binaries-I20211030-1800.tar.xz  eclipse.jdt.core.binaries-I20211030-1800.zip  Kit Lo3 years I20211031-1800eclipse.jdt.core.binaries-I20211031-1800.tar.gz  eclipse.jdt.core.binaries-I20211031-1800.tar.xz  eclipse.jdt.core.binaries-I20211031-1800.zip  Kit Lo3 years I20211101-1800eclipse.jdt.core.binaries-I20211101-1800.tar.gz  eclipse.jdt.core.binaries-I20211101-1800.tar.xz  eclipse.jdt.core.binaries-I20211101-1800.zip  Kit Lo3 years I20211102-1020eclipse.jdt.core.binaries-I20211102-1020.tar.gz  eclipse.jdt.core.binaries-I20211102-1020.tar.xz  eclipse.jdt.core.binaries-I20211102-1020.zip  Kit Lo3 years I20211102-1800eclipse.jdt.core.binaries-I20211102-1800.tar.gz  eclipse.jdt.core.binaries-I20211102-1800.tar.xz  eclipse.jdt.core.binaries-I20211102-1800.zip  Kit Lo3 years I20211103-0020eclipse.jdt.core.binaries-I20211103-0020.tar.gz  eclipse.jdt.core.binaries-I20211103-0020.tar.xz  eclipse.jdt.core.binaries-I20211103-0020.zip  Kit Lo3 years I20211103-1800eclipse.jdt.core.binaries-I20211103-1800.tar.gz  eclipse.jdt.core.binaries-I20211103-1800.tar.xz  eclipse.jdt.core.binaries-I20211103-1800.zip  Kit Lo3 years I20211104-1800eclipse.jdt.core.binaries-I20211104-1800.tar.gz  eclipse.jdt.core.binaries-I20211104-1800.tar.xz  eclipse.jdt.core.binaries-I20211104-1800.zip  Kit Lo3 years I20211105-1800eclipse.jdt.core.binaries-I20211105-1800.tar.gz  eclipse.jdt.core.binaries-I20211105-1800.tar.xz  eclipse.jdt.core.binaries-I20211105-1800.zip  Kit Lo3 years I20211106-0600eclipse.jdt.core.binaries-I20211106-0600.tar.gz  eclipse.jdt.core.binaries-I20211106-0600.tar.xz  eclipse.jdt.core.binaries-I20211106-0600.zip  Kit Lo3 years I20211106-1800eclipse.jdt.core.binaries-I20211106-1800.tar.gz  eclipse.jdt.core.binaries-I20211106-1800.tar.xz  eclipse.jdt.core.binaries-I20211106-1800.zip  Kit Lo3 years I20211107-0600eclipse.jdt.core.binaries-I20211107-0600.tar.gz  eclipse.jdt.core.binaries-I20211107-0600.tar.xz  eclipse.jdt.core.binaries-I20211107-0600.zip  Kit Lo3 years I20211107-1800eclipse.jdt.core.binaries-I20211107-1800.tar.gz  eclipse.jdt.core.binaries-I20211107-1800.tar.xz  eclipse.jdt.core.binaries-I20211107-1800.zip  Kit Lo3 years I20211108-0620eclipse.jdt.core.binaries-I20211108-0620.tar.gz  eclipse.jdt.core.binaries-I20211108-0620.tar.xz  eclipse.jdt.core.binaries-I20211108-0620.zip  Kit Lo3 years I20211108-1800eclipse.jdt.core.binaries-I20211108-1800.tar.gz  eclipse.jdt.core.binaries-I20211108-1800.tar.xz  eclipse.jdt.core.binaries-I20211108-1800.zip  Kit Lo3 years I20211109-0720eclipse.jdt.core.binaries-I20211109-0720.tar.gz  eclipse.jdt.core.binaries-I20211109-0720.tar.xz  eclipse.jdt.core.binaries-I20211109-0720.zip  Kit Lo3 years I20211109-0840eclipse.jdt.core.binaries-I20211109-0840.tar.gz  eclipse.jdt.core.binaries-I20211109-0840.tar.xz  eclipse.jdt.core.binaries-I20211109-0840.zip  Kit Lo3 years I20211109-1800eclipse.jdt.core.binaries-I20211109-1800.tar.gz  eclipse.jdt.core.binaries-I20211109-1800.tar.xz  eclipse.jdt.core.binaries-I20211109-1800.zip  Kit Lo3 years I20211110-0600eclipse.jdt.core.binaries-I20211110-0600.tar.gz  eclipse.jdt.core.binaries-I20211110-0600.tar.xz  eclipse.jdt.core.binaries-I20211110-0600.zip  Kit Lo3 years I20211110-0750eclipse.jdt.core.binaries-I20211110-0750.tar.gz  eclipse.jdt.core.binaries-I20211110-0750.tar.xz  eclipse.jdt.core.binaries-I20211110-0750.zip  Kit Lo3 years I20211110-1800eclipse.jdt.core.binaries-I20211110-1800.tar.gz  eclipse.jdt.core.binaries-I20211110-1800.tar.xz  eclipse.jdt.core.binaries-I20211110-1800.zip  Kit Lo3 years I20211111-0910eclipse.jdt.core.binaries-I20211111-0910.tar.gz  eclipse.jdt.core.binaries-I20211111-0910.tar.xz  eclipse.jdt.core.binaries-I20211111-0910.zip  Kit Lo3 years I20211112-2030eclipse.jdt.core.binaries-I20211112-2030.tar.gz  eclipse.jdt.core.binaries-I20211112-2030.tar.xz  eclipse.jdt.core.binaries-I20211112-2030.zip  Kit Lo3 years I20211113-0600eclipse.jdt.core.binaries-I20211113-0600.tar.gz  eclipse.jdt.core.binaries-I20211113-0600.tar.xz  eclipse.jdt.core.binaries-I20211113-0600.zip  Kit Lo3 years I20211113-1800eclipse.jdt.core.binaries-I20211113-1800.tar.gz  eclipse.jdt.core.binaries-I20211113-1800.tar.xz  eclipse.jdt.core.binaries-I20211113-1800.zip  Kit Lo3 years I20211114-0600eclipse.jdt.core.binaries-I20211114-0600.tar.gz  eclipse.jdt.core.binaries-I20211114-0600.tar.xz  eclipse.jdt.core.binaries-I20211114-0600.zip  Kit Lo3 years I20211114-1800eclipse.jdt.core.binaries-I20211114-1800.tar.gz  eclipse.jdt.core.binaries-I20211114-1800.tar.xz  eclipse.jdt.core.binaries-I20211114-1800.zip  Kit Lo3 years I20211115-0600eclipse.jdt.core.binaries-I20211115-0600.tar.gz  eclipse.jdt.core.binaries-I20211115-0600.tar.xz  eclipse.jdt.core.binaries-I20211115-0600.zip  Kit Lo3 years I20211116-0000eclipse.jdt.core.binaries-I20211116-0000.tar.gz  eclipse.jdt.core.binaries-I20211116-0000.tar.xz  eclipse.jdt.core.binaries-I20211116-0000.zip  Kit Lo3 years I20211116-0600eclipse.jdt.core.binaries-I20211116-0600.tar.gz  eclipse.jdt.core.binaries-I20211116-0600.tar.xz  eclipse.jdt.core.binaries-I20211116-0600.zip  Kit Lo3 years I20211116-1800eclipse.jdt.core.binaries-I20211116-1800.tar.gz  eclipse.jdt.core.binaries-I20211116-1800.tar.xz  eclipse.jdt.core.binaries-I20211116-1800.zip  Kit Lo3 years I20211117-0600eclipse.jdt.core.binaries-I20211117-0600.tar.gz  eclipse.jdt.core.binaries-I20211117-0600.tar.xz  eclipse.jdt.core.binaries-I20211117-0600.zip  Kit Lo3 years I20211117-0920eclipse.jdt.core.binaries-I20211117-0920.tar.gz  eclipse.jdt.core.binaries-I20211117-0920.tar.xz  eclipse.jdt.core.binaries-I20211117-0920.zip  Kit Lo3 years I20211117-1830eclipse.jdt.core.binaries-I20211117-1830.tar.gz  eclipse.jdt.core.binaries-I20211117-1830.tar.xz  eclipse.jdt.core.binaries-I20211117-1830.zip  Kit Lo3 years I20211119-1800eclipse.jdt.core.binaries-I20211119-1800.tar.gz  eclipse.jdt.core.binaries-I20211119-1800.tar.xz  eclipse.jdt.core.binaries-I20211119-1800.zip  Kit Lo3 years I20211120-0600eclipse.jdt.core.binaries-I20211120-0600.tar.gz  eclipse.jdt.core.binaries-I20211120-0600.tar.xz  eclipse.jdt.core.binaries-I20211120-0600.zip  Kit Lo3 years I20211120-1800eclipse.jdt.core.binaries-I20211120-1800.tar.gz  eclipse.jdt.core.binaries-I20211120-1800.tar.xz  eclipse.jdt.core.binaries-I20211120-1800.zip  Kit Lo3 years I20211121-0600eclipse.jdt.core.binaries-I20211121-0600.tar.gz  eclipse.jdt.core.binaries-I20211121-0600.tar.xz  eclipse.jdt.core.binaries-I20211121-0600.zip  Kit Lo3 years I20211121-1800eclipse.jdt.core.binaries-I20211121-1800.tar.gz  eclipse.jdt.core.binaries-I20211121-1800.tar.xz  eclipse.jdt.core.binaries-I20211121-1800.zip  Kit Lo3 years I20211122-0820eclipse.jdt.core.binaries-I20211122-0820.tar.gz  eclipse.jdt.core.binaries-I20211122-0820.tar.xz  eclipse.jdt.core.binaries-I20211122-0820.zip  Kit Lo3 years I20211122-1800eclipse.jdt.core.binaries-I20211122-1800.tar.gz  eclipse.jdt.core.binaries-I20211122-1800.tar.xz  eclipse.jdt.core.binaries-I20211122-1800.zip  Kit Lo3 years I20211123-0600eclipse.jdt.core.binaries-I20211123-0600.tar.gz  eclipse.jdt.core.binaries-I20211123-0600.tar.xz  eclipse.jdt.core.binaries-I20211123-0600.zip  Kit Lo3 years I20211123-0750eclipse.jdt.core.binaries-I20211123-0750.tar.gz  eclipse.jdt.core.binaries-I20211123-0750.tar.xz  eclipse.jdt.core.binaries-I20211123-0750.zip  Kit Lo3 years I20211123-1800eclipse.jdt.core.binaries-I20211123-1800.tar.gz  eclipse.jdt.core.binaries-I20211123-1800.tar.xz  eclipse.jdt.core.binaries-I20211123-1800.zip  Kit Lo3 years I20211124-0600eclipse.jdt.core.binaries-I20211124-0600.tar.gz  eclipse.jdt.core.binaries-I20211124-0600.tar.xz  eclipse.jdt.core.binaries-I20211124-0600.zip  Kit Lo3 years I20211124-1800eclipse.jdt.core.binaries-I20211124-1800.tar.gz  eclipse.jdt.core.binaries-I20211124-1800.tar.xz  eclipse.jdt.core.binaries-I20211124-1800.zip  Kit Lo3 years S4_21_0_RC2eclipse.jdt.core.binaries-S4_21_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_21_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_21_0_RC2.zip  Eclipse Releng Bot3 years S4_21_0_RC1aeclipse.jdt.core.binaries-S4_21_0_RC1a.tar.gz  eclipse.jdt.core.binaries-S4_21_0_RC1a.tar.xz  eclipse.jdt.core.binaries-S4_21_0_RC1a.zip  Eclipse Releng Bot3 years S4_21_0_RC1eclipse.jdt.core.binaries-S4_21_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_21_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_21_0_RC1.zip  Eclipse Releng Bot3 years S4_21_0_M3eclipse.jdt.core.binaries-S4_21_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_21_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_21_0_M3.zip  Eclipse Releng Bot3 years I20210812-1800eclipse.jdt.core.binaries-I20210812-1800.tar.gz  eclipse.jdt.core.binaries-I20210812-1800.tar.xz  eclipse.jdt.core.binaries-I20210812-1800.zip  Sravan Kumar Lakkimsetti3 years I20210813-1800eclipse.jdt.core.binaries-I20210813-1800.tar.gz  eclipse.jdt.core.binaries-I20210813-1800.tar.xz  eclipse.jdt.core.binaries-I20210813-1800.zip  Sravan Kumar Lakkimsetti3 years I20210814-0600eclipse.jdt.core.binaries-I20210814-0600.tar.gz  eclipse.jdt.core.binaries-I20210814-0600.tar.xz  eclipse.jdt.core.binaries-I20210814-0600.zip  Sravan Kumar Lakkimsetti3 years I20210814-1800eclipse.jdt.core.binaries-I20210814-1800.tar.gz  eclipse.jdt.core.binaries-I20210814-1800.tar.xz  eclipse.jdt.core.binaries-I20210814-1800.zip  Sravan Kumar Lakkimsetti3 years I20210815-0600eclipse.jdt.core.binaries-I20210815-0600.tar.gz  eclipse.jdt.core.binaries-I20210815-0600.tar.xz  eclipse.jdt.core.binaries-I20210815-0600.zip  Sravan Kumar Lakkimsetti3 years I20210815-1800eclipse.jdt.core.binaries-I20210815-1800.tar.gz  eclipse.jdt.core.binaries-I20210815-1800.tar.xz  eclipse.jdt.core.binaries-I20210815-1800.zip  Sravan Kumar Lakkimsetti3 years I20210816-0600eclipse.jdt.core.binaries-I20210816-0600.tar.gz  eclipse.jdt.core.binaries-I20210816-0600.tar.xz  eclipse.jdt.core.binaries-I20210816-0600.zip  Sravan Kumar Lakkimsetti3 years I20210816-1800eclipse.jdt.core.binaries-I20210816-1800.tar.gz  eclipse.jdt.core.binaries-I20210816-1800.tar.xz  eclipse.jdt.core.binaries-I20210816-1800.zip  Sravan Kumar Lakkimsetti3 years I20210817-0600eclipse.jdt.core.binaries-I20210817-0600.tar.gz  eclipse.jdt.core.binaries-I20210817-0600.tar.xz  eclipse.jdt.core.binaries-I20210817-0600.zip  Sravan Kumar Lakkimsetti3 years I20210817-1840eclipse.jdt.core.binaries-I20210817-1840.tar.gz  eclipse.jdt.core.binaries-I20210817-1840.tar.xz  eclipse.jdt.core.binaries-I20210817-1840.zip  Sravan Kumar Lakkimsetti3 years I20210818-0600eclipse.jdt.core.binaries-I20210818-0600.tar.gz  eclipse.jdt.core.binaries-I20210818-0600.tar.xz  eclipse.jdt.core.binaries-I20210818-0600.zip  Sravan Kumar Lakkimsetti3 years I20210818-1250eclipse.jdt.core.binaries-I20210818-1250.tar.gz  eclipse.jdt.core.binaries-I20210818-1250.tar.xz  eclipse.jdt.core.binaries-I20210818-1250.zip  Sravan Kumar Lakkimsetti3 years I20210818-1800eclipse.jdt.core.binaries-I20210818-1800.tar.gz  eclipse.jdt.core.binaries-I20210818-1800.tar.xz  eclipse.jdt.core.binaries-I20210818-1800.zip  Sravan Kumar Lakkimsetti3 years I20210820-1800eclipse.jdt.core.binaries-I20210820-1800.tar.gz  eclipse.jdt.core.binaries-I20210820-1800.tar.xz  eclipse.jdt.core.binaries-I20210820-1800.zip  Sravan Kumar Lakkimsetti3 years I20210821-0600eclipse.jdt.core.binaries-I20210821-0600.tar.gz  eclipse.jdt.core.binaries-I20210821-0600.tar.xz  eclipse.jdt.core.binaries-I20210821-0600.zip  Sravan Kumar Lakkimsetti3 years I20210821-1800eclipse.jdt.core.binaries-I20210821-1800.tar.gz  eclipse.jdt.core.binaries-I20210821-1800.tar.xz  eclipse.jdt.core.binaries-I20210821-1800.zip  Sravan Kumar Lakkimsetti3 years I20210822-0600eclipse.jdt.core.binaries-I20210822-0600.tar.gz  eclipse.jdt.core.binaries-I20210822-0600.tar.xz  eclipse.jdt.core.binaries-I20210822-0600.zip  Sravan Kumar Lakkimsetti3 years I20210822-1800eclipse.jdt.core.binaries-I20210822-1800.tar.gz  eclipse.jdt.core.binaries-I20210822-1800.tar.xz  eclipse.jdt.core.binaries-I20210822-1800.zip  Sravan Kumar Lakkimsetti3 years I20210823-0600eclipse.jdt.core.binaries-I20210823-0600.tar.gz  eclipse.jdt.core.binaries-I20210823-0600.tar.xz  eclipse.jdt.core.binaries-I20210823-0600.zip  Sravan Kumar Lakkimsetti3 years I20210823-1800eclipse.jdt.core.binaries-I20210823-1800.tar.gz  eclipse.jdt.core.binaries-I20210823-1800.tar.xz  eclipse.jdt.core.binaries-I20210823-1800.zip  Sravan Kumar Lakkimsetti3 years I20210824-0600eclipse.jdt.core.binaries-I20210824-0600.tar.gz  eclipse.jdt.core.binaries-I20210824-0600.tar.xz  eclipse.jdt.core.binaries-I20210824-0600.zip  Sravan Kumar Lakkimsetti3 years I20210824-1800eclipse.jdt.core.binaries-I20210824-1800.tar.gz  eclipse.jdt.core.binaries-I20210824-1800.tar.xz  eclipse.jdt.core.binaries-I20210824-1800.zip  Sravan Kumar Lakkimsetti3 years I20210825-0600eclipse.jdt.core.binaries-I20210825-0600.tar.gz  eclipse.jdt.core.binaries-I20210825-0600.tar.xz  eclipse.jdt.core.binaries-I20210825-0600.zip  Sravan Kumar Lakkimsetti3 years I20210825-1800eclipse.jdt.core.binaries-I20210825-1800.tar.gz  eclipse.jdt.core.binaries-I20210825-1800.tar.xz  eclipse.jdt.core.binaries-I20210825-1800.zip  Sravan Kumar Lakkimsetti3 years I20210827-1800eclipse.jdt.core.binaries-I20210827-1800.tar.gz  eclipse.jdt.core.binaries-I20210827-1800.tar.xz  eclipse.jdt.core.binaries-I20210827-1800.zip  Sravan Kumar Lakkimsetti3 years I20210828-0600eclipse.jdt.core.binaries-I20210828-0600.tar.gz  eclipse.jdt.core.binaries-I20210828-0600.tar.xz  eclipse.jdt.core.binaries-I20210828-0600.zip  Sravan Kumar Lakkimsetti3 years I20210828-1800eclipse.jdt.core.binaries-I20210828-1800.tar.gz  eclipse.jdt.core.binaries-I20210828-1800.tar.xz  eclipse.jdt.core.binaries-I20210828-1800.zip  Sravan Kumar Lakkimsetti3 years I20210829-0600eclipse.jdt.core.binaries-I20210829-0600.tar.gz  eclipse.jdt.core.binaries-I20210829-0600.tar.xz  eclipse.jdt.core.binaries-I20210829-0600.zip  Sravan Kumar Lakkimsetti3 years I20210829-1800eclipse.jdt.core.binaries-I20210829-1800.tar.gz  eclipse.jdt.core.binaries-I20210829-1800.tar.xz  eclipse.jdt.core.binaries-I20210829-1800.zip  Sravan Kumar Lakkimsetti3 years I20210830-0600eclipse.jdt.core.binaries-I20210830-0600.tar.gz  eclipse.jdt.core.binaries-I20210830-0600.tar.xz  eclipse.jdt.core.binaries-I20210830-0600.zip  Sravan Kumar Lakkimsetti3 years I20210830-1800eclipse.jdt.core.binaries-I20210830-1800.tar.gz  eclipse.jdt.core.binaries-I20210830-1800.tar.xz  eclipse.jdt.core.binaries-I20210830-1800.zip  Sravan Kumar Lakkimsetti3 years I20210831-0600eclipse.jdt.core.binaries-I20210831-0600.tar.gz  eclipse.jdt.core.binaries-I20210831-0600.tar.xz  eclipse.jdt.core.binaries-I20210831-0600.zip  Sravan Kumar Lakkimsetti3 years I20210831-1800eclipse.jdt.core.binaries-I20210831-1800.tar.gz  eclipse.jdt.core.binaries-I20210831-1800.tar.xz  eclipse.jdt.core.binaries-I20210831-1800.zip  Sravan Kumar Lakkimsetti3 years I20210901-0600eclipse.jdt.core.binaries-I20210901-0600.tar.gz  eclipse.jdt.core.binaries-I20210901-0600.tar.xz  eclipse.jdt.core.binaries-I20210901-0600.zip  Sravan Kumar Lakkimsetti3 years I20210901-1800eclipse.jdt.core.binaries-I20210901-1800.tar.gz  eclipse.jdt.core.binaries-I20210901-1800.tar.xz  eclipse.jdt.core.binaries-I20210901-1800.zip  Sravan Kumar Lakkimsetti3 years I20210906-0500eclipse.jdt.core.binaries-I20210906-0500.tar.gz  eclipse.jdt.core.binaries-I20210906-0500.tar.xz  eclipse.jdt.core.binaries-I20210906-0500.zip  Sravan Kumar Lakkimsetti3 years Y20210813-0710eclipse.jdt.core.binaries-Y20210813-0710.tar.gz  eclipse.jdt.core.binaries-Y20210813-0710.tar.xz  eclipse.jdt.core.binaries-Y20210813-0710.zip  Sravan Kumar Lakkimsetti3 years Y20210817-0500eclipse.jdt.core.binaries-Y20210817-0500.tar.gz  eclipse.jdt.core.binaries-Y20210817-0500.tar.xz  eclipse.jdt.core.binaries-Y20210817-0500.zip  Sravan Kumar Lakkimsetti3 years Y20210817-1030eclipse.jdt.core.binaries-Y20210817-1030.tar.gz  eclipse.jdt.core.binaries-Y20210817-1030.tar.xz  eclipse.jdt.core.binaries-Y20210817-1030.zip  Sravan Kumar Lakkimsetti3 years Y20210818-0520eclipse.jdt.core.binaries-Y20210818-0520.tar.gz  eclipse.jdt.core.binaries-Y20210818-0520.tar.xz  eclipse.jdt.core.binaries-Y20210818-0520.zip  Sravan Kumar Lakkimsetti3 years Y20210819-0340eclipse.jdt.core.binaries-Y20210819-0340.tar.gz  eclipse.jdt.core.binaries-Y20210819-0340.tar.xz  eclipse.jdt.core.binaries-Y20210819-0340.zip  Sravan Kumar Lakkimsetti3 years Y20210819-0800eclipse.jdt.core.binaries-Y20210819-0800.tar.gz  eclipse.jdt.core.binaries-Y20210819-0800.tar.xz  eclipse.jdt.core.binaries-Y20210819-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210820-0230eclipse.jdt.core.binaries-Y20210820-0230.tar.gz  eclipse.jdt.core.binaries-Y20210820-0230.tar.xz  eclipse.jdt.core.binaries-Y20210820-0230.zip  Sravan Kumar Lakkimsetti3 years Y20210822-0440eclipse.jdt.core.binaries-Y20210822-0440.tar.gz  eclipse.jdt.core.binaries-Y20210822-0440.tar.xz  eclipse.jdt.core.binaries-Y20210822-0440.zip  Sravan Kumar Lakkimsetti3 years Y20210824-0840eclipse.jdt.core.binaries-Y20210824-0840.tar.gz  eclipse.jdt.core.binaries-Y20210824-0840.tar.xz  eclipse.jdt.core.binaries-Y20210824-0840.zip  Sravan Kumar Lakkimsetti3 years Y20210824-0940eclipse.jdt.core.binaries-Y20210824-0940.tar.gz  eclipse.jdt.core.binaries-Y20210824-0940.tar.xz  eclipse.jdt.core.binaries-Y20210824-0940.zip  Sravan Kumar Lakkimsetti3 years Y20210826-0800eclipse.jdt.core.binaries-Y20210826-0800.tar.gz  eclipse.jdt.core.binaries-Y20210826-0800.tar.xz  eclipse.jdt.core.binaries-Y20210826-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210831-0840eclipse.jdt.core.binaries-Y20210831-0840.tar.gz  eclipse.jdt.core.binaries-Y20210831-0840.tar.xz  eclipse.jdt.core.binaries-Y20210831-0840.zip  Sravan Kumar Lakkimsetti3 years Y20210901-0420eclipse.jdt.core.binaries-Y20210901-0420.tar.gz  eclipse.jdt.core.binaries-Y20210901-0420.tar.xz  eclipse.jdt.core.binaries-Y20210901-0420.zip  Sravan Kumar Lakkimsetti3 years Y20210902-0350eclipse.jdt.core.binaries-Y20210902-0350.tar.gz  eclipse.jdt.core.binaries-Y20210902-0350.tar.xz  eclipse.jdt.core.binaries-Y20210902-0350.zip  Sravan Kumar Lakkimsetti3 years Y20210902-0850eclipse.jdt.core.binaries-Y20210902-0850.tar.gz  eclipse.jdt.core.binaries-Y20210902-0850.tar.xz  eclipse.jdt.core.binaries-Y20210902-0850.zip  Sravan Kumar Lakkimsetti3 years Y20210903-0800eclipse.jdt.core.binaries-Y20210903-0800.tar.gz  eclipse.jdt.core.binaries-Y20210903-0800.tar.xz  eclipse.jdt.core.binaries-Y20210903-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210904-0800eclipse.jdt.core.binaries-Y20210904-0800.tar.gz  eclipse.jdt.core.binaries-Y20210904-0800.tar.xz  eclipse.jdt.core.binaries-Y20210904-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210906-0920eclipse.jdt.core.binaries-Y20210906-0920.tar.gz  eclipse.jdt.core.binaries-Y20210906-0920.tar.xz  eclipse.jdt.core.binaries-Y20210906-0920.zip  Sravan Kumar Lakkimsetti3 years Y20210907-0800eclipse.jdt.core.binaries-Y20210907-0800.tar.gz  eclipse.jdt.core.binaries-Y20210907-0800.tar.xz  eclipse.jdt.core.binaries-Y20210907-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210907-0830eclipse.jdt.core.binaries-Y20210907-0830.tar.gz  eclipse.jdt.core.binaries-Y20210907-0830.tar.xz  eclipse.jdt.core.binaries-Y20210907-0830.zip  Sravan Kumar Lakkimsetti3 years Y20210908-0800eclipse.jdt.core.binaries-Y20210908-0800.tar.gz  eclipse.jdt.core.binaries-Y20210908-0800.tar.xz  eclipse.jdt.core.binaries-Y20210908-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210909-0800eclipse.jdt.core.binaries-Y20210909-0800.tar.gz  eclipse.jdt.core.binaries-Y20210909-0800.tar.xz  eclipse.jdt.core.binaries-Y20210909-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210910-0800eclipse.jdt.core.binaries-Y20210910-0800.tar.gz  eclipse.jdt.core.binaries-Y20210910-0800.tar.xz  eclipse.jdt.core.binaries-Y20210910-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210911-0800eclipse.jdt.core.binaries-Y20210911-0800.tar.gz  eclipse.jdt.core.binaries-Y20210911-0800.tar.xz  eclipse.jdt.core.binaries-Y20210911-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210912-0800eclipse.jdt.core.binaries-Y20210912-0800.tar.gz  eclipse.jdt.core.binaries-Y20210912-0800.tar.xz  eclipse.jdt.core.binaries-Y20210912-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210913-0800eclipse.jdt.core.binaries-Y20210913-0800.tar.gz  eclipse.jdt.core.binaries-Y20210913-0800.tar.xz  eclipse.jdt.core.binaries-Y20210913-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210914-0800eclipse.jdt.core.binaries-Y20210914-0800.tar.gz  eclipse.jdt.core.binaries-Y20210914-0800.tar.xz  eclipse.jdt.core.binaries-Y20210914-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210914-1110eclipse.jdt.core.binaries-Y20210914-1110.tar.gz  eclipse.jdt.core.binaries-Y20210914-1110.tar.xz  eclipse.jdt.core.binaries-Y20210914-1110.zip  Sravan Kumar Lakkimsetti3 years Y20210914-1140eclipse.jdt.core.binaries-Y20210914-1140.tar.gz  eclipse.jdt.core.binaries-Y20210914-1140.tar.xz  eclipse.jdt.core.binaries-Y20210914-1140.zip  Sravan Kumar Lakkimsetti3 years I20210713-1800eclipse.jdt.core.binaries-I20210713-1800.tar.gz  eclipse.jdt.core.binaries-I20210713-1800.tar.xz  eclipse.jdt.core.binaries-I20210713-1800.zip  Jay Arthanareeswaran3 years I20210714-1800eclipse.jdt.core.binaries-I20210714-1800.tar.gz  eclipse.jdt.core.binaries-I20210714-1800.tar.xz  eclipse.jdt.core.binaries-I20210714-1800.zip  Jay Arthanareeswaran3 years I20210715-1800eclipse.jdt.core.binaries-I20210715-1800.tar.gz  eclipse.jdt.core.binaries-I20210715-1800.tar.xz  eclipse.jdt.core.binaries-I20210715-1800.zip  Jay Arthanareeswaran3 years I20210715-2200eclipse.jdt.core.binaries-I20210715-2200.tar.gz  eclipse.jdt.core.binaries-I20210715-2200.tar.xz  eclipse.jdt.core.binaries-I20210715-2200.zip  Jay Arthanareeswaran3 years I20210716-0020eclipse.jdt.core.binaries-I20210716-0020.tar.gz  eclipse.jdt.core.binaries-I20210716-0020.tar.xz  eclipse.jdt.core.binaries-I20210716-0020.zip  Jay Arthanareeswaran3 years I20210716-1800eclipse.jdt.core.binaries-I20210716-1800.tar.gz  eclipse.jdt.core.binaries-I20210716-1800.tar.xz  eclipse.jdt.core.binaries-I20210716-1800.zip  Jay Arthanareeswaran3 years I20210717-1800eclipse.jdt.core.binaries-I20210717-1800.tar.gz  eclipse.jdt.core.binaries-I20210717-1800.tar.xz  eclipse.jdt.core.binaries-I20210717-1800.zip  Jay Arthanareeswaran3 years I20210718-1800eclipse.jdt.core.binaries-I20210718-1800.tar.gz  eclipse.jdt.core.binaries-I20210718-1800.tar.xz  eclipse.jdt.core.binaries-I20210718-1800.zip  Jay Arthanareeswaran3 years I20210719-1800eclipse.jdt.core.binaries-I20210719-1800.tar.gz  eclipse.jdt.core.binaries-I20210719-1800.tar.xz  eclipse.jdt.core.binaries-I20210719-1800.zip  Jay Arthanareeswaran3 years I20210720-1800eclipse.jdt.core.binaries-I20210720-1800.tar.gz  eclipse.jdt.core.binaries-I20210720-1800.tar.xz  eclipse.jdt.core.binaries-I20210720-1800.zip  Jay Arthanareeswaran3 years I20210721-0530eclipse.jdt.core.binaries-I20210721-0530.tar.gz  eclipse.jdt.core.binaries-I20210721-0530.tar.xz  eclipse.jdt.core.binaries-I20210721-0530.zip  Jay Arthanareeswaran3 years I20210721-1800eclipse.jdt.core.binaries-I20210721-1800.tar.gz  eclipse.jdt.core.binaries-I20210721-1800.tar.xz  eclipse.jdt.core.binaries-I20210721-1800.zip  Jay Arthanareeswaran3 years I20210722-1800eclipse.jdt.core.binaries-I20210722-1800.tar.gz  eclipse.jdt.core.binaries-I20210722-1800.tar.xz  eclipse.jdt.core.binaries-I20210722-1800.zip  Jay Arthanareeswaran3 years I20210723-1800eclipse.jdt.core.binaries-I20210723-1800.tar.gz  eclipse.jdt.core.binaries-I20210723-1800.tar.xz  eclipse.jdt.core.binaries-I20210723-1800.zip  Jay Arthanareeswaran3 years I20210724-1800eclipse.jdt.core.binaries-I20210724-1800.tar.gz  eclipse.jdt.core.binaries-I20210724-1800.tar.xz  eclipse.jdt.core.binaries-I20210724-1800.zip  Jay Arthanareeswaran3 years I20210725-1800eclipse.jdt.core.binaries-I20210725-1800.tar.gz  eclipse.jdt.core.binaries-I20210725-1800.tar.xz  eclipse.jdt.core.binaries-I20210725-1800.zip  Jay Arthanareeswaran3 years I20210726-1800eclipse.jdt.core.binaries-I20210726-1800.tar.gz  eclipse.jdt.core.binaries-I20210726-1800.tar.xz  eclipse.jdt.core.binaries-I20210726-1800.zip  Jay Arthanareeswaran3 years I20210727-1800eclipse.jdt.core.binaries-I20210727-1800.tar.gz  eclipse.jdt.core.binaries-I20210727-1800.tar.xz  eclipse.jdt.core.binaries-I20210727-1800.zip  Jay Arthanareeswaran3 years I20210728-1800eclipse.jdt.core.binaries-I20210728-1800.tar.gz  eclipse.jdt.core.binaries-I20210728-1800.tar.xz  eclipse.jdt.core.binaries-I20210728-1800.zip  Jay Arthanareeswaran3 years I20210729-0050eclipse.jdt.core.binaries-I20210729-0050.tar.gz  eclipse.jdt.core.binaries-I20210729-0050.tar.xz  eclipse.jdt.core.binaries-I20210729-0050.zip  Jay Arthanareeswaran3 years I20210729-1800eclipse.jdt.core.binaries-I20210729-1800.tar.gz  eclipse.jdt.core.binaries-I20210729-1800.tar.xz  eclipse.jdt.core.binaries-I20210729-1800.zip  Jay Arthanareeswaran3 years I20210730-1800eclipse.jdt.core.binaries-I20210730-1800.tar.gz  eclipse.jdt.core.binaries-I20210730-1800.tar.xz  eclipse.jdt.core.binaries-I20210730-1800.zip  Jay Arthanareeswaran3 years I20210804-0930eclipse.jdt.core.binaries-I20210804-0930.tar.gz  eclipse.jdt.core.binaries-I20210804-0930.tar.xz  eclipse.jdt.core.binaries-I20210804-0930.zip  Jay Arthanareeswaran3 years I20210804-1800eclipse.jdt.core.binaries-I20210804-1800.tar.gz  eclipse.jdt.core.binaries-I20210804-1800.tar.xz  eclipse.jdt.core.binaries-I20210804-1800.zip  Jay Arthanareeswaran3 years I20210805-1800eclipse.jdt.core.binaries-I20210805-1800.tar.gz  eclipse.jdt.core.binaries-I20210805-1800.tar.xz  eclipse.jdt.core.binaries-I20210805-1800.zip  Jay Arthanareeswaran3 years I20210806-1800eclipse.jdt.core.binaries-I20210806-1800.tar.gz  eclipse.jdt.core.binaries-I20210806-1800.tar.xz  eclipse.jdt.core.binaries-I20210806-1800.zip  Jay Arthanareeswaran3 years I20210807-1800eclipse.jdt.core.binaries-I20210807-1800.tar.gz  eclipse.jdt.core.binaries-I20210807-1800.tar.xz  eclipse.jdt.core.binaries-I20210807-1800.zip  Jay Arthanareeswaran3 years I20210808-1800eclipse.jdt.core.binaries-I20210808-1800.tar.gz  eclipse.jdt.core.binaries-I20210808-1800.tar.xz  eclipse.jdt.core.binaries-I20210808-1800.zip  Jay Arthanareeswaran3 years I20210809-1800eclipse.jdt.core.binaries-I20210809-1800.tar.gz  eclipse.jdt.core.binaries-I20210809-1800.tar.xz  eclipse.jdt.core.binaries-I20210809-1800.zip  Jay Arthanareeswaran3 years I20210810-1800eclipse.jdt.core.binaries-I20210810-1800.tar.gz  eclipse.jdt.core.binaries-I20210810-1800.tar.xz  eclipse.jdt.core.binaries-I20210810-1800.zip  Jay Arthanareeswaran3 years I20210811-1800eclipse.jdt.core.binaries-I20210811-1800.tar.gz  eclipse.jdt.core.binaries-I20210811-1800.tar.xz  eclipse.jdt.core.binaries-I20210811-1800.zip  Jay Arthanareeswaran3 years Y20210713-0800eclipse.jdt.core.binaries-Y20210713-0800.tar.gz  eclipse.jdt.core.binaries-Y20210713-0800.tar.xz  eclipse.jdt.core.binaries-Y20210713-0800.zip  Jay Arthanareeswaran3 years Y20210715-0820eclipse.jdt.core.binaries-Y20210715-0820.tar.gz  eclipse.jdt.core.binaries-Y20210715-0820.tar.xz  eclipse.jdt.core.binaries-Y20210715-0820.zip  Jay Arthanareeswaran3 years Y20210715-1000eclipse.jdt.core.binaries-Y20210715-1000.tar.gz  eclipse.jdt.core.binaries-Y20210715-1000.tar.xz  eclipse.jdt.core.binaries-Y20210715-1000.zip  Jay Arthanareeswaran3 years Y20210715-1150eclipse.jdt.core.binaries-Y20210715-1150.tar.gz  eclipse.jdt.core.binaries-Y20210715-1150.tar.xz  eclipse.jdt.core.binaries-Y20210715-1150.zip  Jay Arthanareeswaran3 years Y20210719-0550eclipse.jdt.core.binaries-Y20210719-0550.tar.gz  eclipse.jdt.core.binaries-Y20210719-0550.tar.xz  eclipse.jdt.core.binaries-Y20210719-0550.zip  Jay Arthanareeswaran3 years Y20210720-0800eclipse.jdt.core.binaries-Y20210720-0800.tar.gz  eclipse.jdt.core.binaries-Y20210720-0800.tar.xz  eclipse.jdt.core.binaries-Y20210720-0800.zip  Jay Arthanareeswaran3 years Y20210722-0800eclipse.jdt.core.binaries-Y20210722-0800.tar.gz  eclipse.jdt.core.binaries-Y20210722-0800.tar.xz  eclipse.jdt.core.binaries-Y20210722-0800.zip  Jay Arthanareeswaran3 years Y20210727-0800eclipse.jdt.core.binaries-Y20210727-0800.tar.gz  eclipse.jdt.core.binaries-Y20210727-0800.tar.xz  eclipse.jdt.core.binaries-Y20210727-0800.zip  Jay Arthanareeswaran3 years Y20210729-0800eclipse.jdt.core.binaries-Y20210729-0800.tar.gz  eclipse.jdt.core.binaries-Y20210729-0800.tar.xz  eclipse.jdt.core.binaries-Y20210729-0800.zip  Jay Arthanareeswaran3 years Y20210730-0530eclipse.jdt.core.binaries-Y20210730-0530.tar.gz  eclipse.jdt.core.binaries-Y20210730-0530.tar.xz  eclipse.jdt.core.binaries-Y20210730-0530.zip  Jay Arthanareeswaran3 years Y20210804-1030eclipse.jdt.core.binaries-Y20210804-1030.tar.gz  eclipse.jdt.core.binaries-Y20210804-1030.tar.xz  eclipse.jdt.core.binaries-Y20210804-1030.zip  Jay Arthanareeswaran3 years Y20210805-0800eclipse.jdt.core.binaries-Y20210805-0800.tar.gz  eclipse.jdt.core.binaries-Y20210805-0800.tar.xz  eclipse.jdt.core.binaries-Y20210805-0800.zip  Jay Arthanareeswaran3 years Y20210810-0500eclipse.jdt.core.binaries-Y20210810-0500.tar.gz  eclipse.jdt.core.binaries-Y20210810-0500.tar.xz  eclipse.jdt.core.binaries-Y20210810-0500.zip  Jay Arthanareeswaran3 years Y20210810-0820eclipse.jdt.core.binaries-Y20210810-0820.tar.gz  eclipse.jdt.core.binaries-Y20210810-0820.tar.xz  eclipse.jdt.core.binaries-Y20210810-0820.zip  Jay Arthanareeswaran3 years Y20210812-0800eclipse.jdt.core.binaries-Y20210812-0800.tar.gz  eclipse.jdt.core.binaries-Y20210812-0800.tar.xz  eclipse.jdt.core.binaries-Y20210812-0800.zip  Jay Arthanareeswaran3 years S4_21_0_M1eclipse.jdt.core.binaries-S4_21_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_21_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_21_0_M1.zip  Eclipse Releng Bot3 years I20210625-1800eclipse.jdt.core.binaries-I20210625-1800.tar.gz  eclipse.jdt.core.binaries-I20210625-1800.tar.xz  eclipse.jdt.core.binaries-I20210625-1800.zip  Sravan Kumar Lakkimsetti3 years I20210626-1800eclipse.jdt.core.binaries-I20210626-1800.tar.gz  eclipse.jdt.core.binaries-I20210626-1800.tar.xz  eclipse.jdt.core.binaries-I20210626-1800.zip  Sravan Kumar Lakkimsetti3 years I20210627-1800eclipse.jdt.core.binaries-I20210627-1800.tar.gz  eclipse.jdt.core.binaries-I20210627-1800.tar.xz  eclipse.jdt.core.binaries-I20210627-1800.zip  Sravan Kumar Lakkimsetti3 years I20210628-1800eclipse.jdt.core.binaries-I20210628-1800.tar.gz  eclipse.jdt.core.binaries-I20210628-1800.tar.xz  eclipse.jdt.core.binaries-I20210628-1800.zip  Sravan Kumar Lakkimsetti3 years I20210629-0210eclipse.jdt.core.binaries-I20210629-0210.tar.gz  eclipse.jdt.core.binaries-I20210629-0210.tar.xz  eclipse.jdt.core.binaries-I20210629-0210.zip  Sravan Kumar Lakkimsetti3 years I20210629-1800eclipse.jdt.core.binaries-I20210629-1800.tar.gz  eclipse.jdt.core.binaries-I20210629-1800.tar.xz  eclipse.jdt.core.binaries-I20210629-1800.zip  Sravan Kumar Lakkimsetti3 years I20210630-1800eclipse.jdt.core.binaries-I20210630-1800.tar.gz  eclipse.jdt.core.binaries-I20210630-1800.tar.xz  eclipse.jdt.core.binaries-I20210630-1800.zip  Sravan Kumar Lakkimsetti3 years I20210701-1800eclipse.jdt.core.binaries-I20210701-1800.tar.gz  eclipse.jdt.core.binaries-I20210701-1800.tar.xz  eclipse.jdt.core.binaries-I20210701-1800.zip  Sravan Kumar Lakkimsetti3 years I20210702-1800eclipse.jdt.core.binaries-I20210702-1800.tar.gz  eclipse.jdt.core.binaries-I20210702-1800.tar.xz  eclipse.jdt.core.binaries-I20210702-1800.zip  Sravan Kumar Lakkimsetti3 years I20210703-0600eclipse.jdt.core.binaries-I20210703-0600.tar.gz  eclipse.jdt.core.binaries-I20210703-0600.tar.xz  eclipse.jdt.core.binaries-I20210703-0600.zip  Sravan Kumar Lakkimsetti3 years I20210703-1800eclipse.jdt.core.binaries-I20210703-1800.tar.gz  eclipse.jdt.core.binaries-I20210703-1800.tar.xz  eclipse.jdt.core.binaries-I20210703-1800.zip  Sravan Kumar Lakkimsetti3 years I20210704-0600eclipse.jdt.core.binaries-I20210704-0600.tar.gz  eclipse.jdt.core.binaries-I20210704-0600.tar.xz  eclipse.jdt.core.binaries-I20210704-0600.zip  Sravan Kumar Lakkimsetti3 years I20210704-1800eclipse.jdt.core.binaries-I20210704-1800.tar.gz  eclipse.jdt.core.binaries-I20210704-1800.tar.xz  eclipse.jdt.core.binaries-I20210704-1800.zip  Sravan Kumar Lakkimsetti3 years I20210705-0600eclipse.jdt.core.binaries-I20210705-0600.tar.gz  eclipse.jdt.core.binaries-I20210705-0600.tar.xz  eclipse.jdt.core.binaries-I20210705-0600.zip  Sravan Kumar Lakkimsetti3 years I20210705-1800eclipse.jdt.core.binaries-I20210705-1800.tar.gz  eclipse.jdt.core.binaries-I20210705-1800.tar.xz  eclipse.jdt.core.binaries-I20210705-1800.zip  Sravan Kumar Lakkimsetti3 years I20210706-0600eclipse.jdt.core.binaries-I20210706-0600.tar.gz  eclipse.jdt.core.binaries-I20210706-0600.tar.xz  eclipse.jdt.core.binaries-I20210706-0600.zip  Sravan Kumar Lakkimsetti3 years I20210706-1800eclipse.jdt.core.binaries-I20210706-1800.tar.gz  eclipse.jdt.core.binaries-I20210706-1800.tar.xz  eclipse.jdt.core.binaries-I20210706-1800.zip  Sravan Kumar Lakkimsetti3 years I20210707-0600eclipse.jdt.core.binaries-I20210707-0600.tar.gz  eclipse.jdt.core.binaries-I20210707-0600.tar.xz  eclipse.jdt.core.binaries-I20210707-0600.zip  Sravan Kumar Lakkimsetti3 years I20210707-1800eclipse.jdt.core.binaries-I20210707-1800.tar.gz  eclipse.jdt.core.binaries-I20210707-1800.tar.xz  eclipse.jdt.core.binaries-I20210707-1800.zip  Sravan Kumar Lakkimsetti3 years I20210709-0030eclipse.jdt.core.binaries-I20210709-0030.tar.gz  eclipse.jdt.core.binaries-I20210709-0030.tar.xz  eclipse.jdt.core.binaries-I20210709-0030.zip  Sravan Kumar Lakkimsetti3 years I20210710-0000eclipse.jdt.core.binaries-I20210710-0000.tar.gz  eclipse.jdt.core.binaries-I20210710-0000.tar.xz  eclipse.jdt.core.binaries-I20210710-0000.zip  Sravan Kumar Lakkimsetti3 years I20210710-1800eclipse.jdt.core.binaries-I20210710-1800.tar.gz  eclipse.jdt.core.binaries-I20210710-1800.tar.xz  eclipse.jdt.core.binaries-I20210710-1800.zip  Sravan Kumar Lakkimsetti3 years I20210711-1800eclipse.jdt.core.binaries-I20210711-1800.tar.gz  eclipse.jdt.core.binaries-I20210711-1800.tar.xz  eclipse.jdt.core.binaries-I20210711-1800.zip  Sravan Kumar Lakkimsetti3 years I20210712-0240eclipse.jdt.core.binaries-I20210712-0240.tar.gz  eclipse.jdt.core.binaries-I20210712-0240.tar.xz  eclipse.jdt.core.binaries-I20210712-0240.zip  Sravan Kumar Lakkimsetti3 years I20210712-0340eclipse.jdt.core.binaries-I20210712-0340.tar.gz  eclipse.jdt.core.binaries-I20210712-0340.tar.xz  eclipse.jdt.core.binaries-I20210712-0340.zip  Sravan Kumar Lakkimsetti3 years I20210712-1800eclipse.jdt.core.binaries-I20210712-1800.tar.gz  eclipse.jdt.core.binaries-I20210712-1800.tar.xz  eclipse.jdt.core.binaries-I20210712-1800.zip  Sravan Kumar Lakkimsetti3 years Y20210629-0800eclipse.jdt.core.binaries-Y20210629-0800.tar.gz  eclipse.jdt.core.binaries-Y20210629-0800.tar.xz  eclipse.jdt.core.binaries-Y20210629-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210630-0230eclipse.jdt.core.binaries-Y20210630-0230.tar.gz  eclipse.jdt.core.binaries-Y20210630-0230.tar.xz  eclipse.jdt.core.binaries-Y20210630-0230.zip  Sravan Kumar Lakkimsetti3 years Y20210630-0410eclipse.jdt.core.binaries-Y20210630-0410.tar.gz  eclipse.jdt.core.binaries-Y20210630-0410.tar.xz  eclipse.jdt.core.binaries-Y20210630-0410.zip  Sravan Kumar Lakkimsetti3 years Y20210701-0800eclipse.jdt.core.binaries-Y20210701-0800.tar.gz  eclipse.jdt.core.binaries-Y20210701-0800.tar.xz  eclipse.jdt.core.binaries-Y20210701-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210706-0800eclipse.jdt.core.binaries-Y20210706-0800.tar.gz  eclipse.jdt.core.binaries-Y20210706-0800.tar.xz  eclipse.jdt.core.binaries-Y20210706-0800.zip  Sravan Kumar Lakkimsetti3 years Y20210706-1050eclipse.jdt.core.binaries-Y20210706-1050.tar.gz  eclipse.jdt.core.binaries-Y20210706-1050.tar.xz  eclipse.jdt.core.binaries-Y20210706-1050.zip  Sravan Kumar Lakkimsetti3 years Y20210708-0800eclipse.jdt.core.binaries-Y20210708-0800.tar.gz  eclipse.jdt.core.binaries-Y20210708-0800.tar.xz  eclipse.jdt.core.binaries-Y20210708-0800.zip  Sravan Kumar Lakkimsetti3 years R4_20eclipse.jdt.core.binaries-R4_20.tar.gz  eclipse.jdt.core.binaries-R4_20.tar.xz  eclipse.jdt.core.binaries-R4_20.zip  Eclipse Releng Bot3 years S4_20_0_RC2aeclipse.jdt.core.binaries-S4_20_0_RC2a.tar.gz  eclipse.jdt.core.binaries-S4_20_0_RC2a.tar.xz  eclipse.jdt.core.binaries-S4_20_0_RC2a.zip  Eclipse Releng Bot3 years S4_20_0_RC2eclipse.jdt.core.binaries-S4_20_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_20_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_20_0_RC2.zip  Eclipse Releng Bot3 years I20210604-0350eclipse.jdt.core.binaries-I20210604-0350.tar.gz  eclipse.jdt.core.binaries-I20210604-0350.tar.xz  eclipse.jdt.core.binaries-I20210604-0350.zip  Sravan Kumar Lakkimsetti3 years I20210604-0640eclipse.jdt.core.binaries-I20210604-0640.tar.gz  eclipse.jdt.core.binaries-I20210604-0640.tar.xz  eclipse.jdt.core.binaries-I20210604-0640.zip  Sravan Kumar Lakkimsetti3 years I20210604-1020eclipse.jdt.core.binaries-I20210604-1020.tar.gz  eclipse.jdt.core.binaries-I20210604-1020.tar.xz  eclipse.jdt.core.binaries-I20210604-1020.zip  Sravan Kumar Lakkimsetti3 years I20210604-2250eclipse.jdt.core.binaries-I20210604-2250.tar.gz  eclipse.jdt.core.binaries-I20210604-2250.tar.xz  eclipse.jdt.core.binaries-I20210604-2250.zip  Sravan Kumar Lakkimsetti3 years I20210605-1800eclipse.jdt.core.binaries-I20210605-1800.tar.gz  eclipse.jdt.core.binaries-I20210605-1800.tar.xz  eclipse.jdt.core.binaries-I20210605-1800.zip  Sravan Kumar Lakkimsetti3 years I20210606-1800eclipse.jdt.core.binaries-I20210606-1800.tar.gz  eclipse.jdt.core.binaries-I20210606-1800.tar.xz  eclipse.jdt.core.binaries-I20210606-1800.zip  Sravan Kumar Lakkimsetti3 years I20210608-1300eclipse.jdt.core.binaries-I20210608-1300.tar.gz  eclipse.jdt.core.binaries-I20210608-1300.tar.xz  eclipse.jdt.core.binaries-I20210608-1300.zip  Sravan Kumar Lakkimsetti3 years I20210608-1800eclipse.jdt.core.binaries-I20210608-1800.tar.gz  eclipse.jdt.core.binaries-I20210608-1800.tar.xz  eclipse.jdt.core.binaries-I20210608-1800.zip  Sravan Kumar Lakkimsetti3 years I20210608-2130eclipse.jdt.core.binaries-I20210608-2130.tar.gz  eclipse.jdt.core.binaries-I20210608-2130.tar.xz  eclipse.jdt.core.binaries-I20210608-2130.zip  Sravan Kumar Lakkimsetti3 years I20210609-1800eclipse.jdt.core.binaries-I20210609-1800.tar.gz  eclipse.jdt.core.binaries-I20210609-1800.tar.xz  eclipse.jdt.core.binaries-I20210609-1800.zip  Sravan Kumar Lakkimsetti3 years I20210610-1850eclipse.jdt.core.binaries-I20210610-1850.tar.gz  eclipse.jdt.core.binaries-I20210610-1850.tar.xz  eclipse.jdt.core.binaries-I20210610-1850.zip  Sravan Kumar Lakkimsetti3 years I20210611-2000eclipse.jdt.core.binaries-I20210611-2000.tar.gz  eclipse.jdt.core.binaries-I20210611-2000.tar.xz  eclipse.jdt.core.binaries-I20210611-2000.zip  Sravan Kumar Lakkimsetti3 years I20210612-1800eclipse.jdt.core.binaries-I20210612-1800.tar.gz  eclipse.jdt.core.binaries-I20210612-1800.tar.xz  eclipse.jdt.core.binaries-I20210612-1800.zip  Sravan Kumar Lakkimsetti3 years I20210613-1800eclipse.jdt.core.binaries-I20210613-1800.tar.gz  eclipse.jdt.core.binaries-I20210613-1800.tar.xz  eclipse.jdt.core.binaries-I20210613-1800.zip  Sravan Kumar Lakkimsetti3 years I20210614-1800eclipse.jdt.core.binaries-I20210614-1800.tar.gz  eclipse.jdt.core.binaries-I20210614-1800.tar.xz  eclipse.jdt.core.binaries-I20210614-1800.zip  Sravan Kumar Lakkimsetti3 years I20210615-1800eclipse.jdt.core.binaries-I20210615-1800.tar.gz  eclipse.jdt.core.binaries-I20210615-1800.tar.xz  eclipse.jdt.core.binaries-I20210615-1800.zip  Sravan Kumar Lakkimsetti3 years I20210616-1800eclipse.jdt.core.binaries-I20210616-1800.tar.gz  eclipse.jdt.core.binaries-I20210616-1800.tar.xz  eclipse.jdt.core.binaries-I20210616-1800.zip  Sravan Kumar Lakkimsetti3 years I20210617-1800eclipse.jdt.core.binaries-I20210617-1800.tar.gz  eclipse.jdt.core.binaries-I20210617-1800.tar.xz  eclipse.jdt.core.binaries-I20210617-1800.zip  Sravan Kumar Lakkimsetti3 years I20210618-1800eclipse.jdt.core.binaries-I20210618-1800.tar.gz  eclipse.jdt.core.binaries-I20210618-1800.tar.xz  eclipse.jdt.core.binaries-I20210618-1800.zip  Sravan Kumar Lakkimsetti3 years I20210618-1920eclipse.jdt.core.binaries-I20210618-1920.tar.gz  eclipse.jdt.core.binaries-I20210618-1920.tar.xz  eclipse.jdt.core.binaries-I20210618-1920.zip  Sravan Kumar Lakkimsetti3 years I20210619-1800eclipse.jdt.core.binaries-I20210619-1800.tar.gz  eclipse.jdt.core.binaries-I20210619-1800.tar.xz  eclipse.jdt.core.binaries-I20210619-1800.zip  Sravan Kumar Lakkimsetti3 years I20210620-1800eclipse.jdt.core.binaries-I20210620-1800.tar.gz  eclipse.jdt.core.binaries-I20210620-1800.tar.xz  eclipse.jdt.core.binaries-I20210620-1800.zip  Sravan Kumar Lakkimsetti3 years I20210621-1800eclipse.jdt.core.binaries-I20210621-1800.tar.gz  eclipse.jdt.core.binaries-I20210621-1800.tar.xz  eclipse.jdt.core.binaries-I20210621-1800.zip  Sravan Kumar Lakkimsetti3 years I20210622-1800eclipse.jdt.core.binaries-I20210622-1800.tar.gz  eclipse.jdt.core.binaries-I20210622-1800.tar.xz  eclipse.jdt.core.binaries-I20210622-1800.zip  Sravan Kumar Lakkimsetti3 years I20210624-1210eclipse.jdt.core.binaries-I20210624-1210.tar.gz  eclipse.jdt.core.binaries-I20210624-1210.tar.xz  eclipse.jdt.core.binaries-I20210624-1210.zip  Sravan Kumar Lakkimsetti3 years I20210624-1800eclipse.jdt.core.binaries-I20210624-1800.tar.gz  eclipse.jdt.core.binaries-I20210624-1800.tar.xz  eclipse.jdt.core.binaries-I20210624-1800.zip  Sravan Kumar Lakkimsetti3 years Y20210608-2330eclipse.jdt.core.binaries-Y20210608-2330.tar.gz  eclipse.jdt.core.binaries-Y20210608-2330.tar.xz  eclipse.jdt.core.binaries-Y20210608-2330.zip  Sravan Kumar Lakkimsetti3 years Y20210611-0900eclipse.jdt.core.binaries-Y20210611-0900.tar.gz  eclipse.jdt.core.binaries-Y20210611-0900.tar.xz  eclipse.jdt.core.binaries-Y20210611-0900.zip  Sravan Kumar Lakkimsetti3 years Y20210614-0420eclipse.jdt.core.binaries-Y20210614-0420.tar.gz  eclipse.jdt.core.binaries-Y20210614-0420.tar.xz  eclipse.jdt.core.binaries-Y20210614-0420.zip  Sravan Kumar Lakkimsetti3 years Y20210615-0900eclipse.jdt.core.binaries-Y20210615-0900.tar.gz  eclipse.jdt.core.binaries-Y20210615-0900.tar.xz  eclipse.jdt.core.binaries-Y20210615-0900.zip  Sravan Kumar Lakkimsetti3 years Y20210615-0910eclipse.jdt.core.binaries-Y20210615-0910.tar.gz  eclipse.jdt.core.binaries-Y20210615-0910.tar.xz  eclipse.jdt.core.binaries-Y20210615-0910.zip  Sravan Kumar Lakkimsetti3 years Y20210622-1150eclipse.jdt.core.binaries-Y20210622-1150.tar.gz  eclipse.jdt.core.binaries-Y20210622-1150.tar.xz  eclipse.jdt.core.binaries-Y20210622-1150.zip  Sravan Kumar Lakkimsetti3 years Y20210623-0320eclipse.jdt.core.binaries-Y20210623-0320.tar.gz  eclipse.jdt.core.binaries-Y20210623-0320.tar.xz  eclipse.jdt.core.binaries-Y20210623-0320.zip  Sravan Kumar Lakkimsetti3 years S4_20_0_RC1eclipse.jdt.core.binaries-S4_20_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_20_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_20_0_RC1.zip  Eclipse Releng Bot3 years S4_20_0_M3eclipse.jdt.core.binaries-S4_20_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_20_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_20_0_M3.zip  Eclipse Releng Bot3 years S4_20_0_M1eclipse.jdt.core.binaries-S4_20_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_20_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_20_0_M1.zip  Eclipse Releng Bot3 years R4_19eclipse.jdt.core.binaries-R4_19.tar.gz  eclipse.jdt.core.binaries-R4_19.tar.xz  eclipse.jdt.core.binaries-R4_19.zip  Eclipse Releng Bot3 years I20210305-0820eclipse.jdt.core.binaries-I20210305-0820.tar.gz  eclipse.jdt.core.binaries-I20210305-0820.tar.xz  eclipse.jdt.core.binaries-I20210305-0820.zip  Alexander Kurtakov3 years I20210308-0720eclipse.jdt.core.binaries-I20210308-0720.tar.gz  eclipse.jdt.core.binaries-I20210308-0720.tar.xz  eclipse.jdt.core.binaries-I20210308-0720.zip  Alexander Kurtakov3 years I20210308-1030eclipse.jdt.core.binaries-I20210308-1030.tar.gz  eclipse.jdt.core.binaries-I20210308-1030.tar.xz  eclipse.jdt.core.binaries-I20210308-1030.zip  Alexander Kurtakov3 years I20210308-1800eclipse.jdt.core.binaries-I20210308-1800.tar.gz  eclipse.jdt.core.binaries-I20210308-1800.tar.xz  eclipse.jdt.core.binaries-I20210308-1800.zip  Alexander Kurtakov3 years I20210309-0500eclipse.jdt.core.binaries-I20210309-0500.tar.gz  eclipse.jdt.core.binaries-I20210309-0500.tar.xz  eclipse.jdt.core.binaries-I20210309-0500.zip  Alexander Kurtakov3 years I20210309-1800eclipse.jdt.core.binaries-I20210309-1800.tar.gz  eclipse.jdt.core.binaries-I20210309-1800.tar.xz  eclipse.jdt.core.binaries-I20210309-1800.zip  Alexander Kurtakov3 years I20210310-0250eclipse.jdt.core.binaries-I20210310-0250.tar.gz  eclipse.jdt.core.binaries-I20210310-0250.tar.xz  eclipse.jdt.core.binaries-I20210310-0250.zip  Alexander Kurtakov3 years I20210310-0620eclipse.jdt.core.binaries-I20210310-0620.tar.gz  eclipse.jdt.core.binaries-I20210310-0620.tar.xz  eclipse.jdt.core.binaries-I20210310-0620.zip  Alexander Kurtakov3 years I20210310-2050eclipse.jdt.core.binaries-I20210310-2050.tar.gz  eclipse.jdt.core.binaries-I20210310-2050.tar.xz  eclipse.jdt.core.binaries-I20210310-2050.zip  Alexander Kurtakov3 years I20210311-1800eclipse.jdt.core.binaries-I20210311-1800.tar.gz  eclipse.jdt.core.binaries-I20210311-1800.tar.xz  eclipse.jdt.core.binaries-I20210311-1800.zip  Alexander Kurtakov3 years I20210312-0840eclipse.jdt.core.binaries-I20210312-0840.tar.gz  eclipse.jdt.core.binaries-I20210312-0840.tar.xz  eclipse.jdt.core.binaries-I20210312-0840.zip  Alexander Kurtakov3 years I20210312-0940eclipse.jdt.core.binaries-I20210312-0940.tar.gz  eclipse.jdt.core.binaries-I20210312-0940.tar.xz  eclipse.jdt.core.binaries-I20210312-0940.zip  Alexander Kurtakov3 years I20210312-1150eclipse.jdt.core.binaries-I20210312-1150.tar.gz  eclipse.jdt.core.binaries-I20210312-1150.tar.xz  eclipse.jdt.core.binaries-I20210312-1150.zip  Alexander Kurtakov3 years I20210312-1410eclipse.jdt.core.binaries-I20210312-1410.tar.gz  eclipse.jdt.core.binaries-I20210312-1410.tar.xz  eclipse.jdt.core.binaries-I20210312-1410.zip  Alexander Kurtakov3 years I20210312-1540eclipse.jdt.core.binaries-I20210312-1540.tar.gz  eclipse.jdt.core.binaries-I20210312-1540.tar.xz  eclipse.jdt.core.binaries-I20210312-1540.zip  Alexander Kurtakov3 years I20210312-1800eclipse.jdt.core.binaries-I20210312-1800.tar.gz  eclipse.jdt.core.binaries-I20210312-1800.tar.xz  eclipse.jdt.core.binaries-I20210312-1800.zip  Alexander Kurtakov3 years I20210312-2010eclipse.jdt.core.binaries-I20210312-2010.tar.gz  eclipse.jdt.core.binaries-I20210312-2010.tar.xz  eclipse.jdt.core.binaries-I20210312-2010.zip  Alexander Kurtakov3 years I20210313-1800eclipse.jdt.core.binaries-I20210313-1800.tar.gz  eclipse.jdt.core.binaries-I20210313-1800.tar.xz  eclipse.jdt.core.binaries-I20210313-1800.zip  Alexander Kurtakov3 years I20210314-1800eclipse.jdt.core.binaries-I20210314-1800.tar.gz  eclipse.jdt.core.binaries-I20210314-1800.tar.xz  eclipse.jdt.core.binaries-I20210314-1800.zip  Alexander Kurtakov3 years I20210315-2050eclipse.jdt.core.binaries-I20210315-2050.tar.gz  eclipse.jdt.core.binaries-I20210315-2050.tar.xz  eclipse.jdt.core.binaries-I20210315-2050.zip  Alexander Kurtakov3 years I20210316-1800eclipse.jdt.core.binaries-I20210316-1800.tar.gz  eclipse.jdt.core.binaries-I20210316-1800.tar.xz  eclipse.jdt.core.binaries-I20210316-1800.zip  Alexander Kurtakov3 years I20210317-0330eclipse.jdt.core.binaries-I20210317-0330.tar.gz  eclipse.jdt.core.binaries-I20210317-0330.tar.xz  eclipse.jdt.core.binaries-I20210317-0330.zip  Alexander Kurtakov3 years I20210317-0650eclipse.jdt.core.binaries-I20210317-0650.tar.gz  eclipse.jdt.core.binaries-I20210317-0650.tar.xz  eclipse.jdt.core.binaries-I20210317-0650.zip  Alexander Kurtakov3 years I20210317-0910eclipse.jdt.core.binaries-I20210317-0910.tar.gz  eclipse.jdt.core.binaries-I20210317-0910.tar.xz  eclipse.jdt.core.binaries-I20210317-0910.zip  Alexander Kurtakov3 years I20210317-1320eclipse.jdt.core.binaries-I20210317-1320.tar.gz  eclipse.jdt.core.binaries-I20210317-1320.tar.xz  eclipse.jdt.core.binaries-I20210317-1320.zip  Alexander Kurtakov3 years I20210317-1850eclipse.jdt.core.binaries-I20210317-1850.tar.gz  eclipse.jdt.core.binaries-I20210317-1850.tar.xz  eclipse.jdt.core.binaries-I20210317-1850.zip  Alexander Kurtakov3 years I20210318-2100eclipse.jdt.core.binaries-I20210318-2100.tar.gz  eclipse.jdt.core.binaries-I20210318-2100.tar.xz  eclipse.jdt.core.binaries-I20210318-2100.zip  Alexander Kurtakov3 years I20210318-2320eclipse.jdt.core.binaries-I20210318-2320.tar.gz  eclipse.jdt.core.binaries-I20210318-2320.tar.xz  eclipse.jdt.core.binaries-I20210318-2320.zip  Alexander Kurtakov3 years I20210319-0030eclipse.jdt.core.binaries-I20210319-0030.tar.gz  eclipse.jdt.core.binaries-I20210319-0030.tar.xz  eclipse.jdt.core.binaries-I20210319-0030.zip  Alexander Kurtakov3 years I20210319-1800eclipse.jdt.core.binaries-I20210319-1800.tar.gz  eclipse.jdt.core.binaries-I20210319-1800.tar.xz  eclipse.jdt.core.binaries-I20210319-1800.zip  Alexander Kurtakov3 years I20210320-0650eclipse.jdt.core.binaries-I20210320-0650.tar.gz  eclipse.jdt.core.binaries-I20210320-0650.tar.xz  eclipse.jdt.core.binaries-I20210320-0650.zip  Alexander Kurtakov3 years I20210320-1800eclipse.jdt.core.binaries-I20210320-1800.tar.gz  eclipse.jdt.core.binaries-I20210320-1800.tar.xz  eclipse.jdt.core.binaries-I20210320-1800.zip  Alexander Kurtakov3 years I20210321-0340eclipse.jdt.core.binaries-I20210321-0340.tar.gz  eclipse.jdt.core.binaries-I20210321-0340.tar.xz  eclipse.jdt.core.binaries-I20210321-0340.zip  Alexander Kurtakov3 years I20210321-1800eclipse.jdt.core.binaries-I20210321-1800.tar.gz  eclipse.jdt.core.binaries-I20210321-1800.tar.xz  eclipse.jdt.core.binaries-I20210321-1800.zip  Alexander Kurtakov3 years I20210322-1800eclipse.jdt.core.binaries-I20210322-1800.tar.gz  eclipse.jdt.core.binaries-I20210322-1800.tar.xz  eclipse.jdt.core.binaries-I20210322-1800.zip  Alexander Kurtakov3 years I20210323-0200eclipse.jdt.core.binaries-I20210323-0200.tar.gz  eclipse.jdt.core.binaries-I20210323-0200.tar.xz  eclipse.jdt.core.binaries-I20210323-0200.zip  Alexander Kurtakov3 years I20210323-1240eclipse.jdt.core.binaries-I20210323-1240.tar.gz  eclipse.jdt.core.binaries-I20210323-1240.tar.xz  eclipse.jdt.core.binaries-I20210323-1240.zip  Alexander Kurtakov3 years I20210323-1800eclipse.jdt.core.binaries-I20210323-1800.tar.gz  eclipse.jdt.core.binaries-I20210323-1800.tar.xz  eclipse.jdt.core.binaries-I20210323-1800.zip  Alexander Kurtakov3 years I20210323-2250eclipse.jdt.core.binaries-I20210323-2250.tar.gz  eclipse.jdt.core.binaries-I20210323-2250.tar.xz  eclipse.jdt.core.binaries-I20210323-2250.zip  Alexander Kurtakov3 years I20210324-0320eclipse.jdt.core.binaries-I20210324-0320.tar.gz  eclipse.jdt.core.binaries-I20210324-0320.tar.xz  eclipse.jdt.core.binaries-I20210324-0320.zip  Alexander Kurtakov3 years I20210324-0950eclipse.jdt.core.binaries-I20210324-0950.tar.gz  eclipse.jdt.core.binaries-I20210324-0950.tar.xz  eclipse.jdt.core.binaries-I20210324-0950.zip  Alexander Kurtakov3 years I20210324-1800eclipse.jdt.core.binaries-I20210324-1800.tar.gz  eclipse.jdt.core.binaries-I20210324-1800.tar.xz  eclipse.jdt.core.binaries-I20210324-1800.zip  Alexander Kurtakov3 years I20210325-1800eclipse.jdt.core.binaries-I20210325-1800.tar.gz  eclipse.jdt.core.binaries-I20210325-1800.tar.xz  eclipse.jdt.core.binaries-I20210325-1800.zip  Alexander Kurtakov3 years I20210326-1800eclipse.jdt.core.binaries-I20210326-1800.tar.gz  eclipse.jdt.core.binaries-I20210326-1800.tar.xz  eclipse.jdt.core.binaries-I20210326-1800.zip  Alexander Kurtakov3 years I20210327-1800eclipse.jdt.core.binaries-I20210327-1800.tar.gz  eclipse.jdt.core.binaries-I20210327-1800.tar.xz  eclipse.jdt.core.binaries-I20210327-1800.zip  Alexander Kurtakov3 years I20210328-1800eclipse.jdt.core.binaries-I20210328-1800.tar.gz  eclipse.jdt.core.binaries-I20210328-1800.tar.xz  eclipse.jdt.core.binaries-I20210328-1800.zip  Alexander Kurtakov3 years I20210329-0200eclipse.jdt.core.binaries-I20210329-0200.tar.gz  eclipse.jdt.core.binaries-I20210329-0200.tar.xz  eclipse.jdt.core.binaries-I20210329-0200.zip  Alexander Kurtakov3 years I20210329-1800eclipse.jdt.core.binaries-I20210329-1800.tar.gz  eclipse.jdt.core.binaries-I20210329-1800.tar.xz  eclipse.jdt.core.binaries-I20210329-1800.zip  Alexander Kurtakov3 years I20210330-1800eclipse.jdt.core.binaries-I20210330-1800.tar.gz  eclipse.jdt.core.binaries-I20210330-1800.tar.xz  eclipse.jdt.core.binaries-I20210330-1800.zip  Alexander Kurtakov3 years I20210331-1800eclipse.jdt.core.binaries-I20210331-1800.tar.gz  eclipse.jdt.core.binaries-I20210331-1800.tar.xz  eclipse.jdt.core.binaries-I20210331-1800.zip  Alexander Kurtakov3 years I20210402-0510eclipse.jdt.core.binaries-I20210402-0510.tar.gz  eclipse.jdt.core.binaries-I20210402-0510.tar.xz  eclipse.jdt.core.binaries-I20210402-0510.zip  Alexander Kurtakov3 years I20210402-1800eclipse.jdt.core.binaries-I20210402-1800.tar.gz  eclipse.jdt.core.binaries-I20210402-1800.tar.xz  eclipse.jdt.core.binaries-I20210402-1800.zip  Alexander Kurtakov3 years I20210403-0600eclipse.jdt.core.binaries-I20210403-0600.tar.gz  eclipse.jdt.core.binaries-I20210403-0600.tar.xz  eclipse.jdt.core.binaries-I20210403-0600.zip  Alexander Kurtakov3 years I20210403-1800eclipse.jdt.core.binaries-I20210403-1800.tar.gz  eclipse.jdt.core.binaries-I20210403-1800.tar.xz  eclipse.jdt.core.binaries-I20210403-1800.zip  Alexander Kurtakov3 years I20210404-0600eclipse.jdt.core.binaries-I20210404-0600.tar.gz  eclipse.jdt.core.binaries-I20210404-0600.tar.xz  eclipse.jdt.core.binaries-I20210404-0600.zip  Alexander Kurtakov3 years I20210404-1800eclipse.jdt.core.binaries-I20210404-1800.tar.gz  eclipse.jdt.core.binaries-I20210404-1800.tar.xz  eclipse.jdt.core.binaries-I20210404-1800.zip  Alexander Kurtakov3 years I20210405-0600eclipse.jdt.core.binaries-I20210405-0600.tar.gz  eclipse.jdt.core.binaries-I20210405-0600.tar.xz  eclipse.jdt.core.binaries-I20210405-0600.zip  Alexander Kurtakov3 years I20210405-0630eclipse.jdt.core.binaries-I20210405-0630.tar.gz  eclipse.jdt.core.binaries-I20210405-0630.tar.xz  eclipse.jdt.core.binaries-I20210405-0630.zip  Alexander Kurtakov3 years I20210405-0840eclipse.jdt.core.binaries-I20210405-0840.tar.gz  eclipse.jdt.core.binaries-I20210405-0840.tar.xz  eclipse.jdt.core.binaries-I20210405-0840.zip  Alexander Kurtakov3 years I20210405-1800eclipse.jdt.core.binaries-I20210405-1800.tar.gz  eclipse.jdt.core.binaries-I20210405-1800.tar.xz  eclipse.jdt.core.binaries-I20210405-1800.zip  Alexander Kurtakov3 years I20210406-0600eclipse.jdt.core.binaries-I20210406-0600.tar.gz  eclipse.jdt.core.binaries-I20210406-0600.tar.xz  eclipse.jdt.core.binaries-I20210406-0600.zip  Alexander Kurtakov3 years I20210406-1800eclipse.jdt.core.binaries-I20210406-1800.tar.gz  eclipse.jdt.core.binaries-I20210406-1800.tar.xz  eclipse.jdt.core.binaries-I20210406-1800.zip  Alexander Kurtakov3 years I20210407-0040eclipse.jdt.core.binaries-I20210407-0040.tar.gz  eclipse.jdt.core.binaries-I20210407-0040.tar.xz  eclipse.jdt.core.binaries-I20210407-0040.zip  Alexander Kurtakov3 years I20210407-0600eclipse.jdt.core.binaries-I20210407-0600.tar.gz  eclipse.jdt.core.binaries-I20210407-0600.tar.xz  eclipse.jdt.core.binaries-I20210407-0600.zip  Alexander Kurtakov3 years I20210407-1800eclipse.jdt.core.binaries-I20210407-1800.tar.gz  eclipse.jdt.core.binaries-I20210407-1800.tar.xz  eclipse.jdt.core.binaries-I20210407-1800.zip  Alexander Kurtakov3 years I20210409-1800eclipse.jdt.core.binaries-I20210409-1800.tar.gz  eclipse.jdt.core.binaries-I20210409-1800.tar.xz  eclipse.jdt.core.binaries-I20210409-1800.zip  Alexander Kurtakov3 years I20210409-2140eclipse.jdt.core.binaries-I20210409-2140.tar.gz  eclipse.jdt.core.binaries-I20210409-2140.tar.xz  eclipse.jdt.core.binaries-I20210409-2140.zip  Alexander Kurtakov3 years I20210410-0630eclipse.jdt.core.binaries-I20210410-0630.tar.gz  eclipse.jdt.core.binaries-I20210410-0630.tar.xz  eclipse.jdt.core.binaries-I20210410-0630.zip  Alexander Kurtakov3 years I20210410-1800eclipse.jdt.core.binaries-I20210410-1800.tar.gz  eclipse.jdt.core.binaries-I20210410-1800.tar.xz  eclipse.jdt.core.binaries-I20210410-1800.zip  Alexander Kurtakov3 years I20210411-1800eclipse.jdt.core.binaries-I20210411-1800.tar.gz  eclipse.jdt.core.binaries-I20210411-1800.tar.xz  eclipse.jdt.core.binaries-I20210411-1800.zip  Alexander Kurtakov3 years I20210412-1800eclipse.jdt.core.binaries-I20210412-1800.tar.gz  eclipse.jdt.core.binaries-I20210412-1800.tar.xz  eclipse.jdt.core.binaries-I20210412-1800.zip  Alexander Kurtakov3 years I20210412-2130eclipse.jdt.core.binaries-I20210412-2130.tar.gz  eclipse.jdt.core.binaries-I20210412-2130.tar.xz  eclipse.jdt.core.binaries-I20210412-2130.zip  Alexander Kurtakov3 years I20210413-1400eclipse.jdt.core.binaries-I20210413-1400.tar.gz  eclipse.jdt.core.binaries-I20210413-1400.tar.xz  eclipse.jdt.core.binaries-I20210413-1400.zip  Alexander Kurtakov3 years I20210413-1800eclipse.jdt.core.binaries-I20210413-1800.tar.gz  eclipse.jdt.core.binaries-I20210413-1800.tar.xz  eclipse.jdt.core.binaries-I20210413-1800.zip  Alexander Kurtakov3 years I20210413-2350eclipse.jdt.core.binaries-I20210413-2350.tar.gz  eclipse.jdt.core.binaries-I20210413-2350.tar.xz  eclipse.jdt.core.binaries-I20210413-2350.zip  Alexander Kurtakov3 years I20210414-0330eclipse.jdt.core.binaries-I20210414-0330.tar.gz  eclipse.jdt.core.binaries-I20210414-0330.tar.xz  eclipse.jdt.core.binaries-I20210414-0330.zip  Alexander Kurtakov3 years I20210414-1800eclipse.jdt.core.binaries-I20210414-1800.tar.gz  eclipse.jdt.core.binaries-I20210414-1800.tar.xz  eclipse.jdt.core.binaries-I20210414-1800.zip  Alexander Kurtakov3 years I20210415-0010eclipse.jdt.core.binaries-I20210415-0010.tar.gz  eclipse.jdt.core.binaries-I20210415-0010.tar.xz  eclipse.jdt.core.binaries-I20210415-0010.zip  Alexander Kurtakov3 years I20210415-1800eclipse.jdt.core.binaries-I20210415-1800.tar.gz  eclipse.jdt.core.binaries-I20210415-1800.tar.xz  eclipse.jdt.core.binaries-I20210415-1800.zip  Alexander Kurtakov3 years I20210416-0810eclipse.jdt.core.binaries-I20210416-0810.tar.gz  eclipse.jdt.core.binaries-I20210416-0810.tar.xz  eclipse.jdt.core.binaries-I20210416-0810.zip  Alexander Kurtakov3 years I20210416-1800eclipse.jdt.core.binaries-I20210416-1800.tar.gz  eclipse.jdt.core.binaries-I20210416-1800.tar.xz  eclipse.jdt.core.binaries-I20210416-1800.zip  Alexander Kurtakov3 years I20210417-2330eclipse.jdt.core.binaries-I20210417-2330.tar.gz  eclipse.jdt.core.binaries-I20210417-2330.tar.xz  eclipse.jdt.core.binaries-I20210417-2330.zip  Alexander Kurtakov3 years I20210418-1800eclipse.jdt.core.binaries-I20210418-1800.tar.gz  eclipse.jdt.core.binaries-I20210418-1800.tar.xz  eclipse.jdt.core.binaries-I20210418-1800.zip  Alexander Kurtakov3 years I20210420-0240eclipse.jdt.core.binaries-I20210420-0240.tar.gz  eclipse.jdt.core.binaries-I20210420-0240.tar.xz  eclipse.jdt.core.binaries-I20210420-0240.zip  Alexander Kurtakov3 years I20210420-0500eclipse.jdt.core.binaries-I20210420-0500.tar.gz  eclipse.jdt.core.binaries-I20210420-0500.tar.xz  eclipse.jdt.core.binaries-I20210420-0500.zip  Alexander Kurtakov3 years I20210420-1800eclipse.jdt.core.binaries-I20210420-1800.tar.gz  eclipse.jdt.core.binaries-I20210420-1800.tar.xz  eclipse.jdt.core.binaries-I20210420-1800.zip  Alexander Kurtakov3 years I20210421-1800eclipse.jdt.core.binaries-I20210421-1800.tar.gz  eclipse.jdt.core.binaries-I20210421-1800.tar.xz  eclipse.jdt.core.binaries-I20210421-1800.zip  Alexander Kurtakov3 years I20210422-1800eclipse.jdt.core.binaries-I20210422-1800.tar.gz  eclipse.jdt.core.binaries-I20210422-1800.tar.xz  eclipse.jdt.core.binaries-I20210422-1800.zip  Alexander Kurtakov3 years I20210423-0140eclipse.jdt.core.binaries-I20210423-0140.tar.gz  eclipse.jdt.core.binaries-I20210423-0140.tar.xz  eclipse.jdt.core.binaries-I20210423-0140.zip  Alexander Kurtakov3 years I20210423-0350eclipse.jdt.core.binaries-I20210423-0350.tar.gz  eclipse.jdt.core.binaries-I20210423-0350.tar.xz  eclipse.jdt.core.binaries-I20210423-0350.zip  Alexander Kurtakov3 years I20210423-1800eclipse.jdt.core.binaries-I20210423-1800.tar.gz  eclipse.jdt.core.binaries-I20210423-1800.tar.xz  eclipse.jdt.core.binaries-I20210423-1800.zip  Alexander Kurtakov3 years I20210424-1800eclipse.jdt.core.binaries-I20210424-1800.tar.gz  eclipse.jdt.core.binaries-I20210424-1800.tar.xz  eclipse.jdt.core.binaries-I20210424-1800.zip  Alexander Kurtakov3 years I20210425-1800eclipse.jdt.core.binaries-I20210425-1800.tar.gz  eclipse.jdt.core.binaries-I20210425-1800.tar.xz  eclipse.jdt.core.binaries-I20210425-1800.zip  Alexander Kurtakov3 years I20210426-1800eclipse.jdt.core.binaries-I20210426-1800.tar.gz  eclipse.jdt.core.binaries-I20210426-1800.tar.xz  eclipse.jdt.core.binaries-I20210426-1800.zip  Alexander Kurtakov3 years I20210426-2110eclipse.jdt.core.binaries-I20210426-2110.tar.gz  eclipse.jdt.core.binaries-I20210426-2110.tar.xz  eclipse.jdt.core.binaries-I20210426-2110.zip  Alexander Kurtakov3 years I20210427-1800eclipse.jdt.core.binaries-I20210427-1800.tar.gz  eclipse.jdt.core.binaries-I20210427-1800.tar.xz  eclipse.jdt.core.binaries-I20210427-1800.zip  Alexander Kurtakov3 years I20210428-0040eclipse.jdt.core.binaries-I20210428-0040.tar.gz  eclipse.jdt.core.binaries-I20210428-0040.tar.xz  eclipse.jdt.core.binaries-I20210428-0040.zip  Alexander Kurtakov3 years I20210428-0330eclipse.jdt.core.binaries-I20210428-0330.tar.gz  eclipse.jdt.core.binaries-I20210428-0330.tar.xz  eclipse.jdt.core.binaries-I20210428-0330.zip  Alexander Kurtakov3 years I20210428-1800eclipse.jdt.core.binaries-I20210428-1800.tar.gz  eclipse.jdt.core.binaries-I20210428-1800.tar.xz  eclipse.jdt.core.binaries-I20210428-1800.zip  Alexander Kurtakov3 years I20210429-0600eclipse.jdt.core.binaries-I20210429-0600.tar.gz  eclipse.jdt.core.binaries-I20210429-0600.tar.xz  eclipse.jdt.core.binaries-I20210429-0600.zip  Alexander Kurtakov3 years I20210429-1800eclipse.jdt.core.binaries-I20210429-1800.tar.gz  eclipse.jdt.core.binaries-I20210429-1800.tar.xz  eclipse.jdt.core.binaries-I20210429-1800.zip  Alexander Kurtakov3 years I20210430-1800eclipse.jdt.core.binaries-I20210430-1800.tar.gz  eclipse.jdt.core.binaries-I20210430-1800.tar.xz  eclipse.jdt.core.binaries-I20210430-1800.zip  Alexander Kurtakov3 years I20210501-1800eclipse.jdt.core.binaries-I20210501-1800.tar.gz  eclipse.jdt.core.binaries-I20210501-1800.tar.xz  eclipse.jdt.core.binaries-I20210501-1800.zip  Alexander Kurtakov3 years I20210502-0730eclipse.jdt.core.binaries-I20210502-0730.tar.gz  eclipse.jdt.core.binaries-I20210502-0730.tar.xz  eclipse.jdt.core.binaries-I20210502-0730.zip  Alexander Kurtakov3 years I20210502-1800eclipse.jdt.core.binaries-I20210502-1800.tar.gz  eclipse.jdt.core.binaries-I20210502-1800.tar.xz  eclipse.jdt.core.binaries-I20210502-1800.zip  Alexander Kurtakov3 years I20210503-1800eclipse.jdt.core.binaries-I20210503-1800.tar.gz  eclipse.jdt.core.binaries-I20210503-1800.tar.xz  eclipse.jdt.core.binaries-I20210503-1800.zip  Alexander Kurtakov3 years I20210504-1800eclipse.jdt.core.binaries-I20210504-1800.tar.gz  eclipse.jdt.core.binaries-I20210504-1800.tar.xz  eclipse.jdt.core.binaries-I20210504-1800.zip  Alexander Kurtakov3 years I20210505-0100eclipse.jdt.core.binaries-I20210505-0100.tar.gz  eclipse.jdt.core.binaries-I20210505-0100.tar.xz  eclipse.jdt.core.binaries-I20210505-0100.zip  Alexander Kurtakov3 years I20210505-0510eclipse.jdt.core.binaries-I20210505-0510.tar.gz  eclipse.jdt.core.binaries-I20210505-0510.tar.xz  eclipse.jdt.core.binaries-I20210505-0510.zip  Alexander Kurtakov3 years I20210505-1800eclipse.jdt.core.binaries-I20210505-1800.tar.gz  eclipse.jdt.core.binaries-I20210505-1800.tar.xz  eclipse.jdt.core.binaries-I20210505-1800.zip  Alexander Kurtakov3 years I20210506-1800eclipse.jdt.core.binaries-I20210506-1800.tar.gz  eclipse.jdt.core.binaries-I20210506-1800.tar.xz  eclipse.jdt.core.binaries-I20210506-1800.zip  Alexander Kurtakov3 years I20210507-1800eclipse.jdt.core.binaries-I20210507-1800.tar.gz  eclipse.jdt.core.binaries-I20210507-1800.tar.xz  eclipse.jdt.core.binaries-I20210507-1800.zip  Alexander Kurtakov3 years I20210508-1800eclipse.jdt.core.binaries-I20210508-1800.tar.gz  eclipse.jdt.core.binaries-I20210508-1800.tar.xz  eclipse.jdt.core.binaries-I20210508-1800.zip  Alexander Kurtakov3 years I20210509-1800eclipse.jdt.core.binaries-I20210509-1800.tar.gz  eclipse.jdt.core.binaries-I20210509-1800.tar.xz  eclipse.jdt.core.binaries-I20210509-1800.zip  Alexander Kurtakov3 years I20210510-1800eclipse.jdt.core.binaries-I20210510-1800.tar.gz  eclipse.jdt.core.binaries-I20210510-1800.tar.xz  eclipse.jdt.core.binaries-I20210510-1800.zip  Alexander Kurtakov3 years I20210511-0200eclipse.jdt.core.binaries-I20210511-0200.tar.gz  eclipse.jdt.core.binaries-I20210511-0200.tar.xz  eclipse.jdt.core.binaries-I20210511-0200.zip  Alexander Kurtakov3 years I20210511-0330eclipse.jdt.core.binaries-I20210511-0330.tar.gz  eclipse.jdt.core.binaries-I20210511-0330.tar.xz  eclipse.jdt.core.binaries-I20210511-0330.zip  Alexander Kurtakov3 years I20210511-0740eclipse.jdt.core.binaries-I20210511-0740.tar.gz  eclipse.jdt.core.binaries-I20210511-0740.tar.xz  eclipse.jdt.core.binaries-I20210511-0740.zip  Alexander Kurtakov3 years I20210511-1800eclipse.jdt.core.binaries-I20210511-1800.tar.gz  eclipse.jdt.core.binaries-I20210511-1800.tar.xz  eclipse.jdt.core.binaries-I20210511-1800.zip  Alexander Kurtakov3 years I20210512-1800eclipse.jdt.core.binaries-I20210512-1800.tar.gz  eclipse.jdt.core.binaries-I20210512-1800.tar.xz  eclipse.jdt.core.binaries-I20210512-1800.zip  Alexander Kurtakov3 years I20210512-2250eclipse.jdt.core.binaries-I20210512-2250.tar.gz  eclipse.jdt.core.binaries-I20210512-2250.tar.xz  eclipse.jdt.core.binaries-I20210512-2250.zip  Alexander Kurtakov3 years I20210513-1800eclipse.jdt.core.binaries-I20210513-1800.tar.gz  eclipse.jdt.core.binaries-I20210513-1800.tar.xz  eclipse.jdt.core.binaries-I20210513-1800.zip  Alexander Kurtakov3 years I20210514-1800eclipse.jdt.core.binaries-I20210514-1800.tar.gz  eclipse.jdt.core.binaries-I20210514-1800.tar.xz  eclipse.jdt.core.binaries-I20210514-1800.zip  Alexander Kurtakov3 years I20210515-0600eclipse.jdt.core.binaries-I20210515-0600.tar.gz  eclipse.jdt.core.binaries-I20210515-0600.tar.xz  eclipse.jdt.core.binaries-I20210515-0600.zip  Alexander Kurtakov3 years I20210515-1800eclipse.jdt.core.binaries-I20210515-1800.tar.gz  eclipse.jdt.core.binaries-I20210515-1800.tar.xz  eclipse.jdt.core.binaries-I20210515-1800.zip  Alexander Kurtakov3 years I20210516-0600eclipse.jdt.core.binaries-I20210516-0600.tar.gz  eclipse.jdt.core.binaries-I20210516-0600.tar.xz  eclipse.jdt.core.binaries-I20210516-0600.zip  Alexander Kurtakov3 years I20210516-1800eclipse.jdt.core.binaries-I20210516-1800.tar.gz  eclipse.jdt.core.binaries-I20210516-1800.tar.xz  eclipse.jdt.core.binaries-I20210516-1800.zip  Alexander Kurtakov3 years I20210517-0600eclipse.jdt.core.binaries-I20210517-0600.tar.gz  eclipse.jdt.core.binaries-I20210517-0600.tar.xz  eclipse.jdt.core.binaries-I20210517-0600.zip  Alexander Kurtakov3 years I20210517-1800eclipse.jdt.core.binaries-I20210517-1800.tar.gz  eclipse.jdt.core.binaries-I20210517-1800.tar.xz  eclipse.jdt.core.binaries-I20210517-1800.zip  Alexander Kurtakov3 years I20210518-0200eclipse.jdt.core.binaries-I20210518-0200.tar.gz  eclipse.jdt.core.binaries-I20210518-0200.tar.xz  eclipse.jdt.core.binaries-I20210518-0200.zip  Alexander Kurtakov3 years I20210518-0600eclipse.jdt.core.binaries-I20210518-0600.tar.gz  eclipse.jdt.core.binaries-I20210518-0600.tar.xz  eclipse.jdt.core.binaries-I20210518-0600.zip  Alexander Kurtakov3 years I20210518-0850eclipse.jdt.core.binaries-I20210518-0850.tar.gz  eclipse.jdt.core.binaries-I20210518-0850.tar.xz  eclipse.jdt.core.binaries-I20210518-0850.zip  Alexander Kurtakov3 years I20210518-1800eclipse.jdt.core.binaries-I20210518-1800.tar.gz  eclipse.jdt.core.binaries-I20210518-1800.tar.xz  eclipse.jdt.core.binaries-I20210518-1800.zip  Alexander Kurtakov3 years I20210519-0600eclipse.jdt.core.binaries-I20210519-0600.tar.gz  eclipse.jdt.core.binaries-I20210519-0600.tar.xz  eclipse.jdt.core.binaries-I20210519-0600.zip  Alexander Kurtakov3 years I20210519-1800eclipse.jdt.core.binaries-I20210519-1800.tar.gz  eclipse.jdt.core.binaries-I20210519-1800.tar.xz  eclipse.jdt.core.binaries-I20210519-1800.zip  Alexander Kurtakov3 years I20210521-0110eclipse.jdt.core.binaries-I20210521-0110.tar.gz  eclipse.jdt.core.binaries-I20210521-0110.tar.xz  eclipse.jdt.core.binaries-I20210521-0110.zip  Alexander Kurtakov3 years I20210521-0150eclipse.jdt.core.binaries-I20210521-0150.tar.gz  eclipse.jdt.core.binaries-I20210521-0150.tar.xz  eclipse.jdt.core.binaries-I20210521-0150.zip  Alexander Kurtakov3 years I20210521-1800eclipse.jdt.core.binaries-I20210521-1800.tar.gz  eclipse.jdt.core.binaries-I20210521-1800.tar.xz  eclipse.jdt.core.binaries-I20210521-1800.zip  Alexander Kurtakov3 years I20210522-0600eclipse.jdt.core.binaries-I20210522-0600.tar.gz  eclipse.jdt.core.binaries-I20210522-0600.tar.xz  eclipse.jdt.core.binaries-I20210522-0600.zip  Alexander Kurtakov3 years I20210522-1800eclipse.jdt.core.binaries-I20210522-1800.tar.gz  eclipse.jdt.core.binaries-I20210522-1800.tar.xz  eclipse.jdt.core.binaries-I20210522-1800.zip  Alexander Kurtakov3 years I20210523-0600eclipse.jdt.core.binaries-I20210523-0600.tar.gz  eclipse.jdt.core.binaries-I20210523-0600.tar.xz  eclipse.jdt.core.binaries-I20210523-0600.zip  Alexander Kurtakov3 years I20210523-1800eclipse.jdt.core.binaries-I20210523-1800.tar.gz  eclipse.jdt.core.binaries-I20210523-1800.tar.xz  eclipse.jdt.core.binaries-I20210523-1800.zip  Alexander Kurtakov3 years I20210524-0600eclipse.jdt.core.binaries-I20210524-0600.tar.gz  eclipse.jdt.core.binaries-I20210524-0600.tar.xz  eclipse.jdt.core.binaries-I20210524-0600.zip  Alexander Kurtakov3 years I20210524-1800eclipse.jdt.core.binaries-I20210524-1800.tar.gz  eclipse.jdt.core.binaries-I20210524-1800.tar.xz  eclipse.jdt.core.binaries-I20210524-1800.zip  Alexander Kurtakov3 years I20210525-0730eclipse.jdt.core.binaries-I20210525-0730.tar.gz  eclipse.jdt.core.binaries-I20210525-0730.tar.xz  eclipse.jdt.core.binaries-I20210525-0730.zip  Alexander Kurtakov3 years I20210525-1800eclipse.jdt.core.binaries-I20210525-1800.tar.gz  eclipse.jdt.core.binaries-I20210525-1800.tar.xz  eclipse.jdt.core.binaries-I20210525-1800.zip  Alexander Kurtakov3 years I20210526-0600eclipse.jdt.core.binaries-I20210526-0600.tar.gz  eclipse.jdt.core.binaries-I20210526-0600.tar.xz  eclipse.jdt.core.binaries-I20210526-0600.zip  Alexander Kurtakov3 years I20210526-1800eclipse.jdt.core.binaries-I20210526-1800.tar.gz  eclipse.jdt.core.binaries-I20210526-1800.tar.xz  eclipse.jdt.core.binaries-I20210526-1800.zip  Alexander Kurtakov3 years I20210526-2310eclipse.jdt.core.binaries-I20210526-2310.tar.gz  eclipse.jdt.core.binaries-I20210526-2310.tar.xz  eclipse.jdt.core.binaries-I20210526-2310.zip  Alexander Kurtakov3 years I20210528-1800eclipse.jdt.core.binaries-I20210528-1800.tar.gz  eclipse.jdt.core.binaries-I20210528-1800.tar.xz  eclipse.jdt.core.binaries-I20210528-1800.zip  Alexander Kurtakov3 years I20210529-0600eclipse.jdt.core.binaries-I20210529-0600.tar.gz  eclipse.jdt.core.binaries-I20210529-0600.tar.xz  eclipse.jdt.core.binaries-I20210529-0600.zip  Alexander Kurtakov3 years I20210529-1800eclipse.jdt.core.binaries-I20210529-1800.tar.gz  eclipse.jdt.core.binaries-I20210529-1800.tar.xz  eclipse.jdt.core.binaries-I20210529-1800.zip  Alexander Kurtakov3 years I20210530-1800eclipse.jdt.core.binaries-I20210530-1800.tar.gz  eclipse.jdt.core.binaries-I20210530-1800.tar.xz  eclipse.jdt.core.binaries-I20210530-1800.zip  Alexander Kurtakov3 years I20210531-0600eclipse.jdt.core.binaries-I20210531-0600.tar.gz  eclipse.jdt.core.binaries-I20210531-0600.tar.xz  eclipse.jdt.core.binaries-I20210531-0600.zip  Alexander Kurtakov3 years I20210531-1800eclipse.jdt.core.binaries-I20210531-1800.tar.gz  eclipse.jdt.core.binaries-I20210531-1800.tar.xz  eclipse.jdt.core.binaries-I20210531-1800.zip  Alexander Kurtakov3 years I20210601-0600eclipse.jdt.core.binaries-I20210601-0600.tar.gz  eclipse.jdt.core.binaries-I20210601-0600.tar.xz  eclipse.jdt.core.binaries-I20210601-0600.zip  Alexander Kurtakov3 years I20210601-1800eclipse.jdt.core.binaries-I20210601-1800.tar.gz  eclipse.jdt.core.binaries-I20210601-1800.tar.xz  eclipse.jdt.core.binaries-I20210601-1800.zip  Alexander Kurtakov3 years I20210602-0600eclipse.jdt.core.binaries-I20210602-0600.tar.gz  eclipse.jdt.core.binaries-I20210602-0600.tar.xz  eclipse.jdt.core.binaries-I20210602-0600.zip  Alexander Kurtakov3 years I20210602-1800eclipse.jdt.core.binaries-I20210602-1800.tar.gz  eclipse.jdt.core.binaries-I20210602-1800.tar.xz  eclipse.jdt.core.binaries-I20210602-1800.zip  Alexander Kurtakov3 years I20210603-0040eclipse.jdt.core.binaries-I20210603-0040.tar.gz  eclipse.jdt.core.binaries-I20210603-0040.tar.xz  eclipse.jdt.core.binaries-I20210603-0040.zip  Alexander Kurtakov3 years I20210609-0220eclipse.jdt.core.binaries-I20210609-0220.tar.gz  eclipse.jdt.core.binaries-I20210609-0220.tar.xz  eclipse.jdt.core.binaries-I20210609-0220.zip  Alexander Kurtakov3 years I20210609-0400eclipse.jdt.core.binaries-I20210609-0400.tar.gz  eclipse.jdt.core.binaries-I20210609-0400.tar.xz  eclipse.jdt.core.binaries-I20210609-0400.zip  Alexander Kurtakov3 years I20210609-0520eclipse.jdt.core.binaries-I20210609-0520.tar.gz  eclipse.jdt.core.binaries-I20210609-0520.tar.xz  eclipse.jdt.core.binaries-I20210609-0520.zip  Alexander Kurtakov3 years I20210610-0400eclipse.jdt.core.binaries-I20210610-0400.tar.gz  eclipse.jdt.core.binaries-I20210610-0400.tar.xz  eclipse.jdt.core.binaries-I20210610-0400.zip  Alexander Kurtakov3 years I20210610-1220eclipse.jdt.core.binaries-I20210610-1220.tar.gz  eclipse.jdt.core.binaries-I20210610-1220.tar.xz  eclipse.jdt.core.binaries-I20210610-1220.zip  Alexander Kurtakov3 years I20210610-1250eclipse.jdt.core.binaries-I20210610-1250.tar.gz  eclipse.jdt.core.binaries-I20210610-1250.tar.xz  eclipse.jdt.core.binaries-I20210610-1250.zip  Alexander Kurtakov3 years I20210611-1600eclipse.jdt.core.binaries-I20210611-1600.tar.gz  eclipse.jdt.core.binaries-I20210611-1600.tar.xz  eclipse.jdt.core.binaries-I20210611-1600.zip  Alexander Kurtakov3 years S4_19_0_RC2eclipse.jdt.core.binaries-S4_19_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_19_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_19_0_RC2.zip  Eclipse Releng Bot3 years S4_19_0_RC1eclipse.jdt.core.binaries-S4_19_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_19_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_19_0_RC1.zip  Eclipse Releng Bot3 years S4_19_0_M3eclipse.jdt.core.binaries-S4_19_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_19_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_19_0_M3.zip  Eclipse Releng Bot3 years S4_19_0_M1eclipse.jdt.core.binaries-S4_19_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_19_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_19_0_M1.zip  Eclipse Releng Bot4 years R4_18eclipse.jdt.core.binaries-R4_18.tar.gz  eclipse.jdt.core.binaries-R4_18.tar.xz  eclipse.jdt.core.binaries-R4_18.zip  Eclipse Releng Bot4 years S4_18_0_RC2eclipse.jdt.core.binaries-S4_18_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_18_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_18_0_RC2.zip  Eclipse Releng Bot4 years I20201204-0340eclipse.jdt.core.binaries-I20201204-0340.tar.gz  eclipse.jdt.core.binaries-I20201204-0340.tar.xz  eclipse.jdt.core.binaries-I20201204-0340.zip  Sravan Kumar Lakkimsetti4 years I20201204-0610eclipse.jdt.core.binaries-I20201204-0610.tar.gz  eclipse.jdt.core.binaries-I20201204-0610.tar.xz  eclipse.jdt.core.binaries-I20201204-0610.zip  Sravan Kumar Lakkimsetti4 years I20201204-0830eclipse.jdt.core.binaries-I20201204-0830.tar.gz  eclipse.jdt.core.binaries-I20201204-0830.tar.xz  eclipse.jdt.core.binaries-I20201204-0830.zip  Sravan Kumar Lakkimsetti4 years I20201204-1800eclipse.jdt.core.binaries-I20201204-1800.tar.gz  eclipse.jdt.core.binaries-I20201204-1800.tar.xz  eclipse.jdt.core.binaries-I20201204-1800.zip  Sravan Kumar Lakkimsetti4 years I20201205-1800eclipse.jdt.core.binaries-I20201205-1800.tar.gz  eclipse.jdt.core.binaries-I20201205-1800.tar.xz  eclipse.jdt.core.binaries-I20201205-1800.zip  Sravan Kumar Lakkimsetti4 years I20201206-1800eclipse.jdt.core.binaries-I20201206-1800.tar.gz  eclipse.jdt.core.binaries-I20201206-1800.tar.xz  eclipse.jdt.core.binaries-I20201206-1800.zip  Sravan Kumar Lakkimsetti4 years I20201207-1800eclipse.jdt.core.binaries-I20201207-1800.tar.gz  eclipse.jdt.core.binaries-I20201207-1800.tar.xz  eclipse.jdt.core.binaries-I20201207-1800.zip  Sravan Kumar Lakkimsetti4 years I20201208-0300eclipse.jdt.core.binaries-I20201208-0300.tar.gz  eclipse.jdt.core.binaries-I20201208-0300.tar.xz  eclipse.jdt.core.binaries-I20201208-0300.zip  Sravan Kumar Lakkimsetti4 years I20201208-1800eclipse.jdt.core.binaries-I20201208-1800.tar.gz  eclipse.jdt.core.binaries-I20201208-1800.tar.xz  eclipse.jdt.core.binaries-I20201208-1800.zip  Sravan Kumar Lakkimsetti4 years I20201208-2310eclipse.jdt.core.binaries-I20201208-2310.tar.gz  eclipse.jdt.core.binaries-I20201208-2310.tar.xz  eclipse.jdt.core.binaries-I20201208-2310.zip  Sravan Kumar Lakkimsetti4 years I20201209-1800eclipse.jdt.core.binaries-I20201209-1800.tar.gz  eclipse.jdt.core.binaries-I20201209-1800.tar.xz  eclipse.jdt.core.binaries-I20201209-1800.zip  Sravan Kumar Lakkimsetti4 years I20201210-1800eclipse.jdt.core.binaries-I20201210-1800.tar.gz  eclipse.jdt.core.binaries-I20201210-1800.tar.xz  eclipse.jdt.core.binaries-I20201210-1800.zip  Sravan Kumar Lakkimsetti4 years I20201211-1800eclipse.jdt.core.binaries-I20201211-1800.tar.gz  eclipse.jdt.core.binaries-I20201211-1800.tar.xz  eclipse.jdt.core.binaries-I20201211-1800.zip  Sravan Kumar Lakkimsetti4 years I20201212-1800eclipse.jdt.core.binaries-I20201212-1800.tar.gz  eclipse.jdt.core.binaries-I20201212-1800.tar.xz  eclipse.jdt.core.binaries-I20201212-1800.zip  Sravan Kumar Lakkimsetti4 years I20201213-1800eclipse.jdt.core.binaries-I20201213-1800.tar.gz  eclipse.jdt.core.binaries-I20201213-1800.tar.xz  eclipse.jdt.core.binaries-I20201213-1800.zip  Sravan Kumar Lakkimsetti4 years I20201214-1800eclipse.jdt.core.binaries-I20201214-1800.tar.gz  eclipse.jdt.core.binaries-I20201214-1800.tar.xz  eclipse.jdt.core.binaries-I20201214-1800.zip  Sravan Kumar Lakkimsetti4 years I20201215-1800eclipse.jdt.core.binaries-I20201215-1800.tar.gz  eclipse.jdt.core.binaries-I20201215-1800.tar.xz  eclipse.jdt.core.binaries-I20201215-1800.zip  Sravan Kumar Lakkimsetti4 years I20201216-2110eclipse.jdt.core.binaries-I20201216-2110.tar.gz  eclipse.jdt.core.binaries-I20201216-2110.tar.xz  eclipse.jdt.core.binaries-I20201216-2110.zip  Sravan Kumar Lakkimsetti4 years I20201217-1800eclipse.jdt.core.binaries-I20201217-1800.tar.gz  eclipse.jdt.core.binaries-I20201217-1800.tar.xz  eclipse.jdt.core.binaries-I20201217-1800.zip  Sravan Kumar Lakkimsetti4 years I20201218-1800eclipse.jdt.core.binaries-I20201218-1800.tar.gz  eclipse.jdt.core.binaries-I20201218-1800.tar.xz  eclipse.jdt.core.binaries-I20201218-1800.zip  Sravan Kumar Lakkimsetti4 years I20201219-1800eclipse.jdt.core.binaries-I20201219-1800.tar.gz  eclipse.jdt.core.binaries-I20201219-1800.tar.xz  eclipse.jdt.core.binaries-I20201219-1800.zip  Sravan Kumar Lakkimsetti4 years I20201220-1800eclipse.jdt.core.binaries-I20201220-1800.tar.gz  eclipse.jdt.core.binaries-I20201220-1800.tar.xz  eclipse.jdt.core.binaries-I20201220-1800.zip  Sravan Kumar Lakkimsetti4 years I20201221-1800eclipse.jdt.core.binaries-I20201221-1800.tar.gz  eclipse.jdt.core.binaries-I20201221-1800.tar.xz  eclipse.jdt.core.binaries-I20201221-1800.zip  Sravan Kumar Lakkimsetti4 years I20201222-1800eclipse.jdt.core.binaries-I20201222-1800.tar.gz  eclipse.jdt.core.binaries-I20201222-1800.tar.xz  eclipse.jdt.core.binaries-I20201222-1800.zip  Sravan Kumar Lakkimsetti4 years I20201223-1800eclipse.jdt.core.binaries-I20201223-1800.tar.gz  eclipse.jdt.core.binaries-I20201223-1800.tar.xz  eclipse.jdt.core.binaries-I20201223-1800.zip  Sravan Kumar Lakkimsetti4 years I20201224-1800eclipse.jdt.core.binaries-I20201224-1800.tar.gz  eclipse.jdt.core.binaries-I20201224-1800.tar.xz  eclipse.jdt.core.binaries-I20201224-1800.zip  Sravan Kumar Lakkimsetti4 years I20201225-0130eclipse.jdt.core.binaries-I20201225-0130.tar.gz  eclipse.jdt.core.binaries-I20201225-0130.tar.xz  eclipse.jdt.core.binaries-I20201225-0130.zip  Sravan Kumar Lakkimsetti4 years I20201225-0450eclipse.jdt.core.binaries-I20201225-0450.tar.gz  eclipse.jdt.core.binaries-I20201225-0450.tar.xz  eclipse.jdt.core.binaries-I20201225-0450.zip  Sravan Kumar Lakkimsetti4 years I20201225-1800eclipse.jdt.core.binaries-I20201225-1800.tar.gz  eclipse.jdt.core.binaries-I20201225-1800.tar.xz  eclipse.jdt.core.binaries-I20201225-1800.zip  Sravan Kumar Lakkimsetti4 years I20201226-0940eclipse.jdt.core.binaries-I20201226-0940.tar.gz  eclipse.jdt.core.binaries-I20201226-0940.tar.xz  eclipse.jdt.core.binaries-I20201226-0940.zip  Sravan Kumar Lakkimsetti4 years I20201226-1800eclipse.jdt.core.binaries-I20201226-1800.tar.gz  eclipse.jdt.core.binaries-I20201226-1800.tar.xz  eclipse.jdt.core.binaries-I20201226-1800.zip  Sravan Kumar Lakkimsetti4 years I20201227-1800eclipse.jdt.core.binaries-I20201227-1800.tar.gz  eclipse.jdt.core.binaries-I20201227-1800.tar.xz  eclipse.jdt.core.binaries-I20201227-1800.zip  Sravan Kumar Lakkimsetti4 years I20201228-1800eclipse.jdt.core.binaries-I20201228-1800.tar.gz  eclipse.jdt.core.binaries-I20201228-1800.tar.xz  eclipse.jdt.core.binaries-I20201228-1800.zip  Sravan Kumar Lakkimsetti4 years I20201229-1800eclipse.jdt.core.binaries-I20201229-1800.tar.gz  eclipse.jdt.core.binaries-I20201229-1800.tar.xz  eclipse.jdt.core.binaries-I20201229-1800.zip  Sravan Kumar Lakkimsetti4 years I20201230-1800eclipse.jdt.core.binaries-I20201230-1800.tar.gz  eclipse.jdt.core.binaries-I20201230-1800.tar.xz  eclipse.jdt.core.binaries-I20201230-1800.zip  Sravan Kumar Lakkimsetti4 years I20201230-2150eclipse.jdt.core.binaries-I20201230-2150.tar.gz  eclipse.jdt.core.binaries-I20201230-2150.tar.xz  eclipse.jdt.core.binaries-I20201230-2150.zip  Sravan Kumar Lakkimsetti4 years I20201231-1800eclipse.jdt.core.binaries-I20201231-1800.tar.gz  eclipse.jdt.core.binaries-I20201231-1800.tar.xz  eclipse.jdt.core.binaries-I20201231-1800.zip  Sravan Kumar Lakkimsetti4 years I20210101-0720eclipse.jdt.core.binaries-I20210101-0720.tar.gz  eclipse.jdt.core.binaries-I20210101-0720.tar.xz  eclipse.jdt.core.binaries-I20210101-0720.zip  Sravan Kumar Lakkimsetti4 years I20210101-1800eclipse.jdt.core.binaries-I20210101-1800.tar.gz  eclipse.jdt.core.binaries-I20210101-1800.tar.xz  eclipse.jdt.core.binaries-I20210101-1800.zip  Sravan Kumar Lakkimsetti4 years I20210102-0600eclipse.jdt.core.binaries-I20210102-0600.tar.gz  eclipse.jdt.core.binaries-I20210102-0600.tar.xz  eclipse.jdt.core.binaries-I20210102-0600.zip  Sravan Kumar Lakkimsetti4 years I20210102-1800eclipse.jdt.core.binaries-I20210102-1800.tar.gz  eclipse.jdt.core.binaries-I20210102-1800.tar.xz  eclipse.jdt.core.binaries-I20210102-1800.zip  Sravan Kumar Lakkimsetti4 years I20210103-0600eclipse.jdt.core.binaries-I20210103-0600.tar.gz  eclipse.jdt.core.binaries-I20210103-0600.tar.xz  eclipse.jdt.core.binaries-I20210103-0600.zip  Sravan Kumar Lakkimsetti4 years I20210103-1800eclipse.jdt.core.binaries-I20210103-1800.tar.gz  eclipse.jdt.core.binaries-I20210103-1800.tar.xz  eclipse.jdt.core.binaries-I20210103-1800.zip  Sravan Kumar Lakkimsetti4 years I20210104-0600eclipse.jdt.core.binaries-I20210104-0600.tar.gz  eclipse.jdt.core.binaries-I20210104-0600.tar.xz  eclipse.jdt.core.binaries-I20210104-0600.zip  Sravan Kumar Lakkimsetti4 years I20210104-1800eclipse.jdt.core.binaries-I20210104-1800.tar.gz  eclipse.jdt.core.binaries-I20210104-1800.tar.xz  eclipse.jdt.core.binaries-I20210104-1800.zip  Sravan Kumar Lakkimsetti4 years I20210105-0600eclipse.jdt.core.binaries-I20210105-0600.tar.gz  eclipse.jdt.core.binaries-I20210105-0600.tar.xz  eclipse.jdt.core.binaries-I20210105-0600.zip  Sravan Kumar Lakkimsetti4 years I20210105-1800eclipse.jdt.core.binaries-I20210105-1800.tar.gz  eclipse.jdt.core.binaries-I20210105-1800.tar.xz  eclipse.jdt.core.binaries-I20210105-1800.zip  Sravan Kumar Lakkimsetti4 years I20210106-0600eclipse.jdt.core.binaries-I20210106-0600.tar.gz  eclipse.jdt.core.binaries-I20210106-0600.tar.xz  eclipse.jdt.core.binaries-I20210106-0600.zip  Sravan Kumar Lakkimsetti4 years I20210106-1800eclipse.jdt.core.binaries-I20210106-1800.tar.gz  eclipse.jdt.core.binaries-I20210106-1800.tar.xz  eclipse.jdt.core.binaries-I20210106-1800.zip  Sravan Kumar Lakkimsetti4 years I20210108-0220eclipse.jdt.core.binaries-I20210108-0220.tar.gz  eclipse.jdt.core.binaries-I20210108-0220.tar.xz  eclipse.jdt.core.binaries-I20210108-0220.zip  Sravan Kumar Lakkimsetti4 years I20210108-1800eclipse.jdt.core.binaries-I20210108-1800.tar.gz  eclipse.jdt.core.binaries-I20210108-1800.tar.xz  eclipse.jdt.core.binaries-I20210108-1800.zip  Sravan Kumar Lakkimsetti4 years I20210109-1830eclipse.jdt.core.binaries-I20210109-1830.tar.gz  eclipse.jdt.core.binaries-I20210109-1830.tar.xz  eclipse.jdt.core.binaries-I20210109-1830.zip  Sravan Kumar Lakkimsetti4 years I20210110-1800eclipse.jdt.core.binaries-I20210110-1800.tar.gz  eclipse.jdt.core.binaries-I20210110-1800.tar.xz  eclipse.jdt.core.binaries-I20210110-1800.zip  Sravan Kumar Lakkimsetti4 years I20210111-1800eclipse.jdt.core.binaries-I20210111-1800.tar.gz  eclipse.jdt.core.binaries-I20210111-1800.tar.xz  eclipse.jdt.core.binaries-I20210111-1800.zip  Sravan Kumar Lakkimsetti4 years I20210112-0850eclipse.jdt.core.binaries-I20210112-0850.tar.gz  eclipse.jdt.core.binaries-I20210112-0850.tar.xz  eclipse.jdt.core.binaries-I20210112-0850.zip  Sravan Kumar Lakkimsetti4 years I20210112-1800eclipse.jdt.core.binaries-I20210112-1800.tar.gz  eclipse.jdt.core.binaries-I20210112-1800.tar.xz  eclipse.jdt.core.binaries-I20210112-1800.zip  Sravan Kumar Lakkimsetti4 years I20210114-0310eclipse.jdt.core.binaries-I20210114-0310.tar.gz  eclipse.jdt.core.binaries-I20210114-0310.tar.xz  eclipse.jdt.core.binaries-I20210114-0310.zip  Sravan Kumar Lakkimsetti4 years I20210114-0510eclipse.jdt.core.binaries-I20210114-0510.tar.gz  eclipse.jdt.core.binaries-I20210114-0510.tar.xz  eclipse.jdt.core.binaries-I20210114-0510.zip  Sravan Kumar Lakkimsetti4 years I20210114-1800eclipse.jdt.core.binaries-I20210114-1800.tar.gz  eclipse.jdt.core.binaries-I20210114-1800.tar.xz  eclipse.jdt.core.binaries-I20210114-1800.zip  Sravan Kumar Lakkimsetti4 years I20210115-1810eclipse.jdt.core.binaries-I20210115-1810.tar.gz  eclipse.jdt.core.binaries-I20210115-1810.tar.xz  eclipse.jdt.core.binaries-I20210115-1810.zip  Sravan Kumar Lakkimsetti4 years I20210116-0340eclipse.jdt.core.binaries-I20210116-0340.tar.gz  eclipse.jdt.core.binaries-I20210116-0340.tar.xz  eclipse.jdt.core.binaries-I20210116-0340.zip  Sravan Kumar Lakkimsetti4 years I20210116-1800eclipse.jdt.core.binaries-I20210116-1800.tar.gz  eclipse.jdt.core.binaries-I20210116-1800.tar.xz  eclipse.jdt.core.binaries-I20210116-1800.zip  Sravan Kumar Lakkimsetti4 years I20210117-1800eclipse.jdt.core.binaries-I20210117-1800.tar.gz  eclipse.jdt.core.binaries-I20210117-1800.tar.xz  eclipse.jdt.core.binaries-I20210117-1800.zip  Sravan Kumar Lakkimsetti4 years I20210117-1940eclipse.jdt.core.binaries-I20210117-1940.tar.gz  eclipse.jdt.core.binaries-I20210117-1940.tar.xz  eclipse.jdt.core.binaries-I20210117-1940.zip  Sravan Kumar Lakkimsetti4 years I20210118-1800eclipse.jdt.core.binaries-I20210118-1800.tar.gz  eclipse.jdt.core.binaries-I20210118-1800.tar.xz  eclipse.jdt.core.binaries-I20210118-1800.zip  Sravan Kumar Lakkimsetti4 years I20210120-1400eclipse.jdt.core.binaries-I20210120-1400.tar.gz  eclipse.jdt.core.binaries-I20210120-1400.tar.xz  eclipse.jdt.core.binaries-I20210120-1400.zip  Sravan Kumar Lakkimsetti4 years I20210120-1800eclipse.jdt.core.binaries-I20210120-1800.tar.gz  eclipse.jdt.core.binaries-I20210120-1800.tar.xz  eclipse.jdt.core.binaries-I20210120-1800.zip  Sravan Kumar Lakkimsetti4 years I20210121-2140eclipse.jdt.core.binaries-I20210121-2140.tar.gz  eclipse.jdt.core.binaries-I20210121-2140.tar.xz  eclipse.jdt.core.binaries-I20210121-2140.zip  Sravan Kumar Lakkimsetti4 years I20210123-0020eclipse.jdt.core.binaries-I20210123-0020.tar.gz  eclipse.jdt.core.binaries-I20210123-0020.tar.xz  eclipse.jdt.core.binaries-I20210123-0020.zip  Sravan Kumar Lakkimsetti4 years I20210123-1800eclipse.jdt.core.binaries-I20210123-1800.tar.gz  eclipse.jdt.core.binaries-I20210123-1800.tar.xz  eclipse.jdt.core.binaries-I20210123-1800.zip  Sravan Kumar Lakkimsetti4 years I20210124-1800eclipse.jdt.core.binaries-I20210124-1800.tar.gz  eclipse.jdt.core.binaries-I20210124-1800.tar.xz  eclipse.jdt.core.binaries-I20210124-1800.zip  Sravan Kumar Lakkimsetti4 years I20210125-1800eclipse.jdt.core.binaries-I20210125-1800.tar.gz  eclipse.jdt.core.binaries-I20210125-1800.tar.xz  eclipse.jdt.core.binaries-I20210125-1800.zip  Sravan Kumar Lakkimsetti4 years I20210126-1800eclipse.jdt.core.binaries-I20210126-1800.tar.gz  eclipse.jdt.core.binaries-I20210126-1800.tar.xz  eclipse.jdt.core.binaries-I20210126-1800.zip  Sravan Kumar Lakkimsetti4 years I20210127-1800eclipse.jdt.core.binaries-I20210127-1800.tar.gz  eclipse.jdt.core.binaries-I20210127-1800.tar.xz  eclipse.jdt.core.binaries-I20210127-1800.zip  Sravan Kumar Lakkimsetti4 years I20210128-1800eclipse.jdt.core.binaries-I20210128-1800.tar.gz  eclipse.jdt.core.binaries-I20210128-1800.tar.xz  eclipse.jdt.core.binaries-I20210128-1800.zip  Sravan Kumar Lakkimsetti4 years I20210129-1800eclipse.jdt.core.binaries-I20210129-1800.tar.gz  eclipse.jdt.core.binaries-I20210129-1800.tar.xz  eclipse.jdt.core.binaries-I20210129-1800.zip  Sravan Kumar Lakkimsetti4 years I20210130-1800eclipse.jdt.core.binaries-I20210130-1800.tar.gz  eclipse.jdt.core.binaries-I20210130-1800.tar.xz  eclipse.jdt.core.binaries-I20210130-1800.zip  Sravan Kumar Lakkimsetti4 years I20210131-1800eclipse.jdt.core.binaries-I20210131-1800.tar.gz  eclipse.jdt.core.binaries-I20210131-1800.tar.xz  eclipse.jdt.core.binaries-I20210131-1800.zip  Sravan Kumar Lakkimsetti4 years I20210201-1800eclipse.jdt.core.binaries-I20210201-1800.tar.gz  eclipse.jdt.core.binaries-I20210201-1800.tar.xz  eclipse.jdt.core.binaries-I20210201-1800.zip  Sravan Kumar Lakkimsetti4 years I20210202-1840eclipse.jdt.core.binaries-I20210202-1840.tar.gz  eclipse.jdt.core.binaries-I20210202-1840.tar.xz  eclipse.jdt.core.binaries-I20210202-1840.zip  Sravan Kumar Lakkimsetti4 years I20210203-1800eclipse.jdt.core.binaries-I20210203-1800.tar.gz  eclipse.jdt.core.binaries-I20210203-1800.tar.xz  eclipse.jdt.core.binaries-I20210203-1800.zip  Sravan Kumar Lakkimsetti4 years I20210204-0300eclipse.jdt.core.binaries-I20210204-0300.tar.gz  eclipse.jdt.core.binaries-I20210204-0300.tar.xz  eclipse.jdt.core.binaries-I20210204-0300.zip  Sravan Kumar Lakkimsetti4 years I20210204-0900eclipse.jdt.core.binaries-I20210204-0900.tar.gz  eclipse.jdt.core.binaries-I20210204-0900.tar.xz  eclipse.jdt.core.binaries-I20210204-0900.zip  Sravan Kumar Lakkimsetti4 years I20210204-1100eclipse.jdt.core.binaries-I20210204-1100.tar.gz  eclipse.jdt.core.binaries-I20210204-1100.tar.xz  eclipse.jdt.core.binaries-I20210204-1100.zip  Sravan Kumar Lakkimsetti4 years I20210204-1300eclipse.jdt.core.binaries-I20210204-1300.tar.gz  eclipse.jdt.core.binaries-I20210204-1300.tar.xz  eclipse.jdt.core.binaries-I20210204-1300.zip  Sravan Kumar Lakkimsetti4 years I20210204-1430eclipse.jdt.core.binaries-I20210204-1430.tar.gz  eclipse.jdt.core.binaries-I20210204-1430.tar.xz  eclipse.jdt.core.binaries-I20210204-1430.zip  Sravan Kumar Lakkimsetti4 years I20210204-1800eclipse.jdt.core.binaries-I20210204-1800.tar.gz  eclipse.jdt.core.binaries-I20210204-1800.tar.xz  eclipse.jdt.core.binaries-I20210204-1800.zip  Sravan Kumar Lakkimsetti4 years I20210204-2320eclipse.jdt.core.binaries-I20210204-2320.tar.gz  eclipse.jdt.core.binaries-I20210204-2320.tar.xz  eclipse.jdt.core.binaries-I20210204-2320.zip  Sravan Kumar Lakkimsetti4 years I20210205-1800eclipse.jdt.core.binaries-I20210205-1800.tar.gz  eclipse.jdt.core.binaries-I20210205-1800.tar.xz  eclipse.jdt.core.binaries-I20210205-1800.zip  Sravan Kumar Lakkimsetti4 years I20210206-0050eclipse.jdt.core.binaries-I20210206-0050.tar.gz  eclipse.jdt.core.binaries-I20210206-0050.tar.xz  eclipse.jdt.core.binaries-I20210206-0050.zip  Sravan Kumar Lakkimsetti4 years I20210206-0720eclipse.jdt.core.binaries-I20210206-0720.tar.gz  eclipse.jdt.core.binaries-I20210206-0720.tar.xz  eclipse.jdt.core.binaries-I20210206-0720.zip  Sravan Kumar Lakkimsetti4 years I20210206-1800eclipse.jdt.core.binaries-I20210206-1800.tar.gz  eclipse.jdt.core.binaries-I20210206-1800.tar.xz  eclipse.jdt.core.binaries-I20210206-1800.zip  Sravan Kumar Lakkimsetti4 years I20210207-1800eclipse.jdt.core.binaries-I20210207-1800.tar.gz  eclipse.jdt.core.binaries-I20210207-1800.tar.xz  eclipse.jdt.core.binaries-I20210207-1800.zip  Sravan Kumar Lakkimsetti4 years I20210208-1800eclipse.jdt.core.binaries-I20210208-1800.tar.gz  eclipse.jdt.core.binaries-I20210208-1800.tar.xz  eclipse.jdt.core.binaries-I20210208-1800.zip  Sravan Kumar Lakkimsetti4 years I20210209-1800eclipse.jdt.core.binaries-I20210209-1800.tar.gz  eclipse.jdt.core.binaries-I20210209-1800.tar.xz  eclipse.jdt.core.binaries-I20210209-1800.zip  Sravan Kumar Lakkimsetti4 years I20210210-0910eclipse.jdt.core.binaries-I20210210-0910.tar.gz  eclipse.jdt.core.binaries-I20210210-0910.tar.xz  eclipse.jdt.core.binaries-I20210210-0910.zip  Sravan Kumar Lakkimsetti4 years I20210210-1800eclipse.jdt.core.binaries-I20210210-1800.tar.gz  eclipse.jdt.core.binaries-I20210210-1800.tar.xz  eclipse.jdt.core.binaries-I20210210-1800.zip  Sravan Kumar Lakkimsetti4 years I20210211-1810eclipse.jdt.core.binaries-I20210211-1810.tar.gz  eclipse.jdt.core.binaries-I20210211-1810.tar.xz  eclipse.jdt.core.binaries-I20210211-1810.zip  Sravan Kumar Lakkimsetti4 years I20210212-1840eclipse.jdt.core.binaries-I20210212-1840.tar.gz  eclipse.jdt.core.binaries-I20210212-1840.tar.xz  eclipse.jdt.core.binaries-I20210212-1840.zip  Sravan Kumar Lakkimsetti4 years I20210213-0600eclipse.jdt.core.binaries-I20210213-0600.tar.gz  eclipse.jdt.core.binaries-I20210213-0600.tar.xz  eclipse.jdt.core.binaries-I20210213-0600.zip  Sravan Kumar Lakkimsetti4 years I20210213-1800eclipse.jdt.core.binaries-I20210213-1800.tar.gz  eclipse.jdt.core.binaries-I20210213-1800.tar.xz  eclipse.jdt.core.binaries-I20210213-1800.zip  Sravan Kumar Lakkimsetti4 years I20210214-0600eclipse.jdt.core.binaries-I20210214-0600.tar.gz  eclipse.jdt.core.binaries-I20210214-0600.tar.xz  eclipse.jdt.core.binaries-I20210214-0600.zip  Sravan Kumar Lakkimsetti4 years I20210214-1800eclipse.jdt.core.binaries-I20210214-1800.tar.gz  eclipse.jdt.core.binaries-I20210214-1800.tar.xz  eclipse.jdt.core.binaries-I20210214-1800.zip  Sravan Kumar Lakkimsetti4 years I20210215-0600eclipse.jdt.core.binaries-I20210215-0600.tar.gz  eclipse.jdt.core.binaries-I20210215-0600.tar.xz  eclipse.jdt.core.binaries-I20210215-0600.zip  Sravan Kumar Lakkimsetti4 years I20210215-0700eclipse.jdt.core.binaries-I20210215-0700.tar.gz  eclipse.jdt.core.binaries-I20210215-0700.tar.xz  eclipse.jdt.core.binaries-I20210215-0700.zip  Sravan Kumar Lakkimsetti4 years I20210215-1800eclipse.jdt.core.binaries-I20210215-1800.tar.gz  eclipse.jdt.core.binaries-I20210215-1800.tar.xz  eclipse.jdt.core.binaries-I20210215-1800.zip  Sravan Kumar Lakkimsetti4 years I20210216-0600eclipse.jdt.core.binaries-I20210216-0600.tar.gz  eclipse.jdt.core.binaries-I20210216-0600.tar.xz  eclipse.jdt.core.binaries-I20210216-0600.zip  Sravan Kumar Lakkimsetti4 years I20210216-1030eclipse.jdt.core.binaries-I20210216-1030.tar.gz  eclipse.jdt.core.binaries-I20210216-1030.tar.xz  eclipse.jdt.core.binaries-I20210216-1030.zip  Sravan Kumar Lakkimsetti4 years I20210216-1140eclipse.jdt.core.binaries-I20210216-1140.tar.gz  eclipse.jdt.core.binaries-I20210216-1140.tar.xz  eclipse.jdt.core.binaries-I20210216-1140.zip  Sravan Kumar Lakkimsetti4 years I20210216-1340eclipse.jdt.core.binaries-I20210216-1340.tar.gz  eclipse.jdt.core.binaries-I20210216-1340.tar.xz  eclipse.jdt.core.binaries-I20210216-1340.zip  Sravan Kumar Lakkimsetti4 years I20210216-1800eclipse.jdt.core.binaries-I20210216-1800.tar.gz  eclipse.jdt.core.binaries-I20210216-1800.tar.xz  eclipse.jdt.core.binaries-I20210216-1800.zip  Sravan Kumar Lakkimsetti4 years I20210216-2020eclipse.jdt.core.binaries-I20210216-2020.tar.gz  eclipse.jdt.core.binaries-I20210216-2020.tar.xz  eclipse.jdt.core.binaries-I20210216-2020.zip  Sravan Kumar Lakkimsetti4 years I20210217-0600eclipse.jdt.core.binaries-I20210217-0600.tar.gz  eclipse.jdt.core.binaries-I20210217-0600.tar.xz  eclipse.jdt.core.binaries-I20210217-0600.zip  Sravan Kumar Lakkimsetti4 years I20210217-1800eclipse.jdt.core.binaries-I20210217-1800.tar.gz  eclipse.jdt.core.binaries-I20210217-1800.tar.xz  eclipse.jdt.core.binaries-I20210217-1800.zip  Sravan Kumar Lakkimsetti4 years I20210219-0300eclipse.jdt.core.binaries-I20210219-0300.tar.gz  eclipse.jdt.core.binaries-I20210219-0300.tar.xz  eclipse.jdt.core.binaries-I20210219-0300.zip  Sravan Kumar Lakkimsetti4 years I20210219-1800eclipse.jdt.core.binaries-I20210219-1800.tar.gz  eclipse.jdt.core.binaries-I20210219-1800.tar.xz  eclipse.jdt.core.binaries-I20210219-1800.zip  Sravan Kumar Lakkimsetti4 years I20210220-0600eclipse.jdt.core.binaries-I20210220-0600.tar.gz  eclipse.jdt.core.binaries-I20210220-0600.tar.xz  eclipse.jdt.core.binaries-I20210220-0600.zip  Sravan Kumar Lakkimsetti4 years I20210220-1800eclipse.jdt.core.binaries-I20210220-1800.tar.gz  eclipse.jdt.core.binaries-I20210220-1800.tar.xz  eclipse.jdt.core.binaries-I20210220-1800.zip  Sravan Kumar Lakkimsetti4 years I20210221-0600eclipse.jdt.core.binaries-I20210221-0600.tar.gz  eclipse.jdt.core.binaries-I20210221-0600.tar.xz  eclipse.jdt.core.binaries-I20210221-0600.zip  Sravan Kumar Lakkimsetti4 years I20210221-1800eclipse.jdt.core.binaries-I20210221-1800.tar.gz  eclipse.jdt.core.binaries-I20210221-1800.tar.xz  eclipse.jdt.core.binaries-I20210221-1800.zip  Sravan Kumar Lakkimsetti4 years I20210222-0600eclipse.jdt.core.binaries-I20210222-0600.tar.gz  eclipse.jdt.core.binaries-I20210222-0600.tar.xz  eclipse.jdt.core.binaries-I20210222-0600.zip  Sravan Kumar Lakkimsetti4 years I20210222-1800eclipse.jdt.core.binaries-I20210222-1800.tar.gz  eclipse.jdt.core.binaries-I20210222-1800.tar.xz  eclipse.jdt.core.binaries-I20210222-1800.zip  Sravan Kumar Lakkimsetti4 years I20210223-0600eclipse.jdt.core.binaries-I20210223-0600.tar.gz  eclipse.jdt.core.binaries-I20210223-0600.tar.xz  eclipse.jdt.core.binaries-I20210223-0600.zip  Sravan Kumar Lakkimsetti4 years I20210223-0650eclipse.jdt.core.binaries-I20210223-0650.tar.gz  eclipse.jdt.core.binaries-I20210223-0650.tar.xz  eclipse.jdt.core.binaries-I20210223-0650.zip  Sravan Kumar Lakkimsetti4 years I20210223-1800eclipse.jdt.core.binaries-I20210223-1800.tar.gz  eclipse.jdt.core.binaries-I20210223-1800.tar.xz  eclipse.jdt.core.binaries-I20210223-1800.zip  Sravan Kumar Lakkimsetti4 years I20210224-0600eclipse.jdt.core.binaries-I20210224-0600.tar.gz  eclipse.jdt.core.binaries-I20210224-0600.tar.xz  eclipse.jdt.core.binaries-I20210224-0600.zip  Sravan Kumar Lakkimsetti4 years I20210224-0840eclipse.jdt.core.binaries-I20210224-0840.tar.gz  eclipse.jdt.core.binaries-I20210224-0840.tar.xz  eclipse.jdt.core.binaries-I20210224-0840.zip  Sravan Kumar Lakkimsetti4 years I20210224-1800eclipse.jdt.core.binaries-I20210224-1800.tar.gz  eclipse.jdt.core.binaries-I20210224-1800.tar.xz  eclipse.jdt.core.binaries-I20210224-1800.zip  Sravan Kumar Lakkimsetti4 years I20210226-0220eclipse.jdt.core.binaries-I20210226-0220.tar.gz  eclipse.jdt.core.binaries-I20210226-0220.tar.xz  eclipse.jdt.core.binaries-I20210226-0220.zip  Sravan Kumar Lakkimsetti4 years I20210226-1800eclipse.jdt.core.binaries-I20210226-1800.tar.gz  eclipse.jdt.core.binaries-I20210226-1800.tar.xz  eclipse.jdt.core.binaries-I20210226-1800.zip  Sravan Kumar Lakkimsetti4 years I20210226-2140eclipse.jdt.core.binaries-I20210226-2140.tar.gz  eclipse.jdt.core.binaries-I20210226-2140.tar.xz  eclipse.jdt.core.binaries-I20210226-2140.zip  Sravan Kumar Lakkimsetti4 years I20210227-0600eclipse.jdt.core.binaries-I20210227-0600.tar.gz  eclipse.jdt.core.binaries-I20210227-0600.tar.xz  eclipse.jdt.core.binaries-I20210227-0600.zip  Sravan Kumar Lakkimsetti4 years I20210227-1800eclipse.jdt.core.binaries-I20210227-1800.tar.gz  eclipse.jdt.core.binaries-I20210227-1800.tar.xz  eclipse.jdt.core.binaries-I20210227-1800.zip  Sravan Kumar Lakkimsetti4 years I20210228-0600eclipse.jdt.core.binaries-I20210228-0600.tar.gz  eclipse.jdt.core.binaries-I20210228-0600.tar.xz  eclipse.jdt.core.binaries-I20210228-0600.zip  Sravan Kumar Lakkimsetti4 years I20210228-1800eclipse.jdt.core.binaries-I20210228-1800.tar.gz  eclipse.jdt.core.binaries-I20210228-1800.tar.xz  eclipse.jdt.core.binaries-I20210228-1800.zip  Sravan Kumar Lakkimsetti4 years I20210301-0600eclipse.jdt.core.binaries-I20210301-0600.tar.gz  eclipse.jdt.core.binaries-I20210301-0600.tar.xz  eclipse.jdt.core.binaries-I20210301-0600.zip  Sravan Kumar Lakkimsetti4 years I20210301-1800eclipse.jdt.core.binaries-I20210301-1800.tar.gz  eclipse.jdt.core.binaries-I20210301-1800.tar.xz  eclipse.jdt.core.binaries-I20210301-1800.zip  Sravan Kumar Lakkimsetti4 years I20210302-0600eclipse.jdt.core.binaries-I20210302-0600.tar.gz  eclipse.jdt.core.binaries-I20210302-0600.tar.xz  eclipse.jdt.core.binaries-I20210302-0600.zip  Sravan Kumar Lakkimsetti4 years I20210302-0720eclipse.jdt.core.binaries-I20210302-0720.tar.gz  eclipse.jdt.core.binaries-I20210302-0720.tar.xz  eclipse.jdt.core.binaries-I20210302-0720.zip  Sravan Kumar Lakkimsetti4 years I20210302-0930eclipse.jdt.core.binaries-I20210302-0930.tar.gz  eclipse.jdt.core.binaries-I20210302-0930.tar.xz  eclipse.jdt.core.binaries-I20210302-0930.zip  Sravan Kumar Lakkimsetti4 years I20210302-1800eclipse.jdt.core.binaries-I20210302-1800.tar.gz  eclipse.jdt.core.binaries-I20210302-1800.tar.xz  eclipse.jdt.core.binaries-I20210302-1800.zip  Sravan Kumar Lakkimsetti4 years I20210303-0600eclipse.jdt.core.binaries-I20210303-0600.tar.gz  eclipse.jdt.core.binaries-I20210303-0600.tar.xz  eclipse.jdt.core.binaries-I20210303-0600.zip  Sravan Kumar Lakkimsetti4 years I20210303-1800eclipse.jdt.core.binaries-I20210303-1800.tar.gz  eclipse.jdt.core.binaries-I20210303-1800.tar.xz  eclipse.jdt.core.binaries-I20210303-1800.zip  Sravan Kumar Lakkimsetti4 years Y20201204-1200eclipse.jdt.core.binaries-Y20201204-1200.tar.gz  eclipse.jdt.core.binaries-Y20201204-1200.tar.xz  eclipse.jdt.core.binaries-Y20201204-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201208-1200eclipse.jdt.core.binaries-Y20201208-1200.tar.gz  eclipse.jdt.core.binaries-Y20201208-1200.tar.xz  eclipse.jdt.core.binaries-Y20201208-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201209-0750eclipse.jdt.core.binaries-Y20201209-0750.tar.gz  eclipse.jdt.core.binaries-Y20201209-0750.tar.xz  eclipse.jdt.core.binaries-Y20201209-0750.zip  Sravan Kumar Lakkimsetti4 years Y20201211-1200eclipse.jdt.core.binaries-Y20201211-1200.tar.gz  eclipse.jdt.core.binaries-Y20201211-1200.tar.xz  eclipse.jdt.core.binaries-Y20201211-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201215-1200eclipse.jdt.core.binaries-Y20201215-1200.tar.gz  eclipse.jdt.core.binaries-Y20201215-1200.tar.xz  eclipse.jdt.core.binaries-Y20201215-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201218-1200eclipse.jdt.core.binaries-Y20201218-1200.tar.gz  eclipse.jdt.core.binaries-Y20201218-1200.tar.xz  eclipse.jdt.core.binaries-Y20201218-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201222-1200eclipse.jdt.core.binaries-Y20201222-1200.tar.gz  eclipse.jdt.core.binaries-Y20201222-1200.tar.xz  eclipse.jdt.core.binaries-Y20201222-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201225-1200eclipse.jdt.core.binaries-Y20201225-1200.tar.gz  eclipse.jdt.core.binaries-Y20201225-1200.tar.xz  eclipse.jdt.core.binaries-Y20201225-1200.zip  Sravan Kumar Lakkimsetti4 years Y20201229-0040eclipse.jdt.core.binaries-Y20201229-0040.tar.gz  eclipse.jdt.core.binaries-Y20201229-0040.tar.xz  eclipse.jdt.core.binaries-Y20201229-0040.zip  Sravan Kumar Lakkimsetti4 years Y20201229-1200eclipse.jdt.core.binaries-Y20201229-1200.tar.gz  eclipse.jdt.core.binaries-Y20201229-1200.tar.xz  eclipse.jdt.core.binaries-Y20201229-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210101-1200eclipse.jdt.core.binaries-Y20210101-1200.tar.gz  eclipse.jdt.core.binaries-Y20210101-1200.tar.xz  eclipse.jdt.core.binaries-Y20210101-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210105-1200eclipse.jdt.core.binaries-Y20210105-1200.tar.gz  eclipse.jdt.core.binaries-Y20210105-1200.tar.xz  eclipse.jdt.core.binaries-Y20210105-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210108-1200eclipse.jdt.core.binaries-Y20210108-1200.tar.gz  eclipse.jdt.core.binaries-Y20210108-1200.tar.xz  eclipse.jdt.core.binaries-Y20210108-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210112-1200eclipse.jdt.core.binaries-Y20210112-1200.tar.gz  eclipse.jdt.core.binaries-Y20210112-1200.tar.xz  eclipse.jdt.core.binaries-Y20210112-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210113-0120eclipse.jdt.core.binaries-Y20210113-0120.tar.gz  eclipse.jdt.core.binaries-Y20210113-0120.tar.xz  eclipse.jdt.core.binaries-Y20210113-0120.zip  Sravan Kumar Lakkimsetti4 years Y20210115-1200eclipse.jdt.core.binaries-Y20210115-1200.tar.gz  eclipse.jdt.core.binaries-Y20210115-1200.tar.xz  eclipse.jdt.core.binaries-Y20210115-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210123-0110eclipse.jdt.core.binaries-Y20210123-0110.tar.gz  eclipse.jdt.core.binaries-Y20210123-0110.tar.xz  eclipse.jdt.core.binaries-Y20210123-0110.zip  Sravan Kumar Lakkimsetti4 years Y20210126-1200eclipse.jdt.core.binaries-Y20210126-1200.tar.gz  eclipse.jdt.core.binaries-Y20210126-1200.tar.xz  eclipse.jdt.core.binaries-Y20210126-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210127-0710eclipse.jdt.core.binaries-Y20210127-0710.tar.gz  eclipse.jdt.core.binaries-Y20210127-0710.tar.xz  eclipse.jdt.core.binaries-Y20210127-0710.zip  Sravan Kumar Lakkimsetti4 years Y20210129-1200eclipse.jdt.core.binaries-Y20210129-1200.tar.gz  eclipse.jdt.core.binaries-Y20210129-1200.tar.xz  eclipse.jdt.core.binaries-Y20210129-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210202-1200eclipse.jdt.core.binaries-Y20210202-1200.tar.gz  eclipse.jdt.core.binaries-Y20210202-1200.tar.xz  eclipse.jdt.core.binaries-Y20210202-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210205-1200eclipse.jdt.core.binaries-Y20210205-1200.tar.gz  eclipse.jdt.core.binaries-Y20210205-1200.tar.xz  eclipse.jdt.core.binaries-Y20210205-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210209-1200eclipse.jdt.core.binaries-Y20210209-1200.tar.gz  eclipse.jdt.core.binaries-Y20210209-1200.tar.xz  eclipse.jdt.core.binaries-Y20210209-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210210-0100eclipse.jdt.core.binaries-Y20210210-0100.tar.gz  eclipse.jdt.core.binaries-Y20210210-0100.tar.xz  eclipse.jdt.core.binaries-Y20210210-0100.zip  Sravan Kumar Lakkimsetti4 years Y20210210-1200eclipse.jdt.core.binaries-Y20210210-1200.tar.gz  eclipse.jdt.core.binaries-Y20210210-1200.tar.xz  eclipse.jdt.core.binaries-Y20210210-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210211-0600eclipse.jdt.core.binaries-Y20210211-0600.tar.gz  eclipse.jdt.core.binaries-Y20210211-0600.tar.xz  eclipse.jdt.core.binaries-Y20210211-0600.zip  Sravan Kumar Lakkimsetti4 years Y20210211-1200eclipse.jdt.core.binaries-Y20210211-1200.tar.gz  eclipse.jdt.core.binaries-Y20210211-1200.tar.xz  eclipse.jdt.core.binaries-Y20210211-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210212-1200eclipse.jdt.core.binaries-Y20210212-1200.tar.gz  eclipse.jdt.core.binaries-Y20210212-1200.tar.xz  eclipse.jdt.core.binaries-Y20210212-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210213-1200eclipse.jdt.core.binaries-Y20210213-1200.tar.gz  eclipse.jdt.core.binaries-Y20210213-1200.tar.xz  eclipse.jdt.core.binaries-Y20210213-1200.zip  Sravan Kumar Lakkimsetti4 years Y20210214-1000eclipse.jdt.core.binaries-Y20210214-1000.tar.gz  eclipse.jdt.core.binaries-Y20210214-1000.tar.xz  eclipse.jdt.core.binaries-Y20210214-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210215-1020eclipse.jdt.core.binaries-Y20210215-1020.tar.gz  eclipse.jdt.core.binaries-Y20210215-1020.tar.xz  eclipse.jdt.core.binaries-Y20210215-1020.zip  Sravan Kumar Lakkimsetti4 years Y20210216-1000eclipse.jdt.core.binaries-Y20210216-1000.tar.gz  eclipse.jdt.core.binaries-Y20210216-1000.tar.xz  eclipse.jdt.core.binaries-Y20210216-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210217-1000eclipse.jdt.core.binaries-Y20210217-1000.tar.gz  eclipse.jdt.core.binaries-Y20210217-1000.tar.xz  eclipse.jdt.core.binaries-Y20210217-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210218-1000eclipse.jdt.core.binaries-Y20210218-1000.tar.gz  eclipse.jdt.core.binaries-Y20210218-1000.tar.xz  eclipse.jdt.core.binaries-Y20210218-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210219-1000eclipse.jdt.core.binaries-Y20210219-1000.tar.gz  eclipse.jdt.core.binaries-Y20210219-1000.tar.xz  eclipse.jdt.core.binaries-Y20210219-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210220-1000eclipse.jdt.core.binaries-Y20210220-1000.tar.gz  eclipse.jdt.core.binaries-Y20210220-1000.tar.xz  eclipse.jdt.core.binaries-Y20210220-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210221-1000eclipse.jdt.core.binaries-Y20210221-1000.tar.gz  eclipse.jdt.core.binaries-Y20210221-1000.tar.xz  eclipse.jdt.core.binaries-Y20210221-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210222-1000eclipse.jdt.core.binaries-Y20210222-1000.tar.gz  eclipse.jdt.core.binaries-Y20210222-1000.tar.xz  eclipse.jdt.core.binaries-Y20210222-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210223-1050eclipse.jdt.core.binaries-Y20210223-1050.tar.gz  eclipse.jdt.core.binaries-Y20210223-1050.tar.xz  eclipse.jdt.core.binaries-Y20210223-1050.zip  Sravan Kumar Lakkimsetti4 years Y20210224-1000eclipse.jdt.core.binaries-Y20210224-1000.tar.gz  eclipse.jdt.core.binaries-Y20210224-1000.tar.xz  eclipse.jdt.core.binaries-Y20210224-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210225-1000eclipse.jdt.core.binaries-Y20210225-1000.tar.gz  eclipse.jdt.core.binaries-Y20210225-1000.tar.xz  eclipse.jdt.core.binaries-Y20210225-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210226-1000eclipse.jdt.core.binaries-Y20210226-1000.tar.gz  eclipse.jdt.core.binaries-Y20210226-1000.tar.xz  eclipse.jdt.core.binaries-Y20210226-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210227-1000eclipse.jdt.core.binaries-Y20210227-1000.tar.gz  eclipse.jdt.core.binaries-Y20210227-1000.tar.xz  eclipse.jdt.core.binaries-Y20210227-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210228-1000eclipse.jdt.core.binaries-Y20210228-1000.tar.gz  eclipse.jdt.core.binaries-Y20210228-1000.tar.xz  eclipse.jdt.core.binaries-Y20210228-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210301-1000eclipse.jdt.core.binaries-Y20210301-1000.tar.gz  eclipse.jdt.core.binaries-Y20210301-1000.tar.xz  eclipse.jdt.core.binaries-Y20210301-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210303-1000eclipse.jdt.core.binaries-Y20210303-1000.tar.gz  eclipse.jdt.core.binaries-Y20210303-1000.tar.xz  eclipse.jdt.core.binaries-Y20210303-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210304-1000eclipse.jdt.core.binaries-Y20210304-1000.tar.gz  eclipse.jdt.core.binaries-Y20210304-1000.tar.xz  eclipse.jdt.core.binaries-Y20210304-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210305-1000eclipse.jdt.core.binaries-Y20210305-1000.tar.gz  eclipse.jdt.core.binaries-Y20210305-1000.tar.xz  eclipse.jdt.core.binaries-Y20210305-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210306-1000eclipse.jdt.core.binaries-Y20210306-1000.tar.gz  eclipse.jdt.core.binaries-Y20210306-1000.tar.xz  eclipse.jdt.core.binaries-Y20210306-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210307-1000eclipse.jdt.core.binaries-Y20210307-1000.tar.gz  eclipse.jdt.core.binaries-Y20210307-1000.tar.xz  eclipse.jdt.core.binaries-Y20210307-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210309-1000eclipse.jdt.core.binaries-Y20210309-1000.tar.gz  eclipse.jdt.core.binaries-Y20210309-1000.tar.xz  eclipse.jdt.core.binaries-Y20210309-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210310-1000eclipse.jdt.core.binaries-Y20210310-1000.tar.gz  eclipse.jdt.core.binaries-Y20210310-1000.tar.xz  eclipse.jdt.core.binaries-Y20210310-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210311-1000eclipse.jdt.core.binaries-Y20210311-1000.tar.gz  eclipse.jdt.core.binaries-Y20210311-1000.tar.xz  eclipse.jdt.core.binaries-Y20210311-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210312-1000eclipse.jdt.core.binaries-Y20210312-1000.tar.gz  eclipse.jdt.core.binaries-Y20210312-1000.tar.xz  eclipse.jdt.core.binaries-Y20210312-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210312-1250eclipse.jdt.core.binaries-Y20210312-1250.tar.gz  eclipse.jdt.core.binaries-Y20210312-1250.tar.xz  eclipse.jdt.core.binaries-Y20210312-1250.zip  Sravan Kumar Lakkimsetti4 years Y20210312-2250eclipse.jdt.core.binaries-Y20210312-2250.tar.gz  eclipse.jdt.core.binaries-Y20210312-2250.tar.xz  eclipse.jdt.core.binaries-Y20210312-2250.zip  Sravan Kumar Lakkimsetti4 years Y20210313-1000eclipse.jdt.core.binaries-Y20210313-1000.tar.gz  eclipse.jdt.core.binaries-Y20210313-1000.tar.xz  eclipse.jdt.core.binaries-Y20210313-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210314-1000eclipse.jdt.core.binaries-Y20210314-1000.tar.gz  eclipse.jdt.core.binaries-Y20210314-1000.tar.xz  eclipse.jdt.core.binaries-Y20210314-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210315-1000eclipse.jdt.core.binaries-Y20210315-1000.tar.gz  eclipse.jdt.core.binaries-Y20210315-1000.tar.xz  eclipse.jdt.core.binaries-Y20210315-1000.zip  Sravan Kumar Lakkimsetti4 years Y20210316-0510eclipse.jdt.core.binaries-Y20210316-0510.tar.gz  eclipse.jdt.core.binaries-Y20210316-0510.tar.xz  eclipse.jdt.core.binaries-Y20210316-0510.zip  Sravan Kumar Lakkimsetti4 years Y20210316-1310eclipse.jdt.core.binaries-Y20210316-1310.tar.gz  eclipse.jdt.core.binaries-Y20210316-1310.tar.xz  eclipse.jdt.core.binaries-Y20210316-1310.zip  Sravan Kumar Lakkimsetti4 years S4_18_0_RC1eclipse.jdt.core.binaries-S4_18_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_18_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_18_0_RC1.zip  Eclipse Releng Bot4 years S4_18_0_M3eclipse.jdt.core.binaries-S4_18_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_18_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_18_0_M3.zip  Eclipse Releng Bot4 years S4_18_0_M1aeclipse.jdt.core.binaries-S4_18_0_M1a.tar.gz  eclipse.jdt.core.binaries-S4_18_0_M1a.tar.xz  eclipse.jdt.core.binaries-S4_18_0_M1a.zip  Eclipse Releng Bot4 years S4_18_0_M1eclipse.jdt.core.binaries-S4_18_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_18_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_18_0_M1.zip  Eclipse Releng Bot4 years R4_17eclipse.jdt.core.binaries-R4_17.tar.gz  eclipse.jdt.core.binaries-R4_17.tar.xz  eclipse.jdt.core.binaries-R4_17.zip  Eclipse Releng Bot4 years S4_17_0_RC2eclipse.jdt.core.binaries-S4_17_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_17_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_17_0_RC2.zip  Eclipse Releng Bot4 years I20200904-0210eclipse.jdt.core.binaries-I20200904-0210.tar.gz  eclipse.jdt.core.binaries-I20200904-0210.tar.xz  eclipse.jdt.core.binaries-I20200904-0210.zip  Alexander Kurtakov4 years I20200904-0540eclipse.jdt.core.binaries-I20200904-0540.tar.gz  eclipse.jdt.core.binaries-I20200904-0540.tar.xz  eclipse.jdt.core.binaries-I20200904-0540.zip  Alexander Kurtakov4 years I20200908-0440eclipse.jdt.core.binaries-I20200908-0440.tar.gz  eclipse.jdt.core.binaries-I20200908-0440.tar.xz  eclipse.jdt.core.binaries-I20200908-0440.zip  Alexander Kurtakov4 years I20200908-1800eclipse.jdt.core.binaries-I20200908-1800.tar.gz  eclipse.jdt.core.binaries-I20200908-1800.tar.xz  eclipse.jdt.core.binaries-I20200908-1800.zip  Alexander Kurtakov4 years I20200909-1800eclipse.jdt.core.binaries-I20200909-1800.tar.gz  eclipse.jdt.core.binaries-I20200909-1800.tar.xz  eclipse.jdt.core.binaries-I20200909-1800.zip  Alexander Kurtakov4 years I20200910-0100eclipse.jdt.core.binaries-I20200910-0100.tar.gz  eclipse.jdt.core.binaries-I20200910-0100.tar.xz  eclipse.jdt.core.binaries-I20200910-0100.zip  Alexander Kurtakov4 years I20200910-1800eclipse.jdt.core.binaries-I20200910-1800.tar.gz  eclipse.jdt.core.binaries-I20200910-1800.tar.xz  eclipse.jdt.core.binaries-I20200910-1800.zip  Alexander Kurtakov4 years I20200911-1800eclipse.jdt.core.binaries-I20200911-1800.tar.gz  eclipse.jdt.core.binaries-I20200911-1800.tar.xz  eclipse.jdt.core.binaries-I20200911-1800.zip  Alexander Kurtakov4 years I20200912-0010eclipse.jdt.core.binaries-I20200912-0010.tar.gz  eclipse.jdt.core.binaries-I20200912-0010.tar.xz  eclipse.jdt.core.binaries-I20200912-0010.zip  Alexander Kurtakov4 years I20200912-1800eclipse.jdt.core.binaries-I20200912-1800.tar.gz  eclipse.jdt.core.binaries-I20200912-1800.tar.xz  eclipse.jdt.core.binaries-I20200912-1800.zip  Alexander Kurtakov4 years I20200913-1800eclipse.jdt.core.binaries-I20200913-1800.tar.gz  eclipse.jdt.core.binaries-I20200913-1800.tar.xz  eclipse.jdt.core.binaries-I20200913-1800.zip  Alexander Kurtakov4 years I20200914-1800eclipse.jdt.core.binaries-I20200914-1800.tar.gz  eclipse.jdt.core.binaries-I20200914-1800.tar.xz  eclipse.jdt.core.binaries-I20200914-1800.zip  Alexander Kurtakov4 years I20200915-1800eclipse.jdt.core.binaries-I20200915-1800.tar.gz  eclipse.jdt.core.binaries-I20200915-1800.tar.xz  eclipse.jdt.core.binaries-I20200915-1800.zip  Alexander Kurtakov4 years I20200916-0410eclipse.jdt.core.binaries-I20200916-0410.tar.gz  eclipse.jdt.core.binaries-I20200916-0410.tar.xz  eclipse.jdt.core.binaries-I20200916-0410.zip  Alexander Kurtakov4 years I20200916-1800eclipse.jdt.core.binaries-I20200916-1800.tar.gz  eclipse.jdt.core.binaries-I20200916-1800.tar.xz  eclipse.jdt.core.binaries-I20200916-1800.zip  Alexander Kurtakov4 years I20200917-1800eclipse.jdt.core.binaries-I20200917-1800.tar.gz  eclipse.jdt.core.binaries-I20200917-1800.tar.xz  eclipse.jdt.core.binaries-I20200917-1800.zip  Alexander Kurtakov4 years I20200918-1800eclipse.jdt.core.binaries-I20200918-1800.tar.gz  eclipse.jdt.core.binaries-I20200918-1800.tar.xz  eclipse.jdt.core.binaries-I20200918-1800.zip  Alexander Kurtakov4 years I20200919-1800eclipse.jdt.core.binaries-I20200919-1800.tar.gz  eclipse.jdt.core.binaries-I20200919-1800.tar.xz  eclipse.jdt.core.binaries-I20200919-1800.zip  Alexander Kurtakov4 years I20200920-1800eclipse.jdt.core.binaries-I20200920-1800.tar.gz  eclipse.jdt.core.binaries-I20200920-1800.tar.xz  eclipse.jdt.core.binaries-I20200920-1800.zip  Alexander Kurtakov4 years I20200921-1800eclipse.jdt.core.binaries-I20200921-1800.tar.gz  eclipse.jdt.core.binaries-I20200921-1800.tar.xz  eclipse.jdt.core.binaries-I20200921-1800.zip  Alexander Kurtakov4 years I20200922-1800eclipse.jdt.core.binaries-I20200922-1800.tar.gz  eclipse.jdt.core.binaries-I20200922-1800.tar.xz  eclipse.jdt.core.binaries-I20200922-1800.zip  Alexander Kurtakov4 years I20200924-0340eclipse.jdt.core.binaries-I20200924-0340.tar.gz  eclipse.jdt.core.binaries-I20200924-0340.tar.xz  eclipse.jdt.core.binaries-I20200924-0340.zip  Alexander Kurtakov4 years I20200924-0430eclipse.jdt.core.binaries-I20200924-0430.tar.gz  eclipse.jdt.core.binaries-I20200924-0430.tar.xz  eclipse.jdt.core.binaries-I20200924-0430.zip  Alexander Kurtakov4 years I20200924-1800eclipse.jdt.core.binaries-I20200924-1800.tar.gz  eclipse.jdt.core.binaries-I20200924-1800.tar.xz  eclipse.jdt.core.binaries-I20200924-1800.zip  Alexander Kurtakov4 years I20200925-1800eclipse.jdt.core.binaries-I20200925-1800.tar.gz  eclipse.jdt.core.binaries-I20200925-1800.tar.xz  eclipse.jdt.core.binaries-I20200925-1800.zip  Alexander Kurtakov4 years I20200926-1800eclipse.jdt.core.binaries-I20200926-1800.tar.gz  eclipse.jdt.core.binaries-I20200926-1800.tar.xz  eclipse.jdt.core.binaries-I20200926-1800.zip  Alexander Kurtakov4 years I20200927-1800eclipse.jdt.core.binaries-I20200927-1800.tar.gz  eclipse.jdt.core.binaries-I20200927-1800.tar.xz  eclipse.jdt.core.binaries-I20200927-1800.zip  Alexander Kurtakov4 years I20200928-1800eclipse.jdt.core.binaries-I20200928-1800.tar.gz  eclipse.jdt.core.binaries-I20200928-1800.tar.xz  eclipse.jdt.core.binaries-I20200928-1800.zip  Alexander Kurtakov4 years I20200929-1800eclipse.jdt.core.binaries-I20200929-1800.tar.gz  eclipse.jdt.core.binaries-I20200929-1800.tar.xz  eclipse.jdt.core.binaries-I20200929-1800.zip  Alexander Kurtakov4 years I20200930-1800eclipse.jdt.core.binaries-I20200930-1800.tar.gz  eclipse.jdt.core.binaries-I20200930-1800.tar.xz  eclipse.jdt.core.binaries-I20200930-1800.zip  Alexander Kurtakov4 years I20201001-1800eclipse.jdt.core.binaries-I20201001-1800.tar.gz  eclipse.jdt.core.binaries-I20201001-1800.tar.xz  eclipse.jdt.core.binaries-I20201001-1800.zip  Alexander Kurtakov4 years I20201002-1800eclipse.jdt.core.binaries-I20201002-1800.tar.gz  eclipse.jdt.core.binaries-I20201002-1800.tar.xz  eclipse.jdt.core.binaries-I20201002-1800.zip  Alexander Kurtakov4 years I20201003-0600eclipse.jdt.core.binaries-I20201003-0600.tar.gz  eclipse.jdt.core.binaries-I20201003-0600.tar.xz  eclipse.jdt.core.binaries-I20201003-0600.zip  Alexander Kurtakov4 years I20201003-1800eclipse.jdt.core.binaries-I20201003-1800.tar.gz  eclipse.jdt.core.binaries-I20201003-1800.tar.xz  eclipse.jdt.core.binaries-I20201003-1800.zip  Alexander Kurtakov4 years I20201004-0600eclipse.jdt.core.binaries-I20201004-0600.tar.gz  eclipse.jdt.core.binaries-I20201004-0600.tar.xz  eclipse.jdt.core.binaries-I20201004-0600.zip  Alexander Kurtakov4 years I20201004-1800eclipse.jdt.core.binaries-I20201004-1800.tar.gz  eclipse.jdt.core.binaries-I20201004-1800.tar.xz  eclipse.jdt.core.binaries-I20201004-1800.zip  Alexander Kurtakov4 years I20201005-0600eclipse.jdt.core.binaries-I20201005-0600.tar.gz  eclipse.jdt.core.binaries-I20201005-0600.tar.xz  eclipse.jdt.core.binaries-I20201005-0600.zip  Alexander Kurtakov4 years I20201005-1800eclipse.jdt.core.binaries-I20201005-1800.tar.gz  eclipse.jdt.core.binaries-I20201005-1800.tar.xz  eclipse.jdt.core.binaries-I20201005-1800.zip  Alexander Kurtakov4 years I20201006-0600eclipse.jdt.core.binaries-I20201006-0600.tar.gz  eclipse.jdt.core.binaries-I20201006-0600.tar.xz  eclipse.jdt.core.binaries-I20201006-0600.zip  Alexander Kurtakov4 years I20201006-0840eclipse.jdt.core.binaries-I20201006-0840.tar.gz  eclipse.jdt.core.binaries-I20201006-0840.tar.xz  eclipse.jdt.core.binaries-I20201006-0840.zip  Alexander Kurtakov4 years I20201006-1800eclipse.jdt.core.binaries-I20201006-1800.tar.gz  eclipse.jdt.core.binaries-I20201006-1800.tar.xz  eclipse.jdt.core.binaries-I20201006-1800.zip  Alexander Kurtakov4 years I20201007-0600eclipse.jdt.core.binaries-I20201007-0600.tar.gz  eclipse.jdt.core.binaries-I20201007-0600.tar.xz  eclipse.jdt.core.binaries-I20201007-0600.zip  Alexander Kurtakov4 years I20201007-1320eclipse.jdt.core.binaries-I20201007-1320.tar.gz  eclipse.jdt.core.binaries-I20201007-1320.tar.xz  eclipse.jdt.core.binaries-I20201007-1320.zip  Alexander Kurtakov4 years I20201007-1800eclipse.jdt.core.binaries-I20201007-1800.tar.gz  eclipse.jdt.core.binaries-I20201007-1800.tar.xz  eclipse.jdt.core.binaries-I20201007-1800.zip  Alexander Kurtakov4 years I20201009-0430eclipse.jdt.core.binaries-I20201009-0430.tar.gz  eclipse.jdt.core.binaries-I20201009-0430.tar.xz  eclipse.jdt.core.binaries-I20201009-0430.zip  Alexander Kurtakov4 years I20201009-0800eclipse.jdt.core.binaries-I20201009-0800.tar.gz  eclipse.jdt.core.binaries-I20201009-0800.tar.xz  eclipse.jdt.core.binaries-I20201009-0800.zip  Alexander Kurtakov4 years I20201009-1800eclipse.jdt.core.binaries-I20201009-1800.tar.gz  eclipse.jdt.core.binaries-I20201009-1800.tar.xz  eclipse.jdt.core.binaries-I20201009-1800.zip  Alexander Kurtakov4 years I20201010-1800eclipse.jdt.core.binaries-I20201010-1800.tar.gz  eclipse.jdt.core.binaries-I20201010-1800.tar.xz  eclipse.jdt.core.binaries-I20201010-1800.zip  Alexander Kurtakov4 years I20201011-1800eclipse.jdt.core.binaries-I20201011-1800.tar.gz  eclipse.jdt.core.binaries-I20201011-1800.tar.xz  eclipse.jdt.core.binaries-I20201011-1800.zip  Alexander Kurtakov4 years I20201012-0320eclipse.jdt.core.binaries-I20201012-0320.tar.gz  eclipse.jdt.core.binaries-I20201012-0320.tar.xz  eclipse.jdt.core.binaries-I20201012-0320.zip  Alexander Kurtakov4 years I20201012-0750eclipse.jdt.core.binaries-I20201012-0750.tar.gz  eclipse.jdt.core.binaries-I20201012-0750.tar.xz  eclipse.jdt.core.binaries-I20201012-0750.zip  Alexander Kurtakov4 years I20201012-1800eclipse.jdt.core.binaries-I20201012-1800.tar.gz  eclipse.jdt.core.binaries-I20201012-1800.tar.xz  eclipse.jdt.core.binaries-I20201012-1800.zip  Alexander Kurtakov4 years I20201013-1800eclipse.jdt.core.binaries-I20201013-1800.tar.gz  eclipse.jdt.core.binaries-I20201013-1800.tar.xz  eclipse.jdt.core.binaries-I20201013-1800.zip  Alexander Kurtakov4 years I20201014-1800eclipse.jdt.core.binaries-I20201014-1800.tar.gz  eclipse.jdt.core.binaries-I20201014-1800.tar.xz  eclipse.jdt.core.binaries-I20201014-1800.zip  Alexander Kurtakov4 years I20201015-1800eclipse.jdt.core.binaries-I20201015-1800.tar.gz  eclipse.jdt.core.binaries-I20201015-1800.tar.xz  eclipse.jdt.core.binaries-I20201015-1800.zip  Alexander Kurtakov4 years I20201016-0000eclipse.jdt.core.binaries-I20201016-0000.tar.gz  eclipse.jdt.core.binaries-I20201016-0000.tar.xz  eclipse.jdt.core.binaries-I20201016-0000.zip  Alexander Kurtakov4 years I20201016-1800eclipse.jdt.core.binaries-I20201016-1800.tar.gz  eclipse.jdt.core.binaries-I20201016-1800.tar.xz  eclipse.jdt.core.binaries-I20201016-1800.zip  Alexander Kurtakov4 years I20201017-1800eclipse.jdt.core.binaries-I20201017-1800.tar.gz  eclipse.jdt.core.binaries-I20201017-1800.tar.xz  eclipse.jdt.core.binaries-I20201017-1800.zip  Alexander Kurtakov4 years I20201018-1800eclipse.jdt.core.binaries-I20201018-1800.tar.gz  eclipse.jdt.core.binaries-I20201018-1800.tar.xz  eclipse.jdt.core.binaries-I20201018-1800.zip  Alexander Kurtakov4 years I20201019-1800eclipse.jdt.core.binaries-I20201019-1800.tar.gz  eclipse.jdt.core.binaries-I20201019-1800.tar.xz  eclipse.jdt.core.binaries-I20201019-1800.zip  Alexander Kurtakov4 years I20201020-0240eclipse.jdt.core.binaries-I20201020-0240.tar.gz  eclipse.jdt.core.binaries-I20201020-0240.tar.xz  eclipse.jdt.core.binaries-I20201020-0240.zip  Alexander Kurtakov4 years I20201020-1800eclipse.jdt.core.binaries-I20201020-1800.tar.gz  eclipse.jdt.core.binaries-I20201020-1800.tar.xz  eclipse.jdt.core.binaries-I20201020-1800.zip  Alexander Kurtakov4 years I20201021-0200eclipse.jdt.core.binaries-I20201021-0200.tar.gz  eclipse.jdt.core.binaries-I20201021-0200.tar.xz  eclipse.jdt.core.binaries-I20201021-0200.zip  Alexander Kurtakov4 years I20201021-1800eclipse.jdt.core.binaries-I20201021-1800.tar.gz  eclipse.jdt.core.binaries-I20201021-1800.tar.xz  eclipse.jdt.core.binaries-I20201021-1800.zip  Alexander Kurtakov4 years I20201023-0250eclipse.jdt.core.binaries-I20201023-0250.tar.gz  eclipse.jdt.core.binaries-I20201023-0250.tar.xz  eclipse.jdt.core.binaries-I20201023-0250.zip  Alexander Kurtakov4 years I20201023-1800eclipse.jdt.core.binaries-I20201023-1800.tar.gz  eclipse.jdt.core.binaries-I20201023-1800.tar.xz  eclipse.jdt.core.binaries-I20201023-1800.zip  Alexander Kurtakov4 years I20201024-1800eclipse.jdt.core.binaries-I20201024-1800.tar.gz  eclipse.jdt.core.binaries-I20201024-1800.tar.xz  eclipse.jdt.core.binaries-I20201024-1800.zip  Alexander Kurtakov4 years I20201025-0040eclipse.jdt.core.binaries-I20201025-0040.tar.gz  eclipse.jdt.core.binaries-I20201025-0040.tar.xz  eclipse.jdt.core.binaries-I20201025-0040.zip  Alexander Kurtakov4 years I20201025-1800eclipse.jdt.core.binaries-I20201025-1800.tar.gz  eclipse.jdt.core.binaries-I20201025-1800.tar.xz  eclipse.jdt.core.binaries-I20201025-1800.zip  Alexander Kurtakov4 years I20201026-0650eclipse.jdt.core.binaries-I20201026-0650.tar.gz  eclipse.jdt.core.binaries-I20201026-0650.tar.xz  eclipse.jdt.core.binaries-I20201026-0650.zip  Alexander Kurtakov4 years I20201026-0840eclipse.jdt.core.binaries-I20201026-0840.tar.gz  eclipse.jdt.core.binaries-I20201026-0840.tar.xz  eclipse.jdt.core.binaries-I20201026-0840.zip  Alexander Kurtakov4 years I20201026-1850eclipse.jdt.core.binaries-I20201026-1850.tar.gz  eclipse.jdt.core.binaries-I20201026-1850.tar.xz  eclipse.jdt.core.binaries-I20201026-1850.zip  Alexander Kurtakov4 years I20201027-1800eclipse.jdt.core.binaries-I20201027-1800.tar.gz  eclipse.jdt.core.binaries-I20201027-1800.tar.xz  eclipse.jdt.core.binaries-I20201027-1800.zip  Alexander Kurtakov4 years I20201027-2350eclipse.jdt.core.binaries-I20201027-2350.tar.gz  eclipse.jdt.core.binaries-I20201027-2350.tar.xz  eclipse.jdt.core.binaries-I20201027-2350.zip  Alexander Kurtakov4 years I20201028-0020eclipse.jdt.core.binaries-I20201028-0020.tar.gz  eclipse.jdt.core.binaries-I20201028-0020.tar.xz  eclipse.jdt.core.binaries-I20201028-0020.zip  Alexander Kurtakov4 years I20201028-0130eclipse.jdt.core.binaries-I20201028-0130.tar.gz  eclipse.jdt.core.binaries-I20201028-0130.tar.xz  eclipse.jdt.core.binaries-I20201028-0130.zip  Alexander Kurtakov4 years I20201028-0610eclipse.jdt.core.binaries-I20201028-0610.tar.gz  eclipse.jdt.core.binaries-I20201028-0610.tar.xz  eclipse.jdt.core.binaries-I20201028-0610.zip  Alexander Kurtakov4 years I20201028-0800eclipse.jdt.core.binaries-I20201028-0800.tar.gz  eclipse.jdt.core.binaries-I20201028-0800.tar.xz  eclipse.jdt.core.binaries-I20201028-0800.zip  Alexander Kurtakov4 years I20201028-1800eclipse.jdt.core.binaries-I20201028-1800.tar.gz  eclipse.jdt.core.binaries-I20201028-1800.tar.xz  eclipse.jdt.core.binaries-I20201028-1800.zip  Alexander Kurtakov4 years I20201029-1800eclipse.jdt.core.binaries-I20201029-1800.tar.gz  eclipse.jdt.core.binaries-I20201029-1800.tar.xz  eclipse.jdt.core.binaries-I20201029-1800.zip  Alexander Kurtakov4 years I20201030-1800eclipse.jdt.core.binaries-I20201030-1800.tar.gz  eclipse.jdt.core.binaries-I20201030-1800.tar.xz  eclipse.jdt.core.binaries-I20201030-1800.zip  Alexander Kurtakov4 years I20201031-1800eclipse.jdt.core.binaries-I20201031-1800.tar.gz  eclipse.jdt.core.binaries-I20201031-1800.tar.xz  eclipse.jdt.core.binaries-I20201031-1800.zip  Alexander Kurtakov4 years I20201101-1800eclipse.jdt.core.binaries-I20201101-1800.tar.gz  eclipse.jdt.core.binaries-I20201101-1800.tar.xz  eclipse.jdt.core.binaries-I20201101-1800.zip  Alexander Kurtakov4 years I20201102-1910eclipse.jdt.core.binaries-I20201102-1910.tar.gz  eclipse.jdt.core.binaries-I20201102-1910.tar.xz  eclipse.jdt.core.binaries-I20201102-1910.zip  Alexander Kurtakov4 years I20201103-0030eclipse.jdt.core.binaries-I20201103-0030.tar.gz  eclipse.jdt.core.binaries-I20201103-0030.tar.xz  eclipse.jdt.core.binaries-I20201103-0030.zip  Alexander Kurtakov4 years I20201103-1800eclipse.jdt.core.binaries-I20201103-1800.tar.gz  eclipse.jdt.core.binaries-I20201103-1800.tar.xz  eclipse.jdt.core.binaries-I20201103-1800.zip  Alexander Kurtakov4 years I20201104-1800eclipse.jdt.core.binaries-I20201104-1800.tar.gz  eclipse.jdt.core.binaries-I20201104-1800.tar.xz  eclipse.jdt.core.binaries-I20201104-1800.zip  Alexander Kurtakov4 years I20201105-0230eclipse.jdt.core.binaries-I20201105-0230.tar.gz  eclipse.jdt.core.binaries-I20201105-0230.tar.xz  eclipse.jdt.core.binaries-I20201105-0230.zip  Alexander Kurtakov4 years I20201105-1800eclipse.jdt.core.binaries-I20201105-1800.tar.gz  eclipse.jdt.core.binaries-I20201105-1800.tar.xz  eclipse.jdt.core.binaries-I20201105-1800.zip  Alexander Kurtakov4 years I20201106-0710eclipse.jdt.core.binaries-I20201106-0710.tar.gz  eclipse.jdt.core.binaries-I20201106-0710.tar.xz  eclipse.jdt.core.binaries-I20201106-0710.zip  Alexander Kurtakov4 years I20201106-1800eclipse.jdt.core.binaries-I20201106-1800.tar.gz  eclipse.jdt.core.binaries-I20201106-1800.tar.xz  eclipse.jdt.core.binaries-I20201106-1800.zip  Alexander Kurtakov4 years I20201107-0750eclipse.jdt.core.binaries-I20201107-0750.tar.gz  eclipse.jdt.core.binaries-I20201107-0750.tar.xz  eclipse.jdt.core.binaries-I20201107-0750.zip  Alexander Kurtakov4 years I20201107-1800eclipse.jdt.core.binaries-I20201107-1800.tar.gz  eclipse.jdt.core.binaries-I20201107-1800.tar.xz  eclipse.jdt.core.binaries-I20201107-1800.zip  Alexander Kurtakov4 years I20201108-1800eclipse.jdt.core.binaries-I20201108-1800.tar.gz  eclipse.jdt.core.binaries-I20201108-1800.tar.xz  eclipse.jdt.core.binaries-I20201108-1800.zip  Alexander Kurtakov4 years I20201109-1800eclipse.jdt.core.binaries-I20201109-1800.tar.gz  eclipse.jdt.core.binaries-I20201109-1800.tar.xz  eclipse.jdt.core.binaries-I20201109-1800.zip  Alexander Kurtakov4 years I20201110-1800eclipse.jdt.core.binaries-I20201110-1800.tar.gz  eclipse.jdt.core.binaries-I20201110-1800.tar.xz  eclipse.jdt.core.binaries-I20201110-1800.zip  Alexander Kurtakov4 years I20201111-1800eclipse.jdt.core.binaries-I20201111-1800.tar.gz  eclipse.jdt.core.binaries-I20201111-1800.tar.xz  eclipse.jdt.core.binaries-I20201111-1800.zip  Alexander Kurtakov4 years I20201112-1800eclipse.jdt.core.binaries-I20201112-1800.tar.gz  eclipse.jdt.core.binaries-I20201112-1800.tar.xz  eclipse.jdt.core.binaries-I20201112-1800.zip  Alexander Kurtakov4 years I20201113-1800eclipse.jdt.core.binaries-I20201113-1800.tar.gz  eclipse.jdt.core.binaries-I20201113-1800.tar.xz  eclipse.jdt.core.binaries-I20201113-1800.zip  Alexander Kurtakov4 years I20201114-0600eclipse.jdt.core.binaries-I20201114-0600.tar.gz  eclipse.jdt.core.binaries-I20201114-0600.tar.xz  eclipse.jdt.core.binaries-I20201114-0600.zip  Alexander Kurtakov4 years I20201114-0740eclipse.jdt.core.binaries-I20201114-0740.tar.gz  eclipse.jdt.core.binaries-I20201114-0740.tar.xz  eclipse.jdt.core.binaries-I20201114-0740.zip  Alexander Kurtakov4 years I20201114-1800eclipse.jdt.core.binaries-I20201114-1800.tar.gz  eclipse.jdt.core.binaries-I20201114-1800.tar.xz  eclipse.jdt.core.binaries-I20201114-1800.zip  Alexander Kurtakov4 years I20201115-0600eclipse.jdt.core.binaries-I20201115-0600.tar.gz  eclipse.jdt.core.binaries-I20201115-0600.tar.xz  eclipse.jdt.core.binaries-I20201115-0600.zip  Alexander Kurtakov4 years I20201115-1800eclipse.jdt.core.binaries-I20201115-1800.tar.gz  eclipse.jdt.core.binaries-I20201115-1800.tar.xz  eclipse.jdt.core.binaries-I20201115-1800.zip  Alexander Kurtakov4 years I20201116-0600eclipse.jdt.core.binaries-I20201116-0600.tar.gz  eclipse.jdt.core.binaries-I20201116-0600.tar.xz  eclipse.jdt.core.binaries-I20201116-0600.zip  Alexander Kurtakov4 years I20201116-1800eclipse.jdt.core.binaries-I20201116-1800.tar.gz  eclipse.jdt.core.binaries-I20201116-1800.tar.xz  eclipse.jdt.core.binaries-I20201116-1800.zip  Alexander Kurtakov4 years I20201117-0600eclipse.jdt.core.binaries-I20201117-0600.tar.gz  eclipse.jdt.core.binaries-I20201117-0600.tar.xz  eclipse.jdt.core.binaries-I20201117-0600.zip  Alexander Kurtakov4 years I20201117-1800eclipse.jdt.core.binaries-I20201117-1800.tar.gz  eclipse.jdt.core.binaries-I20201117-1800.tar.xz  eclipse.jdt.core.binaries-I20201117-1800.zip  Alexander Kurtakov4 years I20201118-0600eclipse.jdt.core.binaries-I20201118-0600.tar.gz  eclipse.jdt.core.binaries-I20201118-0600.tar.xz  eclipse.jdt.core.binaries-I20201118-0600.zip  Alexander Kurtakov4 years I20201118-1800eclipse.jdt.core.binaries-I20201118-1800.tar.gz  eclipse.jdt.core.binaries-I20201118-1800.tar.xz  eclipse.jdt.core.binaries-I20201118-1800.zip  Alexander Kurtakov4 years I20201119-0730eclipse.jdt.core.binaries-I20201119-0730.tar.gz  eclipse.jdt.core.binaries-I20201119-0730.tar.xz  eclipse.jdt.core.binaries-I20201119-0730.zip  Alexander Kurtakov4 years I20201120-0320eclipse.jdt.core.binaries-I20201120-0320.tar.gz  eclipse.jdt.core.binaries-I20201120-0320.tar.xz  eclipse.jdt.core.binaries-I20201120-0320.zip  Alexander Kurtakov4 years I20201120-1800eclipse.jdt.core.binaries-I20201120-1800.tar.gz  eclipse.jdt.core.binaries-I20201120-1800.tar.xz  eclipse.jdt.core.binaries-I20201120-1800.zip  Alexander Kurtakov4 years I20201121-0600eclipse.jdt.core.binaries-I20201121-0600.tar.gz  eclipse.jdt.core.binaries-I20201121-0600.tar.xz  eclipse.jdt.core.binaries-I20201121-0600.zip  Alexander Kurtakov4 years I20201121-1800eclipse.jdt.core.binaries-I20201121-1800.tar.gz  eclipse.jdt.core.binaries-I20201121-1800.tar.xz  eclipse.jdt.core.binaries-I20201121-1800.zip  Alexander Kurtakov4 years I20201122-0600eclipse.jdt.core.binaries-I20201122-0600.tar.gz  eclipse.jdt.core.binaries-I20201122-0600.tar.xz  eclipse.jdt.core.binaries-I20201122-0600.zip  Alexander Kurtakov4 years I20201122-1800eclipse.jdt.core.binaries-I20201122-1800.tar.gz  eclipse.jdt.core.binaries-I20201122-1800.tar.xz  eclipse.jdt.core.binaries-I20201122-1800.zip  Alexander Kurtakov4 years I20201123-0600eclipse.jdt.core.binaries-I20201123-0600.tar.gz  eclipse.jdt.core.binaries-I20201123-0600.tar.xz  eclipse.jdt.core.binaries-I20201123-0600.zip  Alexander Kurtakov4 years I20201123-1800eclipse.jdt.core.binaries-I20201123-1800.tar.gz  eclipse.jdt.core.binaries-I20201123-1800.tar.xz  eclipse.jdt.core.binaries-I20201123-1800.zip  Alexander Kurtakov4 years I20201124-0600eclipse.jdt.core.binaries-I20201124-0600.tar.gz  eclipse.jdt.core.binaries-I20201124-0600.tar.xz  eclipse.jdt.core.binaries-I20201124-0600.zip  Alexander Kurtakov4 years I20201124-1800eclipse.jdt.core.binaries-I20201124-1800.tar.gz  eclipse.jdt.core.binaries-I20201124-1800.tar.xz  eclipse.jdt.core.binaries-I20201124-1800.zip  Alexander Kurtakov4 years I20201125-0600eclipse.jdt.core.binaries-I20201125-0600.tar.gz  eclipse.jdt.core.binaries-I20201125-0600.tar.xz  eclipse.jdt.core.binaries-I20201125-0600.zip  Alexander Kurtakov4 years I20201125-1800eclipse.jdt.core.binaries-I20201125-1800.tar.gz  eclipse.jdt.core.binaries-I20201125-1800.tar.xz  eclipse.jdt.core.binaries-I20201125-1800.zip  Alexander Kurtakov4 years I20201127-0630eclipse.jdt.core.binaries-I20201127-0630.tar.gz  eclipse.jdt.core.binaries-I20201127-0630.tar.xz  eclipse.jdt.core.binaries-I20201127-0630.zip  Alexander Kurtakov4 years I20201127-1010eclipse.jdt.core.binaries-I20201127-1010.tar.gz  eclipse.jdt.core.binaries-I20201127-1010.tar.xz  eclipse.jdt.core.binaries-I20201127-1010.zip  Alexander Kurtakov4 years I20201127-1800eclipse.jdt.core.binaries-I20201127-1800.tar.gz  eclipse.jdt.core.binaries-I20201127-1800.tar.xz  eclipse.jdt.core.binaries-I20201127-1800.zip  Alexander Kurtakov4 years I20201128-0300eclipse.jdt.core.binaries-I20201128-0300.tar.gz  eclipse.jdt.core.binaries-I20201128-0300.tar.xz  eclipse.jdt.core.binaries-I20201128-0300.zip  Alexander Kurtakov4 years I20201128-0600eclipse.jdt.core.binaries-I20201128-0600.tar.gz  eclipse.jdt.core.binaries-I20201128-0600.tar.xz  eclipse.jdt.core.binaries-I20201128-0600.zip  Alexander Kurtakov4 years I20201128-1800eclipse.jdt.core.binaries-I20201128-1800.tar.gz  eclipse.jdt.core.binaries-I20201128-1800.tar.xz  eclipse.jdt.core.binaries-I20201128-1800.zip  Alexander Kurtakov4 years I20201129-0600eclipse.jdt.core.binaries-I20201129-0600.tar.gz  eclipse.jdt.core.binaries-I20201129-0600.tar.xz  eclipse.jdt.core.binaries-I20201129-0600.zip  Alexander Kurtakov4 years I20201129-1800eclipse.jdt.core.binaries-I20201129-1800.tar.gz  eclipse.jdt.core.binaries-I20201129-1800.tar.xz  eclipse.jdt.core.binaries-I20201129-1800.zip  Alexander Kurtakov4 years I20201130-0600eclipse.jdt.core.binaries-I20201130-0600.tar.gz  eclipse.jdt.core.binaries-I20201130-0600.tar.xz  eclipse.jdt.core.binaries-I20201130-0600.zip  Alexander Kurtakov4 years I20201130-1800eclipse.jdt.core.binaries-I20201130-1800.tar.gz  eclipse.jdt.core.binaries-I20201130-1800.tar.xz  eclipse.jdt.core.binaries-I20201130-1800.zip  Alexander Kurtakov4 years I20201201-0600eclipse.jdt.core.binaries-I20201201-0600.tar.gz  eclipse.jdt.core.binaries-I20201201-0600.tar.xz  eclipse.jdt.core.binaries-I20201201-0600.zip  Alexander Kurtakov4 years I20201201-1800eclipse.jdt.core.binaries-I20201201-1800.tar.gz  eclipse.jdt.core.binaries-I20201201-1800.tar.xz  eclipse.jdt.core.binaries-I20201201-1800.zip  Alexander Kurtakov4 years I20201202-0600eclipse.jdt.core.binaries-I20201202-0600.tar.gz  eclipse.jdt.core.binaries-I20201202-0600.tar.xz  eclipse.jdt.core.binaries-I20201202-0600.zip  Alexander Kurtakov4 years I20201202-1800eclipse.jdt.core.binaries-I20201202-1800.tar.gz  eclipse.jdt.core.binaries-I20201202-1800.tar.xz  eclipse.jdt.core.binaries-I20201202-1800.zip  Alexander Kurtakov4 years I20210122-0420eclipse.jdt.core.binaries-I20210122-0420.tar.gz  eclipse.jdt.core.binaries-I20210122-0420.tar.xz  eclipse.jdt.core.binaries-I20210122-0420.zip  Alexander Kurtakov4 years I20210122-0630eclipse.jdt.core.binaries-I20210122-0630.tar.gz  eclipse.jdt.core.binaries-I20210122-0630.tar.xz  eclipse.jdt.core.binaries-I20210122-0630.zip  Alexander Kurtakov4 years I20210122-0800eclipse.jdt.core.binaries-I20210122-0800.tar.gz  eclipse.jdt.core.binaries-I20210122-0800.tar.xz  eclipse.jdt.core.binaries-I20210122-0800.zip  Alexander Kurtakov4 years Y20200928-0600eclipse.jdt.core.binaries-Y20200928-0600.tar.gz  eclipse.jdt.core.binaries-Y20200928-0600.tar.xz  eclipse.jdt.core.binaries-Y20200928-0600.zip  Alexander Kurtakov4 years Y20200928-0700eclipse.jdt.core.binaries-Y20200928-0700.tar.gz  eclipse.jdt.core.binaries-Y20200928-0700.tar.xz  eclipse.jdt.core.binaries-Y20200928-0700.zip  Alexander Kurtakov4 years Y20200928-1200eclipse.jdt.core.binaries-Y20200928-1200.tar.gz  eclipse.jdt.core.binaries-Y20200928-1200.tar.xz  eclipse.jdt.core.binaries-Y20200928-1200.zip  Alexander Kurtakov4 years Y20200929-0550eclipse.jdt.core.binaries-Y20200929-0550.tar.gz  eclipse.jdt.core.binaries-Y20200929-0550.tar.xz  eclipse.jdt.core.binaries-Y20200929-0550.zip  Alexander Kurtakov4 years Y20200929-1200eclipse.jdt.core.binaries-Y20200929-1200.tar.gz  eclipse.jdt.core.binaries-Y20200929-1200.tar.xz  eclipse.jdt.core.binaries-Y20200929-1200.zip  Alexander Kurtakov4 years Y20200930-1200eclipse.jdt.core.binaries-Y20200930-1200.tar.gz  eclipse.jdt.core.binaries-Y20200930-1200.tar.xz  eclipse.jdt.core.binaries-Y20200930-1200.zip  Alexander Kurtakov4 years Y20201001-1200eclipse.jdt.core.binaries-Y20201001-1200.tar.gz  eclipse.jdt.core.binaries-Y20201001-1200.tar.xz  eclipse.jdt.core.binaries-Y20201001-1200.zip  Alexander Kurtakov4 years Y20201002-1200eclipse.jdt.core.binaries-Y20201002-1200.tar.gz  eclipse.jdt.core.binaries-Y20201002-1200.tar.xz  eclipse.jdt.core.binaries-Y20201002-1200.zip  Alexander Kurtakov4 years Y20201006-1200eclipse.jdt.core.binaries-Y20201006-1200.tar.gz  eclipse.jdt.core.binaries-Y20201006-1200.tar.xz  eclipse.jdt.core.binaries-Y20201006-1200.zip  Alexander Kurtakov4 years Y20201008-1200eclipse.jdt.core.binaries-Y20201008-1200.tar.gz  eclipse.jdt.core.binaries-Y20201008-1200.tar.xz  eclipse.jdt.core.binaries-Y20201008-1200.zip  Alexander Kurtakov4 years Y20201009-1200eclipse.jdt.core.binaries-Y20201009-1200.tar.gz  eclipse.jdt.core.binaries-Y20201009-1200.tar.xz  eclipse.jdt.core.binaries-Y20201009-1200.zip  Alexander Kurtakov4 years Y20201010-1200eclipse.jdt.core.binaries-Y20201010-1200.tar.gz  eclipse.jdt.core.binaries-Y20201010-1200.tar.xz  eclipse.jdt.core.binaries-Y20201010-1200.zip  Alexander Kurtakov4 years Y20201011-1200eclipse.jdt.core.binaries-Y20201011-1200.tar.gz  eclipse.jdt.core.binaries-Y20201011-1200.tar.xz  eclipse.jdt.core.binaries-Y20201011-1200.zip  Alexander Kurtakov4 years Y20201012-1200eclipse.jdt.core.binaries-Y20201012-1200.tar.gz  eclipse.jdt.core.binaries-Y20201012-1200.tar.xz  eclipse.jdt.core.binaries-Y20201012-1200.zip  Alexander Kurtakov4 years Y20201013-1200eclipse.jdt.core.binaries-Y20201013-1200.tar.gz  eclipse.jdt.core.binaries-Y20201013-1200.tar.xz  eclipse.jdt.core.binaries-Y20201013-1200.zip  Alexander Kurtakov4 years Y20201014-1200eclipse.jdt.core.binaries-Y20201014-1200.tar.gz  eclipse.jdt.core.binaries-Y20201014-1200.tar.xz  eclipse.jdt.core.binaries-Y20201014-1200.zip  Alexander Kurtakov4 years Y20201015-1200eclipse.jdt.core.binaries-Y20201015-1200.tar.gz  eclipse.jdt.core.binaries-Y20201015-1200.tar.xz  eclipse.jdt.core.binaries-Y20201015-1200.zip  Alexander Kurtakov4 years Y20201016-1200eclipse.jdt.core.binaries-Y20201016-1200.tar.gz  eclipse.jdt.core.binaries-Y20201016-1200.tar.xz  eclipse.jdt.core.binaries-Y20201016-1200.zip  Alexander Kurtakov4 years Y20201017-1200eclipse.jdt.core.binaries-Y20201017-1200.tar.gz  eclipse.jdt.core.binaries-Y20201017-1200.tar.xz  eclipse.jdt.core.binaries-Y20201017-1200.zip  Alexander Kurtakov4 years Y20201018-1200eclipse.jdt.core.binaries-Y20201018-1200.tar.gz  eclipse.jdt.core.binaries-Y20201018-1200.tar.xz  eclipse.jdt.core.binaries-Y20201018-1200.zip  Alexander Kurtakov4 years Y20201019-1200eclipse.jdt.core.binaries-Y20201019-1200.tar.gz  eclipse.jdt.core.binaries-Y20201019-1200.tar.xz  eclipse.jdt.core.binaries-Y20201019-1200.zip  Alexander Kurtakov4 years Y20201020-1200eclipse.jdt.core.binaries-Y20201020-1200.tar.gz  eclipse.jdt.core.binaries-Y20201020-1200.tar.xz  eclipse.jdt.core.binaries-Y20201020-1200.zip  Alexander Kurtakov4 years Y20201021-1200eclipse.jdt.core.binaries-Y20201021-1200.tar.gz  eclipse.jdt.core.binaries-Y20201021-1200.tar.xz  eclipse.jdt.core.binaries-Y20201021-1200.zip  Alexander Kurtakov4 years Y20201023-1200eclipse.jdt.core.binaries-Y20201023-1200.tar.gz  eclipse.jdt.core.binaries-Y20201023-1200.tar.xz  eclipse.jdt.core.binaries-Y20201023-1200.zip  Alexander Kurtakov4 years Y20201024-1200eclipse.jdt.core.binaries-Y20201024-1200.tar.gz  eclipse.jdt.core.binaries-Y20201024-1200.tar.xz  eclipse.jdt.core.binaries-Y20201024-1200.zip  Alexander Kurtakov4 years Y20201025-1200eclipse.jdt.core.binaries-Y20201025-1200.tar.gz  eclipse.jdt.core.binaries-Y20201025-1200.tar.xz  eclipse.jdt.core.binaries-Y20201025-1200.zip  Alexander Kurtakov4 years Y20201026-1200eclipse.jdt.core.binaries-Y20201026-1200.tar.gz  eclipse.jdt.core.binaries-Y20201026-1200.tar.xz  eclipse.jdt.core.binaries-Y20201026-1200.zip  Alexander Kurtakov4 years Y20201027-1200eclipse.jdt.core.binaries-Y20201027-1200.tar.gz  eclipse.jdt.core.binaries-Y20201027-1200.tar.xz  eclipse.jdt.core.binaries-Y20201027-1200.zip  Alexander Kurtakov4 years Y20201028-1200eclipse.jdt.core.binaries-Y20201028-1200.tar.gz  eclipse.jdt.core.binaries-Y20201028-1200.tar.xz  eclipse.jdt.core.binaries-Y20201028-1200.zip  Alexander Kurtakov4 years Y20201029-1200eclipse.jdt.core.binaries-Y20201029-1200.tar.gz  eclipse.jdt.core.binaries-Y20201029-1200.tar.xz  eclipse.jdt.core.binaries-Y20201029-1200.zip  Alexander Kurtakov4 years Y20201030-1200eclipse.jdt.core.binaries-Y20201030-1200.tar.gz  eclipse.jdt.core.binaries-Y20201030-1200.tar.xz  eclipse.jdt.core.binaries-Y20201030-1200.zip  Alexander Kurtakov4 years Y20201031-1200eclipse.jdt.core.binaries-Y20201031-1200.tar.gz  eclipse.jdt.core.binaries-Y20201031-1200.tar.xz  eclipse.jdt.core.binaries-Y20201031-1200.zip  Alexander Kurtakov4 years Y20201101-1200eclipse.jdt.core.binaries-Y20201101-1200.tar.gz  eclipse.jdt.core.binaries-Y20201101-1200.tar.xz  eclipse.jdt.core.binaries-Y20201101-1200.zip  Alexander Kurtakov4 years Y20201102-1200eclipse.jdt.core.binaries-Y20201102-1200.tar.gz  eclipse.jdt.core.binaries-Y20201102-1200.tar.xz  eclipse.jdt.core.binaries-Y20201102-1200.zip  Alexander Kurtakov4 years Y20201103-1200eclipse.jdt.core.binaries-Y20201103-1200.tar.gz  eclipse.jdt.core.binaries-Y20201103-1200.tar.xz  eclipse.jdt.core.binaries-Y20201103-1200.zip  Alexander Kurtakov4 years Y20201104-1200eclipse.jdt.core.binaries-Y20201104-1200.tar.gz  eclipse.jdt.core.binaries-Y20201104-1200.tar.xz  eclipse.jdt.core.binaries-Y20201104-1200.zip  Alexander Kurtakov4 years Y20201105-1200eclipse.jdt.core.binaries-Y20201105-1200.tar.gz  eclipse.jdt.core.binaries-Y20201105-1200.tar.xz  eclipse.jdt.core.binaries-Y20201105-1200.zip  Alexander Kurtakov4 years Y20201106-1200eclipse.jdt.core.binaries-Y20201106-1200.tar.gz  eclipse.jdt.core.binaries-Y20201106-1200.tar.xz  eclipse.jdt.core.binaries-Y20201106-1200.zip  Alexander Kurtakov4 years Y20201107-1200eclipse.jdt.core.binaries-Y20201107-1200.tar.gz  eclipse.jdt.core.binaries-Y20201107-1200.tar.xz  eclipse.jdt.core.binaries-Y20201107-1200.zip  Alexander Kurtakov4 years Y20201108-1200eclipse.jdt.core.binaries-Y20201108-1200.tar.gz  eclipse.jdt.core.binaries-Y20201108-1200.tar.xz  eclipse.jdt.core.binaries-Y20201108-1200.zip  Alexander Kurtakov4 years Y20201109-0220eclipse.jdt.core.binaries-Y20201109-0220.tar.gz  eclipse.jdt.core.binaries-Y20201109-0220.tar.xz  eclipse.jdt.core.binaries-Y20201109-0220.zip  Alexander Kurtakov4 years Y20201109-1200eclipse.jdt.core.binaries-Y20201109-1200.tar.gz  eclipse.jdt.core.binaries-Y20201109-1200.tar.xz  eclipse.jdt.core.binaries-Y20201109-1200.zip  Alexander Kurtakov4 years Y20201110-1200eclipse.jdt.core.binaries-Y20201110-1200.tar.gz  eclipse.jdt.core.binaries-Y20201110-1200.tar.xz  eclipse.jdt.core.binaries-Y20201110-1200.zip  Alexander Kurtakov4 years Y20201111-0210eclipse.jdt.core.binaries-Y20201111-0210.tar.gz  eclipse.jdt.core.binaries-Y20201111-0210.tar.xz  eclipse.jdt.core.binaries-Y20201111-0210.zip  Alexander Kurtakov4 years Y20201113-1200eclipse.jdt.core.binaries-Y20201113-1200.tar.gz  eclipse.jdt.core.binaries-Y20201113-1200.tar.xz  eclipse.jdt.core.binaries-Y20201113-1200.zip  Alexander Kurtakov4 years Y20201117-1200eclipse.jdt.core.binaries-Y20201117-1200.tar.gz  eclipse.jdt.core.binaries-Y20201117-1200.tar.xz  eclipse.jdt.core.binaries-Y20201117-1200.zip  Alexander Kurtakov4 years Y20201120-1200eclipse.jdt.core.binaries-Y20201120-1200.tar.gz  eclipse.jdt.core.binaries-Y20201120-1200.tar.xz  eclipse.jdt.core.binaries-Y20201120-1200.zip  Alexander Kurtakov4 years Y20201124-1200eclipse.jdt.core.binaries-Y20201124-1200.tar.gz  eclipse.jdt.core.binaries-Y20201124-1200.tar.xz  eclipse.jdt.core.binaries-Y20201124-1200.zip  Alexander Kurtakov4 years Y20201127-1200eclipse.jdt.core.binaries-Y20201127-1200.tar.gz  eclipse.jdt.core.binaries-Y20201127-1200.tar.xz  eclipse.jdt.core.binaries-Y20201127-1200.zip  Alexander Kurtakov4 years Y20201201-1200eclipse.jdt.core.binaries-Y20201201-1200.tar.gz  eclipse.jdt.core.binaries-Y20201201-1200.tar.xz  eclipse.jdt.core.binaries-Y20201201-1200.zip  Alexander Kurtakov4 years S4_17_0_RC1eclipse.jdt.core.binaries-S4_17_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_17_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_17_0_RC1.zip  Eclipse Releng Bot4 years S4_17_0_M3eclipse.jdt.core.binaries-S4_17_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_17_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_17_0_M3.zip  Eclipse Releng Bot4 years S4_17_0_M1eclipse.jdt.core.binaries-S4_17_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_17_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_17_0_M1.zip  Eclipse Releng Bot4 years R4_16eclipse.jdt.core.binaries-R4_16.tar.gz  eclipse.jdt.core.binaries-R4_16.tar.xz  eclipse.jdt.core.binaries-R4_16.zip  Eclipse Releng Bot4 years S4_16_0_RC2eclipse.jdt.core.binaries-S4_16_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_16_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_16_0_RC2.zip  Eclipse Releng Bot4 years I20200605-0720eclipse.jdt.core.binaries-I20200605-0720.tar.gz  eclipse.jdt.core.binaries-I20200605-0720.tar.xz  eclipse.jdt.core.binaries-I20200605-0720.zip  Sravan Kumar Lakkimsetti4 years I20200605-0910eclipse.jdt.core.binaries-I20200605-0910.tar.gz  eclipse.jdt.core.binaries-I20200605-0910.tar.xz  eclipse.jdt.core.binaries-I20200605-0910.zip  Sravan Kumar Lakkimsetti4 years I20200605-0950eclipse.jdt.core.binaries-I20200605-0950.tar.gz  eclipse.jdt.core.binaries-I20200605-0950.tar.xz  eclipse.jdt.core.binaries-I20200605-0950.zip  Sravan Kumar Lakkimsetti4 years I20200605-1150eclipse.jdt.core.binaries-I20200605-1150.tar.gz  eclipse.jdt.core.binaries-I20200605-1150.tar.xz  eclipse.jdt.core.binaries-I20200605-1150.zip  Sravan Kumar Lakkimsetti4 years I20200605-1200eclipse.jdt.core.binaries-I20200605-1200.tar.gz  eclipse.jdt.core.binaries-I20200605-1200.tar.xz  eclipse.jdt.core.binaries-I20200605-1200.zip  Sravan Kumar Lakkimsetti4 years I20200605-1230eclipse.jdt.core.binaries-I20200605-1230.tar.gz  eclipse.jdt.core.binaries-I20200605-1230.tar.xz  eclipse.jdt.core.binaries-I20200605-1230.zip  Sravan Kumar Lakkimsetti4 years I20200605-1500eclipse.jdt.core.binaries-I20200605-1500.tar.gz  eclipse.jdt.core.binaries-I20200605-1500.tar.xz  eclipse.jdt.core.binaries-I20200605-1500.zip  Sravan Kumar Lakkimsetti4 years I20200605-2140eclipse.jdt.core.binaries-I20200605-2140.tar.gz  eclipse.jdt.core.binaries-I20200605-2140.tar.xz  eclipse.jdt.core.binaries-I20200605-2140.zip  Sravan Kumar Lakkimsetti4 years I20200606-0050eclipse.jdt.core.binaries-I20200606-0050.tar.gz  eclipse.jdt.core.binaries-I20200606-0050.tar.xz  eclipse.jdt.core.binaries-I20200606-0050.zip  Sravan Kumar Lakkimsetti4 years I20200606-0400eclipse.jdt.core.binaries-I20200606-0400.tar.gz  eclipse.jdt.core.binaries-I20200606-0400.tar.xz  eclipse.jdt.core.binaries-I20200606-0400.zip  Sravan Kumar Lakkimsetti4 years I20200606-0700eclipse.jdt.core.binaries-I20200606-0700.tar.gz  eclipse.jdt.core.binaries-I20200606-0700.tar.xz  eclipse.jdt.core.binaries-I20200606-0700.zip  Sravan Kumar Lakkimsetti4 years I20200606-0910eclipse.jdt.core.binaries-I20200606-0910.tar.gz  eclipse.jdt.core.binaries-I20200606-0910.tar.xz  eclipse.jdt.core.binaries-I20200606-0910.zip  Sravan Kumar Lakkimsetti4 years I20200606-0940eclipse.jdt.core.binaries-I20200606-0940.tar.gz  eclipse.jdt.core.binaries-I20200606-0940.tar.xz  eclipse.jdt.core.binaries-I20200606-0940.zip  Sravan Kumar Lakkimsetti4 years I20200606-1800eclipse.jdt.core.binaries-I20200606-1800.tar.gz  eclipse.jdt.core.binaries-I20200606-1800.tar.xz  eclipse.jdt.core.binaries-I20200606-1800.zip  Sravan Kumar Lakkimsetti4 years I20200607-1800eclipse.jdt.core.binaries-I20200607-1800.tar.gz  eclipse.jdt.core.binaries-I20200607-1800.tar.xz  eclipse.jdt.core.binaries-I20200607-1800.zip  Sravan Kumar Lakkimsetti4 years I20200608-1800eclipse.jdt.core.binaries-I20200608-1800.tar.gz  eclipse.jdt.core.binaries-I20200608-1800.tar.xz  eclipse.jdt.core.binaries-I20200608-1800.zip  Sravan Kumar Lakkimsetti4 years I20200609-0150eclipse.jdt.core.binaries-I20200609-0150.tar.gz  eclipse.jdt.core.binaries-I20200609-0150.tar.xz  eclipse.jdt.core.binaries-I20200609-0150.zip  Sravan Kumar Lakkimsetti4 years I20200609-1800eclipse.jdt.core.binaries-I20200609-1800.tar.gz  eclipse.jdt.core.binaries-I20200609-1800.tar.xz  eclipse.jdt.core.binaries-I20200609-1800.zip  Sravan Kumar Lakkimsetti4 years I20200610-1800eclipse.jdt.core.binaries-I20200610-1800.tar.gz  eclipse.jdt.core.binaries-I20200610-1800.tar.xz  eclipse.jdt.core.binaries-I20200610-1800.zip  Sravan Kumar Lakkimsetti4 years I20200611-1800eclipse.jdt.core.binaries-I20200611-1800.tar.gz  eclipse.jdt.core.binaries-I20200611-1800.tar.xz  eclipse.jdt.core.binaries-I20200611-1800.zip  Sravan Kumar Lakkimsetti4 years I20200612-0400eclipse.jdt.core.binaries-I20200612-0400.tar.gz  eclipse.jdt.core.binaries-I20200612-0400.tar.xz  eclipse.jdt.core.binaries-I20200612-0400.zip  Sravan Kumar Lakkimsetti4 years I20200612-0650eclipse.jdt.core.binaries-I20200612-0650.tar.gz  eclipse.jdt.core.binaries-I20200612-0650.tar.xz  eclipse.jdt.core.binaries-I20200612-0650.zip  Sravan Kumar Lakkimsetti4 years I20200612-1800eclipse.jdt.core.binaries-I20200612-1800.tar.gz  eclipse.jdt.core.binaries-I20200612-1800.tar.xz  eclipse.jdt.core.binaries-I20200612-1800.zip  Sravan Kumar Lakkimsetti4 years I20200613-1800eclipse.jdt.core.binaries-I20200613-1800.tar.gz  eclipse.jdt.core.binaries-I20200613-1800.tar.xz  eclipse.jdt.core.binaries-I20200613-1800.zip  Sravan Kumar Lakkimsetti4 years I20200614-1800eclipse.jdt.core.binaries-I20200614-1800.tar.gz  eclipse.jdt.core.binaries-I20200614-1800.tar.xz  eclipse.jdt.core.binaries-I20200614-1800.zip  Sravan Kumar Lakkimsetti4 years I20200615-1800eclipse.jdt.core.binaries-I20200615-1800.tar.gz  eclipse.jdt.core.binaries-I20200615-1800.tar.xz  eclipse.jdt.core.binaries-I20200615-1800.zip  Sravan Kumar Lakkimsetti4 years I20200616-0140eclipse.jdt.core.binaries-I20200616-0140.tar.gz  eclipse.jdt.core.binaries-I20200616-0140.tar.xz  eclipse.jdt.core.binaries-I20200616-0140.zip  Sravan Kumar Lakkimsetti4 years I20200616-0320eclipse.jdt.core.binaries-I20200616-0320.tar.gz  eclipse.jdt.core.binaries-I20200616-0320.tar.xz  eclipse.jdt.core.binaries-I20200616-0320.zip  Sravan Kumar Lakkimsetti4 years I20200616-0620eclipse.jdt.core.binaries-I20200616-0620.tar.gz  eclipse.jdt.core.binaries-I20200616-0620.tar.xz  eclipse.jdt.core.binaries-I20200616-0620.zip  Sravan Kumar Lakkimsetti4 years I20200616-1800eclipse.jdt.core.binaries-I20200616-1800.tar.gz  eclipse.jdt.core.binaries-I20200616-1800.tar.xz  eclipse.jdt.core.binaries-I20200616-1800.zip  Sravan Kumar Lakkimsetti4 years I20200617-1800eclipse.jdt.core.binaries-I20200617-1800.tar.gz  eclipse.jdt.core.binaries-I20200617-1800.tar.xz  eclipse.jdt.core.binaries-I20200617-1800.zip  Sravan Kumar Lakkimsetti4 years I20200618-1800eclipse.jdt.core.binaries-I20200618-1800.tar.gz  eclipse.jdt.core.binaries-I20200618-1800.tar.xz  eclipse.jdt.core.binaries-I20200618-1800.zip  Sravan Kumar Lakkimsetti4 years I20200619-1800eclipse.jdt.core.binaries-I20200619-1800.tar.gz  eclipse.jdt.core.binaries-I20200619-1800.tar.xz  eclipse.jdt.core.binaries-I20200619-1800.zip  Sravan Kumar Lakkimsetti4 years I20200620-1800eclipse.jdt.core.binaries-I20200620-1800.tar.gz  eclipse.jdt.core.binaries-I20200620-1800.tar.xz  eclipse.jdt.core.binaries-I20200620-1800.zip  Sravan Kumar Lakkimsetti4 years I20200621-1800eclipse.jdt.core.binaries-I20200621-1800.tar.gz  eclipse.jdt.core.binaries-I20200621-1800.tar.xz  eclipse.jdt.core.binaries-I20200621-1800.zip  Sravan Kumar Lakkimsetti4 years I20200622-1800eclipse.jdt.core.binaries-I20200622-1800.tar.gz  eclipse.jdt.core.binaries-I20200622-1800.tar.xz  eclipse.jdt.core.binaries-I20200622-1800.zip  Sravan Kumar Lakkimsetti4 years I20200623-1010eclipse.jdt.core.binaries-I20200623-1010.tar.gz  eclipse.jdt.core.binaries-I20200623-1010.tar.xz  eclipse.jdt.core.binaries-I20200623-1010.zip  Sravan Kumar Lakkimsetti4 years I20200623-1800eclipse.jdt.core.binaries-I20200623-1800.tar.gz  eclipse.jdt.core.binaries-I20200623-1800.tar.xz  eclipse.jdt.core.binaries-I20200623-1800.zip  Sravan Kumar Lakkimsetti4 years I20200624-1800eclipse.jdt.core.binaries-I20200624-1800.tar.gz  eclipse.jdt.core.binaries-I20200624-1800.tar.xz  eclipse.jdt.core.binaries-I20200624-1800.zip  Sravan Kumar Lakkimsetti4 years I20200625-1800eclipse.jdt.core.binaries-I20200625-1800.tar.gz  eclipse.jdt.core.binaries-I20200625-1800.tar.xz  eclipse.jdt.core.binaries-I20200625-1800.zip  Sravan Kumar Lakkimsetti4 years I20200626-1800eclipse.jdt.core.binaries-I20200626-1800.tar.gz  eclipse.jdt.core.binaries-I20200626-1800.tar.xz  eclipse.jdt.core.binaries-I20200626-1800.zip  Sravan Kumar Lakkimsetti4 years I20200628-1800eclipse.jdt.core.binaries-I20200628-1800.tar.gz  eclipse.jdt.core.binaries-I20200628-1800.tar.xz  eclipse.jdt.core.binaries-I20200628-1800.zip  Sravan Kumar Lakkimsetti4 years I20200629-1800eclipse.jdt.core.binaries-I20200629-1800.tar.gz  eclipse.jdt.core.binaries-I20200629-1800.tar.xz  eclipse.jdt.core.binaries-I20200629-1800.zip  Sravan Kumar Lakkimsetti4 years I20200630-1800eclipse.jdt.core.binaries-I20200630-1800.tar.gz  eclipse.jdt.core.binaries-I20200630-1800.tar.xz  eclipse.jdt.core.binaries-I20200630-1800.zip  Sravan Kumar Lakkimsetti4 years I20200701-0330eclipse.jdt.core.binaries-I20200701-0330.tar.gz  eclipse.jdt.core.binaries-I20200701-0330.tar.xz  eclipse.jdt.core.binaries-I20200701-0330.zip  Sravan Kumar Lakkimsetti4 years I20200701-1800eclipse.jdt.core.binaries-I20200701-1800.tar.gz  eclipse.jdt.core.binaries-I20200701-1800.tar.xz  eclipse.jdt.core.binaries-I20200701-1800.zip  Sravan Kumar Lakkimsetti4 years I20200701-2210eclipse.jdt.core.binaries-I20200701-2210.tar.gz  eclipse.jdt.core.binaries-I20200701-2210.tar.xz  eclipse.jdt.core.binaries-I20200701-2210.zip  Sravan Kumar Lakkimsetti4 years I20200701-2350eclipse.jdt.core.binaries-I20200701-2350.tar.gz  eclipse.jdt.core.binaries-I20200701-2350.tar.xz  eclipse.jdt.core.binaries-I20200701-2350.zip  Sravan Kumar Lakkimsetti4 years I20200702-1800eclipse.jdt.core.binaries-I20200702-1800.tar.gz  eclipse.jdt.core.binaries-I20200702-1800.tar.xz  eclipse.jdt.core.binaries-I20200702-1800.zip  Sravan Kumar Lakkimsetti4 years I20200702-2150eclipse.jdt.core.binaries-I20200702-2150.tar.gz  eclipse.jdt.core.binaries-I20200702-2150.tar.xz  eclipse.jdt.core.binaries-I20200702-2150.zip  Sravan Kumar Lakkimsetti4 years I20200703-1800eclipse.jdt.core.binaries-I20200703-1800.tar.gz  eclipse.jdt.core.binaries-I20200703-1800.tar.xz  eclipse.jdt.core.binaries-I20200703-1800.zip  Sravan Kumar Lakkimsetti4 years I20200704-0600eclipse.jdt.core.binaries-I20200704-0600.tar.gz  eclipse.jdt.core.binaries-I20200704-0600.tar.xz  eclipse.jdt.core.binaries-I20200704-0600.zip  Sravan Kumar Lakkimsetti4 years I20200704-1800eclipse.jdt.core.binaries-I20200704-1800.tar.gz  eclipse.jdt.core.binaries-I20200704-1800.tar.xz  eclipse.jdt.core.binaries-I20200704-1800.zip  Sravan Kumar Lakkimsetti4 years I20200705-0600eclipse.jdt.core.binaries-I20200705-0600.tar.gz  eclipse.jdt.core.binaries-I20200705-0600.tar.xz  eclipse.jdt.core.binaries-I20200705-0600.zip  Sravan Kumar Lakkimsetti4 years I20200705-0710eclipse.jdt.core.binaries-I20200705-0710.tar.gz  eclipse.jdt.core.binaries-I20200705-0710.tar.xz  eclipse.jdt.core.binaries-I20200705-0710.zip  Sravan Kumar Lakkimsetti4 years I20200705-1800eclipse.jdt.core.binaries-I20200705-1800.tar.gz  eclipse.jdt.core.binaries-I20200705-1800.tar.xz  eclipse.jdt.core.binaries-I20200705-1800.zip  Sravan Kumar Lakkimsetti4 years I20200706-0600eclipse.jdt.core.binaries-I20200706-0600.tar.gz  eclipse.jdt.core.binaries-I20200706-0600.tar.xz  eclipse.jdt.core.binaries-I20200706-0600.zip  Sravan Kumar Lakkimsetti4 years I20200706-1800eclipse.jdt.core.binaries-I20200706-1800.tar.gz  eclipse.jdt.core.binaries-I20200706-1800.tar.xz  eclipse.jdt.core.binaries-I20200706-1800.zip  Sravan Kumar Lakkimsetti4 years I20200706-2300eclipse.jdt.core.binaries-I20200706-2300.tar.gz  eclipse.jdt.core.binaries-I20200706-2300.tar.xz  eclipse.jdt.core.binaries-I20200706-2300.zip  Sravan Kumar Lakkimsetti4 years I20200707-0600eclipse.jdt.core.binaries-I20200707-0600.tar.gz  eclipse.jdt.core.binaries-I20200707-0600.tar.xz  eclipse.jdt.core.binaries-I20200707-0600.zip  Sravan Kumar Lakkimsetti4 years I20200707-1800eclipse.jdt.core.binaries-I20200707-1800.tar.gz  eclipse.jdt.core.binaries-I20200707-1800.tar.xz  eclipse.jdt.core.binaries-I20200707-1800.zip  Sravan Kumar Lakkimsetti4 years I20200708-0600eclipse.jdt.core.binaries-I20200708-0600.tar.gz  eclipse.jdt.core.binaries-I20200708-0600.tar.xz  eclipse.jdt.core.binaries-I20200708-0600.zip  Sravan Kumar Lakkimsetti4 years I20200708-1800eclipse.jdt.core.binaries-I20200708-1800.tar.gz  eclipse.jdt.core.binaries-I20200708-1800.tar.xz  eclipse.jdt.core.binaries-I20200708-1800.zip  Sravan Kumar Lakkimsetti4 years I20200710-0230eclipse.jdt.core.binaries-I20200710-0230.tar.gz  eclipse.jdt.core.binaries-I20200710-0230.tar.xz  eclipse.jdt.core.binaries-I20200710-0230.zip  Sravan Kumar Lakkimsetti4 years I20200710-1800eclipse.jdt.core.binaries-I20200710-1800.tar.gz  eclipse.jdt.core.binaries-I20200710-1800.tar.xz  eclipse.jdt.core.binaries-I20200710-1800.zip  Sravan Kumar Lakkimsetti4 years I20200711-1800eclipse.jdt.core.binaries-I20200711-1800.tar.gz  eclipse.jdt.core.binaries-I20200711-1800.tar.xz  eclipse.jdt.core.binaries-I20200711-1800.zip  Sravan Kumar Lakkimsetti4 years I20200711-2250eclipse.jdt.core.binaries-I20200711-2250.tar.gz  eclipse.jdt.core.binaries-I20200711-2250.tar.xz  eclipse.jdt.core.binaries-I20200711-2250.zip  Sravan Kumar Lakkimsetti4 years I20200712-1800eclipse.jdt.core.binaries-I20200712-1800.tar.gz  eclipse.jdt.core.binaries-I20200712-1800.tar.xz  eclipse.jdt.core.binaries-I20200712-1800.zip  Sravan Kumar Lakkimsetti4 years I20200713-1800eclipse.jdt.core.binaries-I20200713-1800.tar.gz  eclipse.jdt.core.binaries-I20200713-1800.tar.xz  eclipse.jdt.core.binaries-I20200713-1800.zip  Sravan Kumar Lakkimsetti4 years I20200713-2230eclipse.jdt.core.binaries-I20200713-2230.tar.gz  eclipse.jdt.core.binaries-I20200713-2230.tar.xz  eclipse.jdt.core.binaries-I20200713-2230.zip  Sravan Kumar Lakkimsetti4 years I20200714-1800eclipse.jdt.core.binaries-I20200714-1800.tar.gz  eclipse.jdt.core.binaries-I20200714-1800.tar.xz  eclipse.jdt.core.binaries-I20200714-1800.zip  Sravan Kumar Lakkimsetti4 years I20200715-1800eclipse.jdt.core.binaries-I20200715-1800.tar.gz  eclipse.jdt.core.binaries-I20200715-1800.tar.xz  eclipse.jdt.core.binaries-I20200715-1800.zip  Sravan Kumar Lakkimsetti4 years I20200716-1800eclipse.jdt.core.binaries-I20200716-1800.tar.gz  eclipse.jdt.core.binaries-I20200716-1800.tar.xz  eclipse.jdt.core.binaries-I20200716-1800.zip  Sravan Kumar Lakkimsetti4 years I20200717-1800eclipse.jdt.core.binaries-I20200717-1800.tar.gz  eclipse.jdt.core.binaries-I20200717-1800.tar.xz  eclipse.jdt.core.binaries-I20200717-1800.zip  Sravan Kumar Lakkimsetti4 years I20200718-1800eclipse.jdt.core.binaries-I20200718-1800.tar.gz  eclipse.jdt.core.binaries-I20200718-1800.tar.xz  eclipse.jdt.core.binaries-I20200718-1800.zip  Sravan Kumar Lakkimsetti4 years I20200719-2010eclipse.jdt.core.binaries-I20200719-2010.tar.gz  eclipse.jdt.core.binaries-I20200719-2010.tar.xz  eclipse.jdt.core.binaries-I20200719-2010.zip  Sravan Kumar Lakkimsetti4 years I20200720-0020eclipse.jdt.core.binaries-I20200720-0020.tar.gz  eclipse.jdt.core.binaries-I20200720-0020.tar.xz  eclipse.jdt.core.binaries-I20200720-0020.zip  Sravan Kumar Lakkimsetti4 years I20200720-0850eclipse.jdt.core.binaries-I20200720-0850.tar.gz  eclipse.jdt.core.binaries-I20200720-0850.tar.xz  eclipse.jdt.core.binaries-I20200720-0850.zip  Sravan Kumar Lakkimsetti4 years I20200720-1800eclipse.jdt.core.binaries-I20200720-1800.tar.gz  eclipse.jdt.core.binaries-I20200720-1800.tar.xz  eclipse.jdt.core.binaries-I20200720-1800.zip  Sravan Kumar Lakkimsetti4 years I20200721-0130eclipse.jdt.core.binaries-I20200721-0130.tar.gz  eclipse.jdt.core.binaries-I20200721-0130.tar.xz  eclipse.jdt.core.binaries-I20200721-0130.zip  Sravan Kumar Lakkimsetti4 years I20200721-0610eclipse.jdt.core.binaries-I20200721-0610.tar.gz  eclipse.jdt.core.binaries-I20200721-0610.tar.xz  eclipse.jdt.core.binaries-I20200721-0610.zip  Sravan Kumar Lakkimsetti4 years I20200721-0950eclipse.jdt.core.binaries-I20200721-0950.tar.gz  eclipse.jdt.core.binaries-I20200721-0950.tar.xz  eclipse.jdt.core.binaries-I20200721-0950.zip  Sravan Kumar Lakkimsetti4 years I20200721-1400eclipse.jdt.core.binaries-I20200721-1400.tar.gz  eclipse.jdt.core.binaries-I20200721-1400.tar.xz  eclipse.jdt.core.binaries-I20200721-1400.zip  Sravan Kumar Lakkimsetti4 years I20200721-1800eclipse.jdt.core.binaries-I20200721-1800.tar.gz  eclipse.jdt.core.binaries-I20200721-1800.tar.xz  eclipse.jdt.core.binaries-I20200721-1800.zip  Sravan Kumar Lakkimsetti4 years I20200722-0610eclipse.jdt.core.binaries-I20200722-0610.tar.gz  eclipse.jdt.core.binaries-I20200722-0610.tar.xz  eclipse.jdt.core.binaries-I20200722-0610.zip  Sravan Kumar Lakkimsetti4 years I20200722-1140eclipse.jdt.core.binaries-I20200722-1140.tar.gz  eclipse.jdt.core.binaries-I20200722-1140.tar.xz  eclipse.jdt.core.binaries-I20200722-1140.zip  Sravan Kumar Lakkimsetti4 years I20200722-1800eclipse.jdt.core.binaries-I20200722-1800.tar.gz  eclipse.jdt.core.binaries-I20200722-1800.tar.xz  eclipse.jdt.core.binaries-I20200722-1800.zip  Sravan Kumar Lakkimsetti4 years I20200723-0620eclipse.jdt.core.binaries-I20200723-0620.tar.gz  eclipse.jdt.core.binaries-I20200723-0620.tar.xz  eclipse.jdt.core.binaries-I20200723-0620.zip  Sravan Kumar Lakkimsetti4 years I20200723-1030eclipse.jdt.core.binaries-I20200723-1030.tar.gz  eclipse.jdt.core.binaries-I20200723-1030.tar.xz  eclipse.jdt.core.binaries-I20200723-1030.zip  Sravan Kumar Lakkimsetti4 years I20200723-1800eclipse.jdt.core.binaries-I20200723-1800.tar.gz  eclipse.jdt.core.binaries-I20200723-1800.tar.xz  eclipse.jdt.core.binaries-I20200723-1800.zip  Sravan Kumar Lakkimsetti4 years I20200724-0600eclipse.jdt.core.binaries-I20200724-0600.tar.gz  eclipse.jdt.core.binaries-I20200724-0600.tar.xz  eclipse.jdt.core.binaries-I20200724-0600.zip  Sravan Kumar Lakkimsetti4 years I20200724-1800eclipse.jdt.core.binaries-I20200724-1800.tar.gz  eclipse.jdt.core.binaries-I20200724-1800.tar.xz  eclipse.jdt.core.binaries-I20200724-1800.zip  Sravan Kumar Lakkimsetti4 years I20200726-1800eclipse.jdt.core.binaries-I20200726-1800.tar.gz  eclipse.jdt.core.binaries-I20200726-1800.tar.xz  eclipse.jdt.core.binaries-I20200726-1800.zip  Sravan Kumar Lakkimsetti4 years I20200727-1800eclipse.jdt.core.binaries-I20200727-1800.tar.gz  eclipse.jdt.core.binaries-I20200727-1800.tar.xz  eclipse.jdt.core.binaries-I20200727-1800.zip  Sravan Kumar Lakkimsetti4 years I20200728-1120eclipse.jdt.core.binaries-I20200728-1120.tar.gz  eclipse.jdt.core.binaries-I20200728-1120.tar.xz  eclipse.jdt.core.binaries-I20200728-1120.zip  Sravan Kumar Lakkimsetti4 years I20200728-1800eclipse.jdt.core.binaries-I20200728-1800.tar.gz  eclipse.jdt.core.binaries-I20200728-1800.tar.xz  eclipse.jdt.core.binaries-I20200728-1800.zip  Sravan Kumar Lakkimsetti4 years I20200729-0120eclipse.jdt.core.binaries-I20200729-0120.tar.gz  eclipse.jdt.core.binaries-I20200729-0120.tar.xz  eclipse.jdt.core.binaries-I20200729-0120.zip  Sravan Kumar Lakkimsetti4 years I20200729-1800eclipse.jdt.core.binaries-I20200729-1800.tar.gz  eclipse.jdt.core.binaries-I20200729-1800.tar.xz  eclipse.jdt.core.binaries-I20200729-1800.zip  Sravan Kumar Lakkimsetti4 years I20200730-1800eclipse.jdt.core.binaries-I20200730-1800.tar.gz  eclipse.jdt.core.binaries-I20200730-1800.tar.xz  eclipse.jdt.core.binaries-I20200730-1800.zip  Sravan Kumar Lakkimsetti4 years I20200731-0520eclipse.jdt.core.binaries-I20200731-0520.tar.gz  eclipse.jdt.core.binaries-I20200731-0520.tar.xz  eclipse.jdt.core.binaries-I20200731-0520.zip  Sravan Kumar Lakkimsetti4 years I20200731-1800eclipse.jdt.core.binaries-I20200731-1800.tar.gz  eclipse.jdt.core.binaries-I20200731-1800.tar.xz  eclipse.jdt.core.binaries-I20200731-1800.zip  Sravan Kumar Lakkimsetti4 years I20200731-2040eclipse.jdt.core.binaries-I20200731-2040.tar.gz  eclipse.jdt.core.binaries-I20200731-2040.tar.xz  eclipse.jdt.core.binaries-I20200731-2040.zip  Sravan Kumar Lakkimsetti4 years I20200801-0010eclipse.jdt.core.binaries-I20200801-0010.tar.gz  eclipse.jdt.core.binaries-I20200801-0010.tar.xz  eclipse.jdt.core.binaries-I20200801-0010.zip  Sravan Kumar Lakkimsetti4 years I20200801-1800eclipse.jdt.core.binaries-I20200801-1800.tar.gz  eclipse.jdt.core.binaries-I20200801-1800.tar.xz  eclipse.jdt.core.binaries-I20200801-1800.zip  Sravan Kumar Lakkimsetti4 years I20200803-0210eclipse.jdt.core.binaries-I20200803-0210.tar.gz  eclipse.jdt.core.binaries-I20200803-0210.tar.xz  eclipse.jdt.core.binaries-I20200803-0210.zip  Sravan Kumar Lakkimsetti4 years I20200803-1800eclipse.jdt.core.binaries-I20200803-1800.tar.gz  eclipse.jdt.core.binaries-I20200803-1800.tar.xz  eclipse.jdt.core.binaries-I20200803-1800.zip  Sravan Kumar Lakkimsetti4 years I20200804-1800eclipse.jdt.core.binaries-I20200804-1800.tar.gz  eclipse.jdt.core.binaries-I20200804-1800.tar.xz  eclipse.jdt.core.binaries-I20200804-1800.zip  Sravan Kumar Lakkimsetti4 years I20200805-0630eclipse.jdt.core.binaries-I20200805-0630.tar.gz  eclipse.jdt.core.binaries-I20200805-0630.tar.xz  eclipse.jdt.core.binaries-I20200805-0630.zip  Sravan Kumar Lakkimsetti4 years I20200805-0750eclipse.jdt.core.binaries-I20200805-0750.tar.gz  eclipse.jdt.core.binaries-I20200805-0750.tar.xz  eclipse.jdt.core.binaries-I20200805-0750.zip  Sravan Kumar Lakkimsetti4 years I20200805-1800eclipse.jdt.core.binaries-I20200805-1800.tar.gz  eclipse.jdt.core.binaries-I20200805-1800.tar.xz  eclipse.jdt.core.binaries-I20200805-1800.zip  Sravan Kumar Lakkimsetti4 years I20200806-1800eclipse.jdt.core.binaries-I20200806-1800.tar.gz  eclipse.jdt.core.binaries-I20200806-1800.tar.xz  eclipse.jdt.core.binaries-I20200806-1800.zip  Sravan Kumar Lakkimsetti4 years I20200807-1800eclipse.jdt.core.binaries-I20200807-1800.tar.gz  eclipse.jdt.core.binaries-I20200807-1800.tar.xz  eclipse.jdt.core.binaries-I20200807-1800.zip  Sravan Kumar Lakkimsetti4 years I20200808-0230eclipse.jdt.core.binaries-I20200808-0230.tar.gz  eclipse.jdt.core.binaries-I20200808-0230.tar.xz  eclipse.jdt.core.binaries-I20200808-0230.zip  Sravan Kumar Lakkimsetti4 years I20200808-1800eclipse.jdt.core.binaries-I20200808-1800.tar.gz  eclipse.jdt.core.binaries-I20200808-1800.tar.xz  eclipse.jdt.core.binaries-I20200808-1800.zip  Sravan Kumar Lakkimsetti4 years I20200809-1800eclipse.jdt.core.binaries-I20200809-1800.tar.gz  eclipse.jdt.core.binaries-I20200809-1800.tar.xz  eclipse.jdt.core.binaries-I20200809-1800.zip  Sravan Kumar Lakkimsetti4 years I20200810-1800eclipse.jdt.core.binaries-I20200810-1800.tar.gz  eclipse.jdt.core.binaries-I20200810-1800.tar.xz  eclipse.jdt.core.binaries-I20200810-1800.zip  Sravan Kumar Lakkimsetti4 years I20200811-1800eclipse.jdt.core.binaries-I20200811-1800.tar.gz  eclipse.jdt.core.binaries-I20200811-1800.tar.xz  eclipse.jdt.core.binaries-I20200811-1800.zip  Sravan Kumar Lakkimsetti4 years I20200812-0710eclipse.jdt.core.binaries-I20200812-0710.tar.gz  eclipse.jdt.core.binaries-I20200812-0710.tar.xz  eclipse.jdt.core.binaries-I20200812-0710.zip  Sravan Kumar Lakkimsetti4 years I20200812-1800eclipse.jdt.core.binaries-I20200812-1800.tar.gz  eclipse.jdt.core.binaries-I20200812-1800.tar.xz  eclipse.jdt.core.binaries-I20200812-1800.zip  Sravan Kumar Lakkimsetti4 years I20200813-1800eclipse.jdt.core.binaries-I20200813-1800.tar.gz  eclipse.jdt.core.binaries-I20200813-1800.tar.xz  eclipse.jdt.core.binaries-I20200813-1800.zip  Sravan Kumar Lakkimsetti4 years I20200814-0330eclipse.jdt.core.binaries-I20200814-0330.tar.gz  eclipse.jdt.core.binaries-I20200814-0330.tar.xz  eclipse.jdt.core.binaries-I20200814-0330.zip  Sravan Kumar Lakkimsetti4 years I20200814-0640eclipse.jdt.core.binaries-I20200814-0640.tar.gz  eclipse.jdt.core.binaries-I20200814-0640.tar.xz  eclipse.jdt.core.binaries-I20200814-0640.zip  Sravan Kumar Lakkimsetti4 years I20200814-1040eclipse.jdt.core.binaries-I20200814-1040.tar.gz  eclipse.jdt.core.binaries-I20200814-1040.tar.xz  eclipse.jdt.core.binaries-I20200814-1040.zip  Sravan Kumar Lakkimsetti4 years I20200814-1800eclipse.jdt.core.binaries-I20200814-1800.tar.gz  eclipse.jdt.core.binaries-I20200814-1800.tar.xz  eclipse.jdt.core.binaries-I20200814-1800.zip  Sravan Kumar Lakkimsetti4 years I20200815-0600eclipse.jdt.core.binaries-I20200815-0600.tar.gz  eclipse.jdt.core.binaries-I20200815-0600.tar.xz  eclipse.jdt.core.binaries-I20200815-0600.zip  Sravan Kumar Lakkimsetti4 years I20200815-1800eclipse.jdt.core.binaries-I20200815-1800.tar.gz  eclipse.jdt.core.binaries-I20200815-1800.tar.xz  eclipse.jdt.core.binaries-I20200815-1800.zip  Sravan Kumar Lakkimsetti4 years I20200816-0600eclipse.jdt.core.binaries-I20200816-0600.tar.gz  eclipse.jdt.core.binaries-I20200816-0600.tar.xz  eclipse.jdt.core.binaries-I20200816-0600.zip  Sravan Kumar Lakkimsetti4 years I20200816-1800eclipse.jdt.core.binaries-I20200816-1800.tar.gz  eclipse.jdt.core.binaries-I20200816-1800.tar.xz  eclipse.jdt.core.binaries-I20200816-1800.zip  Sravan Kumar Lakkimsetti4 years I20200817-0450eclipse.jdt.core.binaries-I20200817-0450.tar.gz  eclipse.jdt.core.binaries-I20200817-0450.tar.xz  eclipse.jdt.core.binaries-I20200817-0450.zip  Sravan Kumar Lakkimsetti4 years I20200817-0600eclipse.jdt.core.binaries-I20200817-0600.tar.gz  eclipse.jdt.core.binaries-I20200817-0600.tar.xz  eclipse.jdt.core.binaries-I20200817-0600.zip  Sravan Kumar Lakkimsetti4 years I20200817-0920eclipse.jdt.core.binaries-I20200817-0920.tar.gz  eclipse.jdt.core.binaries-I20200817-0920.tar.xz  eclipse.jdt.core.binaries-I20200817-0920.zip  Sravan Kumar Lakkimsetti4 years I20200817-1800eclipse.jdt.core.binaries-I20200817-1800.tar.gz  eclipse.jdt.core.binaries-I20200817-1800.tar.xz  eclipse.jdt.core.binaries-I20200817-1800.zip  Sravan Kumar Lakkimsetti4 years I20200818-0340eclipse.jdt.core.binaries-I20200818-0340.tar.gz  eclipse.jdt.core.binaries-I20200818-0340.tar.xz  eclipse.jdt.core.binaries-I20200818-0340.zip  Sravan Kumar Lakkimsetti4 years I20200818-0600eclipse.jdt.core.binaries-I20200818-0600.tar.gz  eclipse.jdt.core.binaries-I20200818-0600.tar.xz  eclipse.jdt.core.binaries-I20200818-0600.zip  Sravan Kumar Lakkimsetti4 years I20200818-0900eclipse.jdt.core.binaries-I20200818-0900.tar.gz  eclipse.jdt.core.binaries-I20200818-0900.tar.xz  eclipse.jdt.core.binaries-I20200818-0900.zip  Sravan Kumar Lakkimsetti4 years I20200818-1800eclipse.jdt.core.binaries-I20200818-1800.tar.gz  eclipse.jdt.core.binaries-I20200818-1800.tar.xz  eclipse.jdt.core.binaries-I20200818-1800.zip  Sravan Kumar Lakkimsetti4 years I20200819-0600eclipse.jdt.core.binaries-I20200819-0600.tar.gz  eclipse.jdt.core.binaries-I20200819-0600.tar.xz  eclipse.jdt.core.binaries-I20200819-0600.zip  Sravan Kumar Lakkimsetti4 years I20200819-1800eclipse.jdt.core.binaries-I20200819-1800.tar.gz  eclipse.jdt.core.binaries-I20200819-1800.tar.xz  eclipse.jdt.core.binaries-I20200819-1800.zip  Sravan Kumar Lakkimsetti4 years I20200820-0230eclipse.jdt.core.binaries-I20200820-0230.tar.gz  eclipse.jdt.core.binaries-I20200820-0230.tar.xz  eclipse.jdt.core.binaries-I20200820-0230.zip  Sravan Kumar Lakkimsetti4 years I20200821-0440eclipse.jdt.core.binaries-I20200821-0440.tar.gz  eclipse.jdt.core.binaries-I20200821-0440.tar.xz  eclipse.jdt.core.binaries-I20200821-0440.zip  Sravan Kumar Lakkimsetti4 years I20200821-1800eclipse.jdt.core.binaries-I20200821-1800.tar.gz  eclipse.jdt.core.binaries-I20200821-1800.tar.xz  eclipse.jdt.core.binaries-I20200821-1800.zip  Sravan Kumar Lakkimsetti4 years I20200822-0600eclipse.jdt.core.binaries-I20200822-0600.tar.gz  eclipse.jdt.core.binaries-I20200822-0600.tar.xz  eclipse.jdt.core.binaries-I20200822-0600.zip  Sravan Kumar Lakkimsetti4 years I20200822-1800eclipse.jdt.core.binaries-I20200822-1800.tar.gz  eclipse.jdt.core.binaries-I20200822-1800.tar.xz  eclipse.jdt.core.binaries-I20200822-1800.zip  Sravan Kumar Lakkimsetti4 years I20200823-0600eclipse.jdt.core.binaries-I20200823-0600.tar.gz  eclipse.jdt.core.binaries-I20200823-0600.tar.xz  eclipse.jdt.core.binaries-I20200823-0600.zip  Sravan Kumar Lakkimsetti4 years I20200823-1800eclipse.jdt.core.binaries-I20200823-1800.tar.gz  eclipse.jdt.core.binaries-I20200823-1800.tar.xz  eclipse.jdt.core.binaries-I20200823-1800.zip  Sravan Kumar Lakkimsetti4 years I20200824-0600eclipse.jdt.core.binaries-I20200824-0600.tar.gz  eclipse.jdt.core.binaries-I20200824-0600.tar.xz  eclipse.jdt.core.binaries-I20200824-0600.zip  Sravan Kumar Lakkimsetti4 years I20200824-1900eclipse.jdt.core.binaries-I20200824-1900.tar.gz  eclipse.jdt.core.binaries-I20200824-1900.tar.xz  eclipse.jdt.core.binaries-I20200824-1900.zip  Sravan Kumar Lakkimsetti4 years I20200825-0600eclipse.jdt.core.binaries-I20200825-0600.tar.gz  eclipse.jdt.core.binaries-I20200825-0600.tar.xz  eclipse.jdt.core.binaries-I20200825-0600.zip  Sravan Kumar Lakkimsetti4 years I20200825-1800eclipse.jdt.core.binaries-I20200825-1800.tar.gz  eclipse.jdt.core.binaries-I20200825-1800.tar.xz  eclipse.jdt.core.binaries-I20200825-1800.zip  Sravan Kumar Lakkimsetti4 years I20200826-0600eclipse.jdt.core.binaries-I20200826-0600.tar.gz  eclipse.jdt.core.binaries-I20200826-0600.tar.xz  eclipse.jdt.core.binaries-I20200826-0600.zip  Sravan Kumar Lakkimsetti4 years I20200826-1800eclipse.jdt.core.binaries-I20200826-1800.tar.gz  eclipse.jdt.core.binaries-I20200826-1800.tar.xz  eclipse.jdt.core.binaries-I20200826-1800.zip  Sravan Kumar Lakkimsetti4 years I20200828-0150eclipse.jdt.core.binaries-I20200828-0150.tar.gz  eclipse.jdt.core.binaries-I20200828-0150.tar.xz  eclipse.jdt.core.binaries-I20200828-0150.zip  Sravan Kumar Lakkimsetti4 years I20200828-1800eclipse.jdt.core.binaries-I20200828-1800.tar.gz  eclipse.jdt.core.binaries-I20200828-1800.tar.xz  eclipse.jdt.core.binaries-I20200828-1800.zip  Sravan Kumar Lakkimsetti4 years I20200829-0600eclipse.jdt.core.binaries-I20200829-0600.tar.gz  eclipse.jdt.core.binaries-I20200829-0600.tar.xz  eclipse.jdt.core.binaries-I20200829-0600.zip  Sravan Kumar Lakkimsetti4 years I20200829-1800eclipse.jdt.core.binaries-I20200829-1800.tar.gz  eclipse.jdt.core.binaries-I20200829-1800.tar.xz  eclipse.jdt.core.binaries-I20200829-1800.zip  Sravan Kumar Lakkimsetti4 years I20200830-0600eclipse.jdt.core.binaries-I20200830-0600.tar.gz  eclipse.jdt.core.binaries-I20200830-0600.tar.xz  eclipse.jdt.core.binaries-I20200830-0600.zip  Sravan Kumar Lakkimsetti4 years I20200830-1800eclipse.jdt.core.binaries-I20200830-1800.tar.gz  eclipse.jdt.core.binaries-I20200830-1800.tar.xz  eclipse.jdt.core.binaries-I20200830-1800.zip  Sravan Kumar Lakkimsetti4 years I20200831-0600eclipse.jdt.core.binaries-I20200831-0600.tar.gz  eclipse.jdt.core.binaries-I20200831-0600.tar.xz  eclipse.jdt.core.binaries-I20200831-0600.zip  Sravan Kumar Lakkimsetti4 years I20200831-1800eclipse.jdt.core.binaries-I20200831-1800.tar.gz  eclipse.jdt.core.binaries-I20200831-1800.tar.xz  eclipse.jdt.core.binaries-I20200831-1800.zip  Sravan Kumar Lakkimsetti4 years I20200901-0600eclipse.jdt.core.binaries-I20200901-0600.tar.gz  eclipse.jdt.core.binaries-I20200901-0600.tar.xz  eclipse.jdt.core.binaries-I20200901-0600.zip  Sravan Kumar Lakkimsetti4 years I20200901-1800eclipse.jdt.core.binaries-I20200901-1800.tar.gz  eclipse.jdt.core.binaries-I20200901-1800.tar.xz  eclipse.jdt.core.binaries-I20200901-1800.zip  Sravan Kumar Lakkimsetti4 years I20200902-0600eclipse.jdt.core.binaries-I20200902-0600.tar.gz  eclipse.jdt.core.binaries-I20200902-0600.tar.xz  eclipse.jdt.core.binaries-I20200902-0600.zip  Sravan Kumar Lakkimsetti4 years I20200902-1800eclipse.jdt.core.binaries-I20200902-1800.tar.gz  eclipse.jdt.core.binaries-I20200902-1800.tar.xz  eclipse.jdt.core.binaries-I20200902-1800.zip  Sravan Kumar Lakkimsetti4 years Y20200617-0320eclipse.jdt.core.binaries-Y20200617-0320.tar.gz  eclipse.jdt.core.binaries-Y20200617-0320.tar.xz  eclipse.jdt.core.binaries-Y20200617-0320.zip  Sravan Kumar Lakkimsetti4 years Y20200617-0510eclipse.jdt.core.binaries-Y20200617-0510.tar.gz  eclipse.jdt.core.binaries-Y20200617-0510.tar.xz  eclipse.jdt.core.binaries-Y20200617-0510.zip  Sravan Kumar Lakkimsetti4 years Y20200617-1040eclipse.jdt.core.binaries-Y20200617-1040.tar.gz  eclipse.jdt.core.binaries-Y20200617-1040.tar.xz  eclipse.jdt.core.binaries-Y20200617-1040.zip  Sravan Kumar Lakkimsetti4 years Y20200617-1200eclipse.jdt.core.binaries-Y20200617-1200.tar.gz  eclipse.jdt.core.binaries-Y20200617-1200.tar.xz  eclipse.jdt.core.binaries-Y20200617-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200617-2350eclipse.jdt.core.binaries-Y20200617-2350.tar.gz  eclipse.jdt.core.binaries-Y20200617-2350.tar.xz  eclipse.jdt.core.binaries-Y20200617-2350.zip  Sravan Kumar Lakkimsetti4 years Y20200620-1200eclipse.jdt.core.binaries-Y20200620-1200.tar.gz  eclipse.jdt.core.binaries-Y20200620-1200.tar.xz  eclipse.jdt.core.binaries-Y20200620-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200622-0340eclipse.jdt.core.binaries-Y20200622-0340.tar.gz  eclipse.jdt.core.binaries-Y20200622-0340.tar.xz  eclipse.jdt.core.binaries-Y20200622-0340.zip  Sravan Kumar Lakkimsetti4 years Y20200624-1200eclipse.jdt.core.binaries-Y20200624-1200.tar.gz  eclipse.jdt.core.binaries-Y20200624-1200.tar.xz  eclipse.jdt.core.binaries-Y20200624-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200629-0740eclipse.jdt.core.binaries-Y20200629-0740.tar.gz  eclipse.jdt.core.binaries-Y20200629-0740.tar.xz  eclipse.jdt.core.binaries-Y20200629-0740.zip  Sravan Kumar Lakkimsetti4 years Y20200629-1000eclipse.jdt.core.binaries-Y20200629-1000.tar.gz  eclipse.jdt.core.binaries-Y20200629-1000.tar.xz  eclipse.jdt.core.binaries-Y20200629-1000.zip  Sravan Kumar Lakkimsetti4 years Y20200701-0020eclipse.jdt.core.binaries-Y20200701-0020.tar.gz  eclipse.jdt.core.binaries-Y20200701-0020.tar.xz  eclipse.jdt.core.binaries-Y20200701-0020.zip  Sravan Kumar Lakkimsetti4 years Y20200701-1200eclipse.jdt.core.binaries-Y20200701-1200.tar.gz  eclipse.jdt.core.binaries-Y20200701-1200.tar.xz  eclipse.jdt.core.binaries-Y20200701-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200703-0300eclipse.jdt.core.binaries-Y20200703-0300.tar.gz  eclipse.jdt.core.binaries-Y20200703-0300.tar.xz  eclipse.jdt.core.binaries-Y20200703-0300.zip  Sravan Kumar Lakkimsetti4 years Y20200704-1200eclipse.jdt.core.binaries-Y20200704-1200.tar.gz  eclipse.jdt.core.binaries-Y20200704-1200.tar.xz  eclipse.jdt.core.binaries-Y20200704-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200708-1200eclipse.jdt.core.binaries-Y20200708-1200.tar.gz  eclipse.jdt.core.binaries-Y20200708-1200.tar.xz  eclipse.jdt.core.binaries-Y20200708-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200711-1200eclipse.jdt.core.binaries-Y20200711-1200.tar.gz  eclipse.jdt.core.binaries-Y20200711-1200.tar.xz  eclipse.jdt.core.binaries-Y20200711-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200715-1200eclipse.jdt.core.binaries-Y20200715-1200.tar.gz  eclipse.jdt.core.binaries-Y20200715-1200.tar.xz  eclipse.jdt.core.binaries-Y20200715-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200716-0820eclipse.jdt.core.binaries-Y20200716-0820.tar.gz  eclipse.jdt.core.binaries-Y20200716-0820.tar.xz  eclipse.jdt.core.binaries-Y20200716-0820.zip  Sravan Kumar Lakkimsetti4 years Y20200718-1200eclipse.jdt.core.binaries-Y20200718-1200.tar.gz  eclipse.jdt.core.binaries-Y20200718-1200.tar.xz  eclipse.jdt.core.binaries-Y20200718-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200721-0450eclipse.jdt.core.binaries-Y20200721-0450.tar.gz  eclipse.jdt.core.binaries-Y20200721-0450.tar.xz  eclipse.jdt.core.binaries-Y20200721-0450.zip  Sravan Kumar Lakkimsetti4 years Y20200721-0610eclipse.jdt.core.binaries-Y20200721-0610.tar.gz  eclipse.jdt.core.binaries-Y20200721-0610.tar.xz  eclipse.jdt.core.binaries-Y20200721-0610.zip  Sravan Kumar Lakkimsetti4 years Y20200722-0040eclipse.jdt.core.binaries-Y20200722-0040.tar.gz  eclipse.jdt.core.binaries-Y20200722-0040.tar.xz  eclipse.jdt.core.binaries-Y20200722-0040.zip  Sravan Kumar Lakkimsetti4 years Y20200722-1200eclipse.jdt.core.binaries-Y20200722-1200.tar.gz  eclipse.jdt.core.binaries-Y20200722-1200.tar.xz  eclipse.jdt.core.binaries-Y20200722-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200725-1200eclipse.jdt.core.binaries-Y20200725-1200.tar.gz  eclipse.jdt.core.binaries-Y20200725-1200.tar.xz  eclipse.jdt.core.binaries-Y20200725-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200727-0310eclipse.jdt.core.binaries-Y20200727-0310.tar.gz  eclipse.jdt.core.binaries-Y20200727-0310.tar.xz  eclipse.jdt.core.binaries-Y20200727-0310.zip  Sravan Kumar Lakkimsetti4 years Y20200728-0600eclipse.jdt.core.binaries-Y20200728-0600.tar.gz  eclipse.jdt.core.binaries-Y20200728-0600.tar.xz  eclipse.jdt.core.binaries-Y20200728-0600.zip  Sravan Kumar Lakkimsetti4 years Y20200729-0630eclipse.jdt.core.binaries-Y20200729-0630.tar.gz  eclipse.jdt.core.binaries-Y20200729-0630.tar.xz  eclipse.jdt.core.binaries-Y20200729-0630.zip  Sravan Kumar Lakkimsetti4 years Y20200729-1200eclipse.jdt.core.binaries-Y20200729-1200.tar.gz  eclipse.jdt.core.binaries-Y20200729-1200.tar.xz  eclipse.jdt.core.binaries-Y20200729-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200801-1200eclipse.jdt.core.binaries-Y20200801-1200.tar.gz  eclipse.jdt.core.binaries-Y20200801-1200.tar.xz  eclipse.jdt.core.binaries-Y20200801-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200804-1200eclipse.jdt.core.binaries-Y20200804-1200.tar.gz  eclipse.jdt.core.binaries-Y20200804-1200.tar.xz  eclipse.jdt.core.binaries-Y20200804-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200805-1200eclipse.jdt.core.binaries-Y20200805-1200.tar.gz  eclipse.jdt.core.binaries-Y20200805-1200.tar.xz  eclipse.jdt.core.binaries-Y20200805-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200806-1200eclipse.jdt.core.binaries-Y20200806-1200.tar.gz  eclipse.jdt.core.binaries-Y20200806-1200.tar.xz  eclipse.jdt.core.binaries-Y20200806-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200807-1200eclipse.jdt.core.binaries-Y20200807-1200.tar.gz  eclipse.jdt.core.binaries-Y20200807-1200.tar.xz  eclipse.jdt.core.binaries-Y20200807-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200808-1200eclipse.jdt.core.binaries-Y20200808-1200.tar.gz  eclipse.jdt.core.binaries-Y20200808-1200.tar.xz  eclipse.jdt.core.binaries-Y20200808-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200809-1200eclipse.jdt.core.binaries-Y20200809-1200.tar.gz  eclipse.jdt.core.binaries-Y20200809-1200.tar.xz  eclipse.jdt.core.binaries-Y20200809-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200810-1200eclipse.jdt.core.binaries-Y20200810-1200.tar.gz  eclipse.jdt.core.binaries-Y20200810-1200.tar.xz  eclipse.jdt.core.binaries-Y20200810-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200811-1200eclipse.jdt.core.binaries-Y20200811-1200.tar.gz  eclipse.jdt.core.binaries-Y20200811-1200.tar.xz  eclipse.jdt.core.binaries-Y20200811-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200812-1200eclipse.jdt.core.binaries-Y20200812-1200.tar.gz  eclipse.jdt.core.binaries-Y20200812-1200.tar.xz  eclipse.jdt.core.binaries-Y20200812-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200813-1200eclipse.jdt.core.binaries-Y20200813-1200.tar.gz  eclipse.jdt.core.binaries-Y20200813-1200.tar.xz  eclipse.jdt.core.binaries-Y20200813-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200814-0630eclipse.jdt.core.binaries-Y20200814-0630.tar.gz  eclipse.jdt.core.binaries-Y20200814-0630.tar.xz  eclipse.jdt.core.binaries-Y20200814-0630.zip  Sravan Kumar Lakkimsetti4 years Y20200814-0650eclipse.jdt.core.binaries-Y20200814-0650.tar.gz  eclipse.jdt.core.binaries-Y20200814-0650.tar.xz  eclipse.jdt.core.binaries-Y20200814-0650.zip  Sravan Kumar Lakkimsetti4 years Y20200814-1200eclipse.jdt.core.binaries-Y20200814-1200.tar.gz  eclipse.jdt.core.binaries-Y20200814-1200.tar.xz  eclipse.jdt.core.binaries-Y20200814-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200815-1200eclipse.jdt.core.binaries-Y20200815-1200.tar.gz  eclipse.jdt.core.binaries-Y20200815-1200.tar.xz  eclipse.jdt.core.binaries-Y20200815-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200816-1200eclipse.jdt.core.binaries-Y20200816-1200.tar.gz  eclipse.jdt.core.binaries-Y20200816-1200.tar.xz  eclipse.jdt.core.binaries-Y20200816-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200817-0450eclipse.jdt.core.binaries-Y20200817-0450.tar.gz  eclipse.jdt.core.binaries-Y20200817-0450.tar.xz  eclipse.jdt.core.binaries-Y20200817-0450.zip  Sravan Kumar Lakkimsetti4 years Y20200817-1210eclipse.jdt.core.binaries-Y20200817-1210.tar.gz  eclipse.jdt.core.binaries-Y20200817-1210.tar.xz  eclipse.jdt.core.binaries-Y20200817-1210.zip  Sravan Kumar Lakkimsetti4 years Y20200818-1200eclipse.jdt.core.binaries-Y20200818-1200.tar.gz  eclipse.jdt.core.binaries-Y20200818-1200.tar.xz  eclipse.jdt.core.binaries-Y20200818-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200819-1200eclipse.jdt.core.binaries-Y20200819-1200.tar.gz  eclipse.jdt.core.binaries-Y20200819-1200.tar.xz  eclipse.jdt.core.binaries-Y20200819-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200820-1200eclipse.jdt.core.binaries-Y20200820-1200.tar.gz  eclipse.jdt.core.binaries-Y20200820-1200.tar.xz  eclipse.jdt.core.binaries-Y20200820-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200821-1200eclipse.jdt.core.binaries-Y20200821-1200.tar.gz  eclipse.jdt.core.binaries-Y20200821-1200.tar.xz  eclipse.jdt.core.binaries-Y20200821-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200822-1200eclipse.jdt.core.binaries-Y20200822-1200.tar.gz  eclipse.jdt.core.binaries-Y20200822-1200.tar.xz  eclipse.jdt.core.binaries-Y20200822-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200823-1200eclipse.jdt.core.binaries-Y20200823-1200.tar.gz  eclipse.jdt.core.binaries-Y20200823-1200.tar.xz  eclipse.jdt.core.binaries-Y20200823-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200824-1310eclipse.jdt.core.binaries-Y20200824-1310.tar.gz  eclipse.jdt.core.binaries-Y20200824-1310.tar.xz  eclipse.jdt.core.binaries-Y20200824-1310.zip  Sravan Kumar Lakkimsetti4 years Y20200825-1200eclipse.jdt.core.binaries-Y20200825-1200.tar.gz  eclipse.jdt.core.binaries-Y20200825-1200.tar.xz  eclipse.jdt.core.binaries-Y20200825-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200901-1200eclipse.jdt.core.binaries-Y20200901-1200.tar.gz  eclipse.jdt.core.binaries-Y20200901-1200.tar.xz  eclipse.jdt.core.binaries-Y20200901-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200903-2210eclipse.jdt.core.binaries-Y20200903-2210.tar.gz  eclipse.jdt.core.binaries-Y20200903-2210.tar.xz  eclipse.jdt.core.binaries-Y20200903-2210.zip  Sravan Kumar Lakkimsetti4 years Y20200907-1200eclipse.jdt.core.binaries-Y20200907-1200.tar.gz  eclipse.jdt.core.binaries-Y20200907-1200.tar.xz  eclipse.jdt.core.binaries-Y20200907-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200908-1200eclipse.jdt.core.binaries-Y20200908-1200.tar.gz  eclipse.jdt.core.binaries-Y20200908-1200.tar.xz  eclipse.jdt.core.binaries-Y20200908-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200909-1200eclipse.jdt.core.binaries-Y20200909-1200.tar.gz  eclipse.jdt.core.binaries-Y20200909-1200.tar.xz  eclipse.jdt.core.binaries-Y20200909-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200910-1200eclipse.jdt.core.binaries-Y20200910-1200.tar.gz  eclipse.jdt.core.binaries-Y20200910-1200.tar.xz  eclipse.jdt.core.binaries-Y20200910-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200911-1200eclipse.jdt.core.binaries-Y20200911-1200.tar.gz  eclipse.jdt.core.binaries-Y20200911-1200.tar.xz  eclipse.jdt.core.binaries-Y20200911-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200912-1200eclipse.jdt.core.binaries-Y20200912-1200.tar.gz  eclipse.jdt.core.binaries-Y20200912-1200.tar.xz  eclipse.jdt.core.binaries-Y20200912-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200913-1200eclipse.jdt.core.binaries-Y20200913-1200.tar.gz  eclipse.jdt.core.binaries-Y20200913-1200.tar.xz  eclipse.jdt.core.binaries-Y20200913-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200914-1200eclipse.jdt.core.binaries-Y20200914-1200.tar.gz  eclipse.jdt.core.binaries-Y20200914-1200.tar.xz  eclipse.jdt.core.binaries-Y20200914-1200.zip  Sravan Kumar Lakkimsetti4 years Y20200915-0150eclipse.jdt.core.binaries-Y20200915-0150.tar.gz  eclipse.jdt.core.binaries-Y20200915-0150.tar.xz  eclipse.jdt.core.binaries-Y20200915-0150.zip  Sravan Kumar Lakkimsetti4 years Y20200915-2240eclipse.jdt.core.binaries-Y20200915-2240.tar.gz  eclipse.jdt.core.binaries-Y20200915-2240.tar.xz  eclipse.jdt.core.binaries-Y20200915-2240.zip  Sravan Kumar Lakkimsetti4 years S4_16_0_RC1eclipse.jdt.core.binaries-S4_16_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_16_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_16_0_RC1.zip  Eclipse Releng Bot4 years S4_16_0_M3eclipse.jdt.core.binaries-S4_16_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_16_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_16_0_M3.zip  Eclipse Releng Bot4 years S4_16_0_M1eclipse.jdt.core.binaries-S4_16_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_16_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_16_0_M1.zip  Eclipse Releng Bot4 years R4_15eclipse.jdt.core.binaries-R4_15.tar.gz  eclipse.jdt.core.binaries-R4_15.tar.xz  eclipse.jdt.core.binaries-R4_15.zip  Eclipse Releng Bot4 years I20200307-1145eclipse.jdt.core.binaries-I20200307-1145.tar.gz  eclipse.jdt.core.binaries-I20200307-1145.tar.xz  eclipse.jdt.core.binaries-I20200307-1145.zip  Mat Booth4 years I20200307-1800eclipse.jdt.core.binaries-I20200307-1800.tar.gz  eclipse.jdt.core.binaries-I20200307-1800.tar.xz  eclipse.jdt.core.binaries-I20200307-1800.zip  Mat Booth4 years I20200308-1800eclipse.jdt.core.binaries-I20200308-1800.tar.gz  eclipse.jdt.core.binaries-I20200308-1800.tar.xz  eclipse.jdt.core.binaries-I20200308-1800.zip  Mat Booth4 years I20200309-0810eclipse.jdt.core.binaries-I20200309-0810.tar.gz  eclipse.jdt.core.binaries-I20200309-0810.tar.xz  eclipse.jdt.core.binaries-I20200309-0810.zip  Mat Booth4 years I20200309-1800eclipse.jdt.core.binaries-I20200309-1800.tar.gz  eclipse.jdt.core.binaries-I20200309-1800.tar.xz  eclipse.jdt.core.binaries-I20200309-1800.zip  Mat Booth4 years I20200310-0810eclipse.jdt.core.binaries-I20200310-0810.tar.gz  eclipse.jdt.core.binaries-I20200310-0810.tar.xz  eclipse.jdt.core.binaries-I20200310-0810.zip  Mat Booth4 years I20200310-1800eclipse.jdt.core.binaries-I20200310-1800.tar.gz  eclipse.jdt.core.binaries-I20200310-1800.tar.xz  eclipse.jdt.core.binaries-I20200310-1800.zip  Mat Booth4 years I20200311-1800eclipse.jdt.core.binaries-I20200311-1800.tar.gz  eclipse.jdt.core.binaries-I20200311-1800.tar.xz  eclipse.jdt.core.binaries-I20200311-1800.zip  Mat Booth4 years I20200312-1800eclipse.jdt.core.binaries-I20200312-1800.tar.gz  eclipse.jdt.core.binaries-I20200312-1800.tar.xz  eclipse.jdt.core.binaries-I20200312-1800.zip  Mat Booth4 years I20200312-1835eclipse.jdt.core.binaries-I20200312-1835.tar.gz  eclipse.jdt.core.binaries-I20200312-1835.tar.xz  eclipse.jdt.core.binaries-I20200312-1835.zip  Mat Booth4 years I20200313-0810eclipse.jdt.core.binaries-I20200313-0810.tar.gz  eclipse.jdt.core.binaries-I20200313-0810.tar.xz  eclipse.jdt.core.binaries-I20200313-0810.zip  Mat Booth4 years I20200313-1800eclipse.jdt.core.binaries-I20200313-1800.tar.gz  eclipse.jdt.core.binaries-I20200313-1800.tar.xz  eclipse.jdt.core.binaries-I20200313-1800.zip  Mat Booth4 years I20200314-1800eclipse.jdt.core.binaries-I20200314-1800.tar.gz  eclipse.jdt.core.binaries-I20200314-1800.tar.xz  eclipse.jdt.core.binaries-I20200314-1800.zip  Mat Booth4 years I20200315-1800eclipse.jdt.core.binaries-I20200315-1800.tar.gz  eclipse.jdt.core.binaries-I20200315-1800.tar.xz  eclipse.jdt.core.binaries-I20200315-1800.zip  Mat Booth4 years I20200315-2240eclipse.jdt.core.binaries-I20200315-2240.tar.gz  eclipse.jdt.core.binaries-I20200315-2240.tar.xz  eclipse.jdt.core.binaries-I20200315-2240.zip  Mat Booth4 years I20200316-1800eclipse.jdt.core.binaries-I20200316-1800.tar.gz  eclipse.jdt.core.binaries-I20200316-1800.tar.xz  eclipse.jdt.core.binaries-I20200316-1800.zip  Mat Booth4 years I20200317-1800eclipse.jdt.core.binaries-I20200317-1800.tar.gz  eclipse.jdt.core.binaries-I20200317-1800.tar.xz  eclipse.jdt.core.binaries-I20200317-1800.zip  Mat Booth4 years I20200318-1100eclipse.jdt.core.binaries-I20200318-1100.tar.gz  eclipse.jdt.core.binaries-I20200318-1100.tar.xz  eclipse.jdt.core.binaries-I20200318-1100.zip  Mat Booth4 years I20200318-1400eclipse.jdt.core.binaries-I20200318-1400.tar.gz  eclipse.jdt.core.binaries-I20200318-1400.tar.xz  eclipse.jdt.core.binaries-I20200318-1400.zip  Mat Booth4 years I20200318-1800eclipse.jdt.core.binaries-I20200318-1800.tar.gz  eclipse.jdt.core.binaries-I20200318-1800.tar.xz  eclipse.jdt.core.binaries-I20200318-1800.zip  Mat Booth4 years I20200319-0550eclipse.jdt.core.binaries-I20200319-0550.tar.gz  eclipse.jdt.core.binaries-I20200319-0550.tar.xz  eclipse.jdt.core.binaries-I20200319-0550.zip  Mat Booth4 years I20200319-1800eclipse.jdt.core.binaries-I20200319-1800.tar.gz  eclipse.jdt.core.binaries-I20200319-1800.tar.xz  eclipse.jdt.core.binaries-I20200319-1800.zip  Mat Booth4 years I20200320-1800eclipse.jdt.core.binaries-I20200320-1800.tar.gz  eclipse.jdt.core.binaries-I20200320-1800.tar.xz  eclipse.jdt.core.binaries-I20200320-1800.zip  Mat Booth4 years I20200321-0440eclipse.jdt.core.binaries-I20200321-0440.tar.gz  eclipse.jdt.core.binaries-I20200321-0440.tar.xz  eclipse.jdt.core.binaries-I20200321-0440.zip  Mat Booth4 years I20200321-1800eclipse.jdt.core.binaries-I20200321-1800.tar.gz  eclipse.jdt.core.binaries-I20200321-1800.tar.xz  eclipse.jdt.core.binaries-I20200321-1800.zip  Mat Booth4 years I20200322-0300eclipse.jdt.core.binaries-I20200322-0300.tar.gz  eclipse.jdt.core.binaries-I20200322-0300.tar.xz  eclipse.jdt.core.binaries-I20200322-0300.zip  Mat Booth4 years I20200322-1150eclipse.jdt.core.binaries-I20200322-1150.tar.gz  eclipse.jdt.core.binaries-I20200322-1150.tar.xz  eclipse.jdt.core.binaries-I20200322-1150.zip  Mat Booth4 years I20200322-1800eclipse.jdt.core.binaries-I20200322-1800.tar.gz  eclipse.jdt.core.binaries-I20200322-1800.tar.xz  eclipse.jdt.core.binaries-I20200322-1800.zip  Mat Booth4 years I20200323-1800eclipse.jdt.core.binaries-I20200323-1800.tar.gz  eclipse.jdt.core.binaries-I20200323-1800.tar.xz  eclipse.jdt.core.binaries-I20200323-1800.zip  Mat Booth4 years I20200324-1800eclipse.jdt.core.binaries-I20200324-1800.tar.gz  eclipse.jdt.core.binaries-I20200324-1800.tar.xz  eclipse.jdt.core.binaries-I20200324-1800.zip  Mat Booth4 years I20200325-1800eclipse.jdt.core.binaries-I20200325-1800.tar.gz  eclipse.jdt.core.binaries-I20200325-1800.tar.xz  eclipse.jdt.core.binaries-I20200325-1800.zip  Mat Booth4 years I20200326-1800eclipse.jdt.core.binaries-I20200326-1800.tar.gz  eclipse.jdt.core.binaries-I20200326-1800.tar.xz  eclipse.jdt.core.binaries-I20200326-1800.zip  Mat Booth4 years I20200327-1800eclipse.jdt.core.binaries-I20200327-1800.tar.gz  eclipse.jdt.core.binaries-I20200327-1800.tar.xz  eclipse.jdt.core.binaries-I20200327-1800.zip  Mat Booth4 years I20200328-1800eclipse.jdt.core.binaries-I20200328-1800.tar.gz  eclipse.jdt.core.binaries-I20200328-1800.tar.xz  eclipse.jdt.core.binaries-I20200328-1800.zip  Mat Booth4 years I20200329-1800eclipse.jdt.core.binaries-I20200329-1800.tar.gz  eclipse.jdt.core.binaries-I20200329-1800.tar.xz  eclipse.jdt.core.binaries-I20200329-1800.zip  Mat Booth4 years I20200330-1800eclipse.jdt.core.binaries-I20200330-1800.tar.gz  eclipse.jdt.core.binaries-I20200330-1800.tar.xz  eclipse.jdt.core.binaries-I20200330-1800.zip  Mat Booth4 years I20200331-1800eclipse.jdt.core.binaries-I20200331-1800.tar.gz  eclipse.jdt.core.binaries-I20200331-1800.tar.xz  eclipse.jdt.core.binaries-I20200331-1800.zip  Mat Booth4 years I20200401-1800eclipse.jdt.core.binaries-I20200401-1800.tar.gz  eclipse.jdt.core.binaries-I20200401-1800.tar.xz  eclipse.jdt.core.binaries-I20200401-1800.zip  Mat Booth4 years I20200402-0410eclipse.jdt.core.binaries-I20200402-0410.tar.gz  eclipse.jdt.core.binaries-I20200402-0410.tar.xz  eclipse.jdt.core.binaries-I20200402-0410.zip  Mat Booth4 years I20200402-0850eclipse.jdt.core.binaries-I20200402-0850.tar.gz  eclipse.jdt.core.binaries-I20200402-0850.tar.xz  eclipse.jdt.core.binaries-I20200402-0850.zip  Mat Booth4 years I20200402-1800eclipse.jdt.core.binaries-I20200402-1800.tar.gz  eclipse.jdt.core.binaries-I20200402-1800.tar.xz  eclipse.jdt.core.binaries-I20200402-1800.zip  Mat Booth4 years I20200402-2250eclipse.jdt.core.binaries-I20200402-2250.tar.gz  eclipse.jdt.core.binaries-I20200402-2250.tar.xz  eclipse.jdt.core.binaries-I20200402-2250.zip  Mat Booth4 years I20200403-1800eclipse.jdt.core.binaries-I20200403-1800.tar.gz  eclipse.jdt.core.binaries-I20200403-1800.tar.xz  eclipse.jdt.core.binaries-I20200403-1800.zip  Mat Booth4 years I20200404-0330eclipse.jdt.core.binaries-I20200404-0330.tar.gz  eclipse.jdt.core.binaries-I20200404-0330.tar.xz  eclipse.jdt.core.binaries-I20200404-0330.zip  Mat Booth4 years I20200404-0600eclipse.jdt.core.binaries-I20200404-0600.tar.gz  eclipse.jdt.core.binaries-I20200404-0600.tar.xz  eclipse.jdt.core.binaries-I20200404-0600.zip  Mat Booth4 years I20200404-1220eclipse.jdt.core.binaries-I20200404-1220.tar.gz  eclipse.jdt.core.binaries-I20200404-1220.tar.xz  eclipse.jdt.core.binaries-I20200404-1220.zip  Mat Booth4 years I20200404-1800eclipse.jdt.core.binaries-I20200404-1800.tar.gz  eclipse.jdt.core.binaries-I20200404-1800.tar.xz  eclipse.jdt.core.binaries-I20200404-1800.zip  Mat Booth4 years I20200405-0600eclipse.jdt.core.binaries-I20200405-0600.tar.gz  eclipse.jdt.core.binaries-I20200405-0600.tar.xz  eclipse.jdt.core.binaries-I20200405-0600.zip  Mat Booth4 years I20200405-1800eclipse.jdt.core.binaries-I20200405-1800.tar.gz  eclipse.jdt.core.binaries-I20200405-1800.tar.xz  eclipse.jdt.core.binaries-I20200405-1800.zip  Mat Booth4 years I20200406-0120eclipse.jdt.core.binaries-I20200406-0120.tar.gz  eclipse.jdt.core.binaries-I20200406-0120.tar.xz  eclipse.jdt.core.binaries-I20200406-0120.zip  Mat Booth4 years I20200406-0350eclipse.jdt.core.binaries-I20200406-0350.tar.gz  eclipse.jdt.core.binaries-I20200406-0350.tar.xz  eclipse.jdt.core.binaries-I20200406-0350.zip  Mat Booth4 years I20200406-0600eclipse.jdt.core.binaries-I20200406-0600.tar.gz  eclipse.jdt.core.binaries-I20200406-0600.tar.xz  eclipse.jdt.core.binaries-I20200406-0600.zip  Mat Booth4 years I20200406-1800eclipse.jdt.core.binaries-I20200406-1800.tar.gz  eclipse.jdt.core.binaries-I20200406-1800.tar.xz  eclipse.jdt.core.binaries-I20200406-1800.zip  Mat Booth4 years I20200407-0120eclipse.jdt.core.binaries-I20200407-0120.tar.gz  eclipse.jdt.core.binaries-I20200407-0120.tar.xz  eclipse.jdt.core.binaries-I20200407-0120.zip  Mat Booth4 years I20200407-1210eclipse.jdt.core.binaries-I20200407-1210.tar.gz  eclipse.jdt.core.binaries-I20200407-1210.tar.xz  eclipse.jdt.core.binaries-I20200407-1210.zip  Mat Booth4 years I20200407-1800eclipse.jdt.core.binaries-I20200407-1800.tar.gz  eclipse.jdt.core.binaries-I20200407-1800.tar.xz  eclipse.jdt.core.binaries-I20200407-1800.zip  Mat Booth4 years I20200408-0600eclipse.jdt.core.binaries-I20200408-0600.tar.gz  eclipse.jdt.core.binaries-I20200408-0600.tar.xz  eclipse.jdt.core.binaries-I20200408-0600.zip  Mat Booth4 years I20200408-1800eclipse.jdt.core.binaries-I20200408-1800.tar.gz  eclipse.jdt.core.binaries-I20200408-1800.tar.xz  eclipse.jdt.core.binaries-I20200408-1800.zip  Mat Booth4 years I20200409-0200eclipse.jdt.core.binaries-I20200409-0200.tar.gz  eclipse.jdt.core.binaries-I20200409-0200.tar.xz  eclipse.jdt.core.binaries-I20200409-0200.zip  Mat Booth4 years I20200410-1800eclipse.jdt.core.binaries-I20200410-1800.tar.gz  eclipse.jdt.core.binaries-I20200410-1800.tar.xz  eclipse.jdt.core.binaries-I20200410-1800.zip  Mat Booth4 years I20200410-2300eclipse.jdt.core.binaries-I20200410-2300.tar.gz  eclipse.jdt.core.binaries-I20200410-2300.tar.xz  eclipse.jdt.core.binaries-I20200410-2300.zip  Mat Booth4 years I20200411-0300eclipse.jdt.core.binaries-I20200411-0300.tar.gz  eclipse.jdt.core.binaries-I20200411-0300.tar.xz  eclipse.jdt.core.binaries-I20200411-0300.zip  Mat Booth4 years I20200411-0510eclipse.jdt.core.binaries-I20200411-0510.tar.gz  eclipse.jdt.core.binaries-I20200411-0510.tar.xz  eclipse.jdt.core.binaries-I20200411-0510.zip  Mat Booth4 years I20200411-0720eclipse.jdt.core.binaries-I20200411-0720.tar.gz  eclipse.jdt.core.binaries-I20200411-0720.tar.xz  eclipse.jdt.core.binaries-I20200411-0720.zip  Mat Booth4 years I20200411-0950eclipse.jdt.core.binaries-I20200411-0950.tar.gz  eclipse.jdt.core.binaries-I20200411-0950.tar.xz  eclipse.jdt.core.binaries-I20200411-0950.zip  Mat Booth4 years I20200411-1800eclipse.jdt.core.binaries-I20200411-1800.tar.gz  eclipse.jdt.core.binaries-I20200411-1800.tar.xz  eclipse.jdt.core.binaries-I20200411-1800.zip  Mat Booth4 years I20200412-1800eclipse.jdt.core.binaries-I20200412-1800.tar.gz  eclipse.jdt.core.binaries-I20200412-1800.tar.xz  eclipse.jdt.core.binaries-I20200412-1800.zip  Mat Booth4 years I20200413-1800eclipse.jdt.core.binaries-I20200413-1800.tar.gz  eclipse.jdt.core.binaries-I20200413-1800.tar.xz  eclipse.jdt.core.binaries-I20200413-1800.zip  Mat Booth4 years I20200414-0630eclipse.jdt.core.binaries-I20200414-0630.tar.gz  eclipse.jdt.core.binaries-I20200414-0630.tar.xz  eclipse.jdt.core.binaries-I20200414-0630.zip  Mat Booth4 years I20200414-1010eclipse.jdt.core.binaries-I20200414-1010.tar.gz  eclipse.jdt.core.binaries-I20200414-1010.tar.xz  eclipse.jdt.core.binaries-I20200414-1010.zip  Mat Booth4 years I20200415-0200eclipse.jdt.core.binaries-I20200415-0200.tar.gz  eclipse.jdt.core.binaries-I20200415-0200.tar.xz  eclipse.jdt.core.binaries-I20200415-0200.zip  Mat Booth4 years I20200415-0620eclipse.jdt.core.binaries-I20200415-0620.tar.gz  eclipse.jdt.core.binaries-I20200415-0620.tar.xz  eclipse.jdt.core.binaries-I20200415-0620.zip  Mat Booth4 years I20200415-1800eclipse.jdt.core.binaries-I20200415-1800.tar.gz  eclipse.jdt.core.binaries-I20200415-1800.tar.xz  eclipse.jdt.core.binaries-I20200415-1800.zip  Mat Booth4 years I20200416-0410eclipse.jdt.core.binaries-I20200416-0410.tar.gz  eclipse.jdt.core.binaries-I20200416-0410.tar.xz  eclipse.jdt.core.binaries-I20200416-0410.zip  Mat Booth4 years I20200416-1800eclipse.jdt.core.binaries-I20200416-1800.tar.gz  eclipse.jdt.core.binaries-I20200416-1800.tar.xz  eclipse.jdt.core.binaries-I20200416-1800.zip  Mat Booth4 years I20200417-1800eclipse.jdt.core.binaries-I20200417-1800.tar.gz  eclipse.jdt.core.binaries-I20200417-1800.tar.xz  eclipse.jdt.core.binaries-I20200417-1800.zip  Mat Booth4 years I20200418-1800eclipse.jdt.core.binaries-I20200418-1800.tar.gz  eclipse.jdt.core.binaries-I20200418-1800.tar.xz  eclipse.jdt.core.binaries-I20200418-1800.zip  Mat Booth4 years I20200419-1800eclipse.jdt.core.binaries-I20200419-1800.tar.gz  eclipse.jdt.core.binaries-I20200419-1800.tar.xz  eclipse.jdt.core.binaries-I20200419-1800.zip  Mat Booth4 years I20200420-1800eclipse.jdt.core.binaries-I20200420-1800.tar.gz  eclipse.jdt.core.binaries-I20200420-1800.tar.xz  eclipse.jdt.core.binaries-I20200420-1800.zip  Mat Booth4 years I20200421-1800eclipse.jdt.core.binaries-I20200421-1800.tar.gz  eclipse.jdt.core.binaries-I20200421-1800.tar.xz  eclipse.jdt.core.binaries-I20200421-1800.zip  Mat Booth4 years I20200422-1800eclipse.jdt.core.binaries-I20200422-1800.tar.gz  eclipse.jdt.core.binaries-I20200422-1800.tar.xz  eclipse.jdt.core.binaries-I20200422-1800.zip  Mat Booth4 years I20200423-1800eclipse.jdt.core.binaries-I20200423-1800.tar.gz  eclipse.jdt.core.binaries-I20200423-1800.tar.xz  eclipse.jdt.core.binaries-I20200423-1800.zip  Mat Booth4 years I20200424-0540eclipse.jdt.core.binaries-I20200424-0540.tar.gz  eclipse.jdt.core.binaries-I20200424-0540.tar.xz  eclipse.jdt.core.binaries-I20200424-0540.zip  Mat Booth4 years I20200424-1800eclipse.jdt.core.binaries-I20200424-1800.tar.gz  eclipse.jdt.core.binaries-I20200424-1800.tar.xz  eclipse.jdt.core.binaries-I20200424-1800.zip  Mat Booth4 years I20200425-1800eclipse.jdt.core.binaries-I20200425-1800.tar.gz  eclipse.jdt.core.binaries-I20200425-1800.tar.xz  eclipse.jdt.core.binaries-I20200425-1800.zip  Mat Booth4 years I20200426-1800eclipse.jdt.core.binaries-I20200426-1800.tar.gz  eclipse.jdt.core.binaries-I20200426-1800.tar.xz  eclipse.jdt.core.binaries-I20200426-1800.zip  Mat Booth4 years I20200427-1800eclipse.jdt.core.binaries-I20200427-1800.tar.gz  eclipse.jdt.core.binaries-I20200427-1800.tar.xz  eclipse.jdt.core.binaries-I20200427-1800.zip  Mat Booth4 years I20200428-0230eclipse.jdt.core.binaries-I20200428-0230.tar.gz  eclipse.jdt.core.binaries-I20200428-0230.tar.xz  eclipse.jdt.core.binaries-I20200428-0230.zip  Mat Booth4 years I20200428-0610eclipse.jdt.core.binaries-I20200428-0610.tar.gz  eclipse.jdt.core.binaries-I20200428-0610.tar.xz  eclipse.jdt.core.binaries-I20200428-0610.zip  Mat Booth4 years I20200428-0630eclipse.jdt.core.binaries-I20200428-0630.tar.gz  eclipse.jdt.core.binaries-I20200428-0630.tar.xz  eclipse.jdt.core.binaries-I20200428-0630.zip  Mat Booth4 years I20200428-1800eclipse.jdt.core.binaries-I20200428-1800.tar.gz  eclipse.jdt.core.binaries-I20200428-1800.tar.xz  eclipse.jdt.core.binaries-I20200428-1800.zip  Mat Booth4 years I20200428-2300eclipse.jdt.core.binaries-I20200428-2300.tar.gz  eclipse.jdt.core.binaries-I20200428-2300.tar.xz  eclipse.jdt.core.binaries-I20200428-2300.zip  Mat Booth4 years I20200429-0600eclipse.jdt.core.binaries-I20200429-0600.tar.gz  eclipse.jdt.core.binaries-I20200429-0600.tar.xz  eclipse.jdt.core.binaries-I20200429-0600.zip  Mat Booth4 years I20200429-1800eclipse.jdt.core.binaries-I20200429-1800.tar.gz  eclipse.jdt.core.binaries-I20200429-1800.tar.xz  eclipse.jdt.core.binaries-I20200429-1800.zip  Mat Booth4 years I20200501-0520eclipse.jdt.core.binaries-I20200501-0520.tar.gz  eclipse.jdt.core.binaries-I20200501-0520.tar.xz  eclipse.jdt.core.binaries-I20200501-0520.zip  Mat Booth4 years I20200501-1800eclipse.jdt.core.binaries-I20200501-1800.tar.gz  eclipse.jdt.core.binaries-I20200501-1800.tar.xz  eclipse.jdt.core.binaries-I20200501-1800.zip  Mat Booth4 years I20200502-1800eclipse.jdt.core.binaries-I20200502-1800.tar.gz  eclipse.jdt.core.binaries-I20200502-1800.tar.xz  eclipse.jdt.core.binaries-I20200502-1800.zip  Mat Booth4 years I20200503-1800eclipse.jdt.core.binaries-I20200503-1800.tar.gz  eclipse.jdt.core.binaries-I20200503-1800.tar.xz  eclipse.jdt.core.binaries-I20200503-1800.zip  Mat Booth4 years I20200504-1800eclipse.jdt.core.binaries-I20200504-1800.tar.gz  eclipse.jdt.core.binaries-I20200504-1800.tar.xz  eclipse.jdt.core.binaries-I20200504-1800.zip  Mat Booth4 years I20200505-1800eclipse.jdt.core.binaries-I20200505-1800.tar.gz  eclipse.jdt.core.binaries-I20200505-1800.tar.xz  eclipse.jdt.core.binaries-I20200505-1800.zip  Mat Booth4 years I20200506-1800eclipse.jdt.core.binaries-I20200506-1800.tar.gz  eclipse.jdt.core.binaries-I20200506-1800.tar.xz  eclipse.jdt.core.binaries-I20200506-1800.zip  Mat Booth4 years I20200509-0450eclipse.jdt.core.binaries-I20200509-0450.tar.gz  eclipse.jdt.core.binaries-I20200509-0450.tar.xz  eclipse.jdt.core.binaries-I20200509-0450.zip  Mat Booth4 years I20200509-0600eclipse.jdt.core.binaries-I20200509-0600.tar.gz  eclipse.jdt.core.binaries-I20200509-0600.tar.xz  eclipse.jdt.core.binaries-I20200509-0600.zip  Mat Booth4 years I20200509-1800eclipse.jdt.core.binaries-I20200509-1800.tar.gz  eclipse.jdt.core.binaries-I20200509-1800.tar.xz  eclipse.jdt.core.binaries-I20200509-1800.zip  Mat Booth4 years I20200510-1800eclipse.jdt.core.binaries-I20200510-1800.tar.gz  eclipse.jdt.core.binaries-I20200510-1800.tar.xz  eclipse.jdt.core.binaries-I20200510-1800.zip  Mat Booth4 years I20200511-0700eclipse.jdt.core.binaries-I20200511-0700.tar.gz  eclipse.jdt.core.binaries-I20200511-0700.tar.xz  eclipse.jdt.core.binaries-I20200511-0700.zip  Mat Booth4 years I20200511-1800eclipse.jdt.core.binaries-I20200511-1800.tar.gz  eclipse.jdt.core.binaries-I20200511-1800.tar.xz  eclipse.jdt.core.binaries-I20200511-1800.zip  Mat Booth4 years I20200512-1800eclipse.jdt.core.binaries-I20200512-1800.tar.gz  eclipse.jdt.core.binaries-I20200512-1800.tar.xz  eclipse.jdt.core.binaries-I20200512-1800.zip  Mat Booth4 years I20200513-1800eclipse.jdt.core.binaries-I20200513-1800.tar.gz  eclipse.jdt.core.binaries-I20200513-1800.tar.xz  eclipse.jdt.core.binaries-I20200513-1800.zip  Mat Booth4 years I20200514-1800eclipse.jdt.core.binaries-I20200514-1800.tar.gz  eclipse.jdt.core.binaries-I20200514-1800.tar.xz  eclipse.jdt.core.binaries-I20200514-1800.zip  Mat Booth4 years I20200515-1930eclipse.jdt.core.binaries-I20200515-1930.tar.gz  eclipse.jdt.core.binaries-I20200515-1930.tar.xz  eclipse.jdt.core.binaries-I20200515-1930.zip  Mat Booth4 years I20200516-0600eclipse.jdt.core.binaries-I20200516-0600.tar.gz  eclipse.jdt.core.binaries-I20200516-0600.tar.xz  eclipse.jdt.core.binaries-I20200516-0600.zip  Mat Booth4 years I20200518-1800eclipse.jdt.core.binaries-I20200518-1800.tar.gz  eclipse.jdt.core.binaries-I20200518-1800.tar.xz  eclipse.jdt.core.binaries-I20200518-1800.zip  Mat Booth4 years I20200518-2220eclipse.jdt.core.binaries-I20200518-2220.tar.gz  eclipse.jdt.core.binaries-I20200518-2220.tar.xz  eclipse.jdt.core.binaries-I20200518-2220.zip  Mat Booth4 years I20200519-1010eclipse.jdt.core.binaries-I20200519-1010.tar.gz  eclipse.jdt.core.binaries-I20200519-1010.tar.xz  eclipse.jdt.core.binaries-I20200519-1010.zip  Mat Booth4 years I20200519-1130eclipse.jdt.core.binaries-I20200519-1130.tar.gz  eclipse.jdt.core.binaries-I20200519-1130.tar.xz  eclipse.jdt.core.binaries-I20200519-1130.zip  Mat Booth4 years I20200519-1800eclipse.jdt.core.binaries-I20200519-1800.tar.gz  eclipse.jdt.core.binaries-I20200519-1800.tar.xz  eclipse.jdt.core.binaries-I20200519-1800.zip  Mat Booth4 years I20200520-0600eclipse.jdt.core.binaries-I20200520-0600.tar.gz  eclipse.jdt.core.binaries-I20200520-0600.tar.xz  eclipse.jdt.core.binaries-I20200520-0600.zip  Mat Booth4 years I20200520-1800eclipse.jdt.core.binaries-I20200520-1800.tar.gz  eclipse.jdt.core.binaries-I20200520-1800.tar.xz  eclipse.jdt.core.binaries-I20200520-1800.zip  Mat Booth4 years I20200521-1000eclipse.jdt.core.binaries-I20200521-1000.tar.gz  eclipse.jdt.core.binaries-I20200521-1000.tar.xz  eclipse.jdt.core.binaries-I20200521-1000.zip  Mat Booth4 years I20200522-1800eclipse.jdt.core.binaries-I20200522-1800.tar.gz  eclipse.jdt.core.binaries-I20200522-1800.tar.xz  eclipse.jdt.core.binaries-I20200522-1800.zip  Mat Booth4 years I20200523-0600eclipse.jdt.core.binaries-I20200523-0600.tar.gz  eclipse.jdt.core.binaries-I20200523-0600.tar.xz  eclipse.jdt.core.binaries-I20200523-0600.zip  Mat Booth4 years I20200523-1800eclipse.jdt.core.binaries-I20200523-1800.tar.gz  eclipse.jdt.core.binaries-I20200523-1800.tar.xz  eclipse.jdt.core.binaries-I20200523-1800.zip  Mat Booth4 years I20200524-0220eclipse.jdt.core.binaries-I20200524-0220.tar.gz  eclipse.jdt.core.binaries-I20200524-0220.tar.xz  eclipse.jdt.core.binaries-I20200524-0220.zip  Mat Booth4 years I20200524-0600eclipse.jdt.core.binaries-I20200524-0600.tar.gz  eclipse.jdt.core.binaries-I20200524-0600.tar.xz  eclipse.jdt.core.binaries-I20200524-0600.zip  Mat Booth4 years I20200524-0850eclipse.jdt.core.binaries-I20200524-0850.tar.gz  eclipse.jdt.core.binaries-I20200524-0850.tar.xz  eclipse.jdt.core.binaries-I20200524-0850.zip  Mat Booth4 years I20200524-1800eclipse.jdt.core.binaries-I20200524-1800.tar.gz  eclipse.jdt.core.binaries-I20200524-1800.tar.xz  eclipse.jdt.core.binaries-I20200524-1800.zip  Mat Booth4 years I20200525-0640eclipse.jdt.core.binaries-I20200525-0640.tar.gz  eclipse.jdt.core.binaries-I20200525-0640.tar.xz  eclipse.jdt.core.binaries-I20200525-0640.zip  Mat Booth4 years I20200525-1800eclipse.jdt.core.binaries-I20200525-1800.tar.gz  eclipse.jdt.core.binaries-I20200525-1800.tar.xz  eclipse.jdt.core.binaries-I20200525-1800.zip  Mat Booth4 years I20200526-0600eclipse.jdt.core.binaries-I20200526-0600.tar.gz  eclipse.jdt.core.binaries-I20200526-0600.tar.xz  eclipse.jdt.core.binaries-I20200526-0600.zip  Mat Booth4 years I20200526-1800eclipse.jdt.core.binaries-I20200526-1800.tar.gz  eclipse.jdt.core.binaries-I20200526-1800.tar.xz  eclipse.jdt.core.binaries-I20200526-1800.zip  Mat Booth4 years I20200527-0600eclipse.jdt.core.binaries-I20200527-0600.tar.gz  eclipse.jdt.core.binaries-I20200527-0600.tar.xz  eclipse.jdt.core.binaries-I20200527-0600.zip  Mat Booth4 years I20200527-1800eclipse.jdt.core.binaries-I20200527-1800.tar.gz  eclipse.jdt.core.binaries-I20200527-1800.tar.xz  eclipse.jdt.core.binaries-I20200527-1800.zip  Mat Booth4 years I20200528-0000eclipse.jdt.core.binaries-I20200528-0000.tar.gz  eclipse.jdt.core.binaries-I20200528-0000.tar.xz  eclipse.jdt.core.binaries-I20200528-0000.zip  Mat Booth4 years I20200528-0200eclipse.jdt.core.binaries-I20200528-0200.tar.gz  eclipse.jdt.core.binaries-I20200528-0200.tar.xz  eclipse.jdt.core.binaries-I20200528-0200.zip  Mat Booth4 years I20200529-0550eclipse.jdt.core.binaries-I20200529-0550.tar.gz  eclipse.jdt.core.binaries-I20200529-0550.tar.xz  eclipse.jdt.core.binaries-I20200529-0550.zip  Mat Booth4 years I20200530-0600eclipse.jdt.core.binaries-I20200530-0600.tar.gz  eclipse.jdt.core.binaries-I20200530-0600.tar.xz  eclipse.jdt.core.binaries-I20200530-0600.zip  Mat Booth4 years I20200531-0600eclipse.jdt.core.binaries-I20200531-0600.tar.gz  eclipse.jdt.core.binaries-I20200531-0600.tar.xz  eclipse.jdt.core.binaries-I20200531-0600.zip  Mat Booth4 years I20200531-1800eclipse.jdt.core.binaries-I20200531-1800.tar.gz  eclipse.jdt.core.binaries-I20200531-1800.tar.xz  eclipse.jdt.core.binaries-I20200531-1800.zip  Mat Booth4 years I20200601-0140eclipse.jdt.core.binaries-I20200601-0140.tar.gz  eclipse.jdt.core.binaries-I20200601-0140.tar.xz  eclipse.jdt.core.binaries-I20200601-0140.zip  Mat Booth4 years I20200601-0640eclipse.jdt.core.binaries-I20200601-0640.tar.gz  eclipse.jdt.core.binaries-I20200601-0640.tar.xz  eclipse.jdt.core.binaries-I20200601-0640.zip  Mat Booth4 years I20200601-1800eclipse.jdt.core.binaries-I20200601-1800.tar.gz  eclipse.jdt.core.binaries-I20200601-1800.tar.xz  eclipse.jdt.core.binaries-I20200601-1800.zip  Mat Booth4 years I20200602-0010eclipse.jdt.core.binaries-I20200602-0010.tar.gz  eclipse.jdt.core.binaries-I20200602-0010.tar.xz  eclipse.jdt.core.binaries-I20200602-0010.zip  Mat Booth4 years I20200602-0510eclipse.jdt.core.binaries-I20200602-0510.tar.gz  eclipse.jdt.core.binaries-I20200602-0510.tar.xz  eclipse.jdt.core.binaries-I20200602-0510.zip  Mat Booth4 years I20200602-0600eclipse.jdt.core.binaries-I20200602-0600.tar.gz  eclipse.jdt.core.binaries-I20200602-0600.tar.xz  eclipse.jdt.core.binaries-I20200602-0600.zip  Mat Booth4 years I20200602-1800eclipse.jdt.core.binaries-I20200602-1800.tar.gz  eclipse.jdt.core.binaries-I20200602-1800.tar.xz  eclipse.jdt.core.binaries-I20200602-1800.zip  Mat Booth4 years I20200603-0600eclipse.jdt.core.binaries-I20200603-0600.tar.gz  eclipse.jdt.core.binaries-I20200603-0600.tar.xz  eclipse.jdt.core.binaries-I20200603-0600.zip  Mat Booth4 years I20200604-0540eclipse.jdt.core.binaries-I20200604-0540.tar.gz  eclipse.jdt.core.binaries-I20200604-0540.tar.xz  eclipse.jdt.core.binaries-I20200604-0540.zip  Mat Booth4 years X20200306-1900eclipse.jdt.core.binaries-X20200306-1900.tar.gz  eclipse.jdt.core.binaries-X20200306-1900.tar.xz  eclipse.jdt.core.binaries-X20200306-1900.zip  Mat Booth4 years X20200311-0820eclipse.jdt.core.binaries-X20200311-0820.tar.gz  eclipse.jdt.core.binaries-X20200311-0820.tar.xz  eclipse.jdt.core.binaries-X20200311-0820.zip  Mat Booth4 years X20200311-1900eclipse.jdt.core.binaries-X20200311-1900.tar.gz  eclipse.jdt.core.binaries-X20200311-1900.tar.xz  eclipse.jdt.core.binaries-X20200311-1900.zip  Mat Booth4 years X20200311-2150eclipse.jdt.core.binaries-X20200311-2150.tar.gz  eclipse.jdt.core.binaries-X20200311-2150.tar.xz  eclipse.jdt.core.binaries-X20200311-2150.zip  Mat Booth4 years X20200312-0700eclipse.jdt.core.binaries-X20200312-0700.tar.gz  eclipse.jdt.core.binaries-X20200312-0700.tar.xz  eclipse.jdt.core.binaries-X20200312-0700.zip  Mat Booth4 years X20200312-1210eclipse.jdt.core.binaries-X20200312-1210.tar.gz  eclipse.jdt.core.binaries-X20200312-1210.tar.xz  eclipse.jdt.core.binaries-X20200312-1210.zip  Mat Booth4 years X20200312-1530eclipse.jdt.core.binaries-X20200312-1530.tar.gz  eclipse.jdt.core.binaries-X20200312-1530.tar.xz  eclipse.jdt.core.binaries-X20200312-1530.zip  Mat Booth4 years X20200312-1900eclipse.jdt.core.binaries-X20200312-1900.tar.gz  eclipse.jdt.core.binaries-X20200312-1900.tar.xz  eclipse.jdt.core.binaries-X20200312-1900.zip  Mat Booth4 years X20200313-0410eclipse.jdt.core.binaries-X20200313-0410.tar.gz  eclipse.jdt.core.binaries-X20200313-0410.tar.xz  eclipse.jdt.core.binaries-X20200313-0410.zip  Mat Booth4 years Y20200308-0520eclipse.jdt.core.binaries-Y20200308-0520.tar.gz  eclipse.jdt.core.binaries-Y20200308-0520.tar.xz  eclipse.jdt.core.binaries-Y20200308-0520.zip  Mat Booth4 years Y20200308-0700eclipse.jdt.core.binaries-Y20200308-0700.tar.gz  eclipse.jdt.core.binaries-Y20200308-0700.tar.xz  eclipse.jdt.core.binaries-Y20200308-0700.zip  Mat Booth4 years Y20200309-1300eclipse.jdt.core.binaries-Y20200309-1300.tar.gz  eclipse.jdt.core.binaries-Y20200309-1300.tar.xz  eclipse.jdt.core.binaries-Y20200309-1300.zip  Mat Booth4 years Y20200427-2330eclipse.jdt.core.binaries-Y20200427-2330.tar.gz  eclipse.jdt.core.binaries-Y20200427-2330.tar.xz  eclipse.jdt.core.binaries-Y20200427-2330.zip  Mat Booth4 years Y20200428-0140eclipse.jdt.core.binaries-Y20200428-0140.tar.gz  eclipse.jdt.core.binaries-Y20200428-0140.tar.xz  eclipse.jdt.core.binaries-Y20200428-0140.zip  Mat Booth4 years Y20200428-0250eclipse.jdt.core.binaries-Y20200428-0250.tar.gz  eclipse.jdt.core.binaries-Y20200428-0250.tar.xz  eclipse.jdt.core.binaries-Y20200428-0250.zip  Mat Booth4 years Y20200428-2310eclipse.jdt.core.binaries-Y20200428-2310.tar.gz  eclipse.jdt.core.binaries-Y20200428-2310.tar.xz  eclipse.jdt.core.binaries-Y20200428-2310.zip  Mat Booth4 years Y20200429-0730eclipse.jdt.core.binaries-Y20200429-0730.tar.gz  eclipse.jdt.core.binaries-Y20200429-0730.tar.xz  eclipse.jdt.core.binaries-Y20200429-0730.zip  Mat Booth4 years Y20200430-0210eclipse.jdt.core.binaries-Y20200430-0210.tar.gz  eclipse.jdt.core.binaries-Y20200430-0210.tar.xz  eclipse.jdt.core.binaries-Y20200430-0210.zip  Mat Booth4 years Y20200528-0030eclipse.jdt.core.binaries-Y20200528-0030.tar.gz  eclipse.jdt.core.binaries-Y20200528-0030.tar.xz  eclipse.jdt.core.binaries-Y20200528-0030.zip  Mat Booth4 years Y20200609-0150eclipse.jdt.core.binaries-Y20200609-0150.tar.gz  eclipse.jdt.core.binaries-Y20200609-0150.tar.xz  eclipse.jdt.core.binaries-Y20200609-0150.zip  Mat Booth4 years Y20200609-2100eclipse.jdt.core.binaries-Y20200609-2100.tar.gz  eclipse.jdt.core.binaries-Y20200609-2100.tar.xz  eclipse.jdt.core.binaries-Y20200609-2100.zip  Mat Booth4 years S4_15_0_RC2eclipse.jdt.core.binaries-S4_15_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_15_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_15_0_RC2.zip  genie.releng4 years S4_15_0_RC1eclipse.jdt.core.binaries-S4_15_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_15_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_15_0_RC1.zip  genie.releng4 years S4_15_0_M3eclipse.jdt.core.binaries-S4_15_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_15_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_15_0_M3.zip  genie.releng4 years S4_15_0_M1eclipse.jdt.core.binaries-S4_15_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_15_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_15_0_M1.zip  genie.releng5 years R4_14eclipse.jdt.core.binaries-R4_14.tar.gz  eclipse.jdt.core.binaries-R4_14.tar.xz  eclipse.jdt.core.binaries-R4_14.zip  genie.releng5 years S4_14_0_RC2aeclipse.jdt.core.binaries-S4_14_0_RC2a.tar.gz  eclipse.jdt.core.binaries-S4_14_0_RC2a.tar.xz  eclipse.jdt.core.binaries-S4_14_0_RC2a.zip  genie.releng5 years I20191209-1110eclipse.jdt.core.binaries-I20191209-1110.tar.gz  eclipse.jdt.core.binaries-I20191209-1110.tar.xz  eclipse.jdt.core.binaries-I20191209-1110.zip  Niraj Modi5 years I20191209-1130eclipse.jdt.core.binaries-I20191209-1130.tar.gz  eclipse.jdt.core.binaries-I20191209-1130.tar.xz  eclipse.jdt.core.binaries-I20191209-1130.zip  Niraj Modi5 years I20191209-1310eclipse.jdt.core.binaries-I20191209-1310.tar.gz  eclipse.jdt.core.binaries-I20191209-1310.tar.xz  eclipse.jdt.core.binaries-I20191209-1310.zip  Niraj Modi5 years I20191209-1600eclipse.jdt.core.binaries-I20191209-1600.tar.gz  eclipse.jdt.core.binaries-I20191209-1600.tar.xz  eclipse.jdt.core.binaries-I20191209-1600.zip  Niraj Modi5 years I20191209-2205eclipse.jdt.core.binaries-I20191209-2205.tar.gz  eclipse.jdt.core.binaries-I20191209-2205.tar.xz  eclipse.jdt.core.binaries-I20191209-2205.zip  Niraj Modi5 years I20191210-0230eclipse.jdt.core.binaries-I20191210-0230.tar.gz  eclipse.jdt.core.binaries-I20191210-0230.tar.xz  eclipse.jdt.core.binaries-I20191210-0230.zip  Niraj Modi5 years I20191210-1800eclipse.jdt.core.binaries-I20191210-1800.tar.gz  eclipse.jdt.core.binaries-I20191210-1800.tar.xz  eclipse.jdt.core.binaries-I20191210-1800.zip  Niraj Modi5 years I20191211-0135eclipse.jdt.core.binaries-I20191211-0135.tar.gz  eclipse.jdt.core.binaries-I20191211-0135.tar.xz  eclipse.jdt.core.binaries-I20191211-0135.zip  Niraj Modi5 years I20191211-1805eclipse.jdt.core.binaries-I20191211-1805.tar.gz  eclipse.jdt.core.binaries-I20191211-1805.tar.xz  eclipse.jdt.core.binaries-I20191211-1805.zip  Niraj Modi5 years I20191212-1800eclipse.jdt.core.binaries-I20191212-1800.tar.gz  eclipse.jdt.core.binaries-I20191212-1800.tar.xz  eclipse.jdt.core.binaries-I20191212-1800.zip  Niraj Modi5 years I20191213-0155eclipse.jdt.core.binaries-I20191213-0155.tar.gz  eclipse.jdt.core.binaries-I20191213-0155.tar.xz  eclipse.jdt.core.binaries-I20191213-0155.zip  Niraj Modi5 years I20191213-1805eclipse.jdt.core.binaries-I20191213-1805.tar.gz  eclipse.jdt.core.binaries-I20191213-1805.tar.xz  eclipse.jdt.core.binaries-I20191213-1805.zip  Niraj Modi5 years I20191214-1800eclipse.jdt.core.binaries-I20191214-1800.tar.gz  eclipse.jdt.core.binaries-I20191214-1800.tar.xz  eclipse.jdt.core.binaries-I20191214-1800.zip  Niraj Modi5 years I20191215-1800eclipse.jdt.core.binaries-I20191215-1800.tar.gz  eclipse.jdt.core.binaries-I20191215-1800.tar.xz  eclipse.jdt.core.binaries-I20191215-1800.zip  Niraj Modi5 years I20191216-1805eclipse.jdt.core.binaries-I20191216-1805.tar.gz  eclipse.jdt.core.binaries-I20191216-1805.tar.xz  eclipse.jdt.core.binaries-I20191216-1805.zip  Niraj Modi5 years I20191217-1800eclipse.jdt.core.binaries-I20191217-1800.tar.gz  eclipse.jdt.core.binaries-I20191217-1800.tar.xz  eclipse.jdt.core.binaries-I20191217-1800.zip  Niraj Modi5 years I20191218-0015eclipse.jdt.core.binaries-I20191218-0015.tar.gz  eclipse.jdt.core.binaries-I20191218-0015.tar.xz  eclipse.jdt.core.binaries-I20191218-0015.zip  Niraj Modi5 years I20191218-1805eclipse.jdt.core.binaries-I20191218-1805.tar.gz  eclipse.jdt.core.binaries-I20191218-1805.tar.xz  eclipse.jdt.core.binaries-I20191218-1805.zip  Niraj Modi5 years I20191219-1800eclipse.jdt.core.binaries-I20191219-1800.tar.gz  eclipse.jdt.core.binaries-I20191219-1800.tar.xz  eclipse.jdt.core.binaries-I20191219-1800.zip  Niraj Modi5 years I20191220-1805eclipse.jdt.core.binaries-I20191220-1805.tar.gz  eclipse.jdt.core.binaries-I20191220-1805.tar.xz  eclipse.jdt.core.binaries-I20191220-1805.zip  Niraj Modi5 years I20191221-1800eclipse.jdt.core.binaries-I20191221-1800.tar.gz  eclipse.jdt.core.binaries-I20191221-1800.tar.xz  eclipse.jdt.core.binaries-I20191221-1800.zip  Niraj Modi5 years I20191221-2205eclipse.jdt.core.binaries-I20191221-2205.tar.gz  eclipse.jdt.core.binaries-I20191221-2205.tar.xz  eclipse.jdt.core.binaries-I20191221-2205.zip  Niraj Modi5 years I20191222-1800eclipse.jdt.core.binaries-I20191222-1800.tar.gz  eclipse.jdt.core.binaries-I20191222-1800.tar.xz  eclipse.jdt.core.binaries-I20191222-1800.zip  Niraj Modi5 years I20191223-1800eclipse.jdt.core.binaries-I20191223-1800.tar.gz  eclipse.jdt.core.binaries-I20191223-1800.tar.xz  eclipse.jdt.core.binaries-I20191223-1800.zip  Niraj Modi5 years I20191224-1800eclipse.jdt.core.binaries-I20191224-1800.tar.gz  eclipse.jdt.core.binaries-I20191224-1800.tar.xz  eclipse.jdt.core.binaries-I20191224-1800.zip  Niraj Modi5 years I20191225-1800eclipse.jdt.core.binaries-I20191225-1800.tar.gz  eclipse.jdt.core.binaries-I20191225-1800.tar.xz  eclipse.jdt.core.binaries-I20191225-1800.zip  Niraj Modi5 years I20191226-1800eclipse.jdt.core.binaries-I20191226-1800.tar.gz  eclipse.jdt.core.binaries-I20191226-1800.tar.xz  eclipse.jdt.core.binaries-I20191226-1800.zip  Niraj Modi5 years I20191227-1800eclipse.jdt.core.binaries-I20191227-1800.tar.gz  eclipse.jdt.core.binaries-I20191227-1800.tar.xz  eclipse.jdt.core.binaries-I20191227-1800.zip  Niraj Modi5 years I20191228-1800eclipse.jdt.core.binaries-I20191228-1800.tar.gz  eclipse.jdt.core.binaries-I20191228-1800.tar.xz  eclipse.jdt.core.binaries-I20191228-1800.zip  Niraj Modi5 years I20191229-1800eclipse.jdt.core.binaries-I20191229-1800.tar.gz  eclipse.jdt.core.binaries-I20191229-1800.tar.xz  eclipse.jdt.core.binaries-I20191229-1800.zip  Niraj Modi5 years I20191229-2200eclipse.jdt.core.binaries-I20191229-2200.tar.gz  eclipse.jdt.core.binaries-I20191229-2200.tar.xz  eclipse.jdt.core.binaries-I20191229-2200.zip  Niraj Modi5 years I20191230-1800eclipse.jdt.core.binaries-I20191230-1800.tar.gz  eclipse.jdt.core.binaries-I20191230-1800.tar.xz  eclipse.jdt.core.binaries-I20191230-1800.zip  Niraj Modi5 years I20191231-1800eclipse.jdt.core.binaries-I20191231-1800.tar.gz  eclipse.jdt.core.binaries-I20191231-1800.tar.xz  eclipse.jdt.core.binaries-I20191231-1800.zip  Niraj Modi5 years I20200101-1800eclipse.jdt.core.binaries-I20200101-1800.tar.gz  eclipse.jdt.core.binaries-I20200101-1800.tar.xz  eclipse.jdt.core.binaries-I20200101-1800.zip  Niraj Modi5 years I20200102-1800eclipse.jdt.core.binaries-I20200102-1800.tar.gz  eclipse.jdt.core.binaries-I20200102-1800.tar.xz  eclipse.jdt.core.binaries-I20200102-1800.zip  Niraj Modi5 years I20200103-1800eclipse.jdt.core.binaries-I20200103-1800.tar.gz  eclipse.jdt.core.binaries-I20200103-1800.tar.xz  eclipse.jdt.core.binaries-I20200103-1800.zip  Niraj Modi5 years I20200104-0600eclipse.jdt.core.binaries-I20200104-0600.tar.gz  eclipse.jdt.core.binaries-I20200104-0600.tar.xz  eclipse.jdt.core.binaries-I20200104-0600.zip  Niraj Modi5 years I20200104-0625eclipse.jdt.core.binaries-I20200104-0625.tar.gz  eclipse.jdt.core.binaries-I20200104-0625.tar.xz  eclipse.jdt.core.binaries-I20200104-0625.zip  Niraj Modi5 years I20200104-1800eclipse.jdt.core.binaries-I20200104-1800.tar.gz  eclipse.jdt.core.binaries-I20200104-1800.tar.xz  eclipse.jdt.core.binaries-I20200104-1800.zip  Niraj Modi5 years I20200105-0600eclipse.jdt.core.binaries-I20200105-0600.tar.gz  eclipse.jdt.core.binaries-I20200105-0600.tar.xz  eclipse.jdt.core.binaries-I20200105-0600.zip  Niraj Modi5 years I20200105-0955eclipse.jdt.core.binaries-I20200105-0955.tar.gz  eclipse.jdt.core.binaries-I20200105-0955.tar.xz  eclipse.jdt.core.binaries-I20200105-0955.zip  Niraj Modi5 years I20200105-1800eclipse.jdt.core.binaries-I20200105-1800.tar.gz  eclipse.jdt.core.binaries-I20200105-1800.tar.xz  eclipse.jdt.core.binaries-I20200105-1800.zip  Niraj Modi5 years I20200106-0600eclipse.jdt.core.binaries-I20200106-0600.tar.gz  eclipse.jdt.core.binaries-I20200106-0600.tar.xz  eclipse.jdt.core.binaries-I20200106-0600.zip  Niraj Modi5 years I20200106-1805eclipse.jdt.core.binaries-I20200106-1805.tar.gz  eclipse.jdt.core.binaries-I20200106-1805.tar.xz  eclipse.jdt.core.binaries-I20200106-1805.zip  Niraj Modi5 years I20200107-0600eclipse.jdt.core.binaries-I20200107-0600.tar.gz  eclipse.jdt.core.binaries-I20200107-0600.tar.xz  eclipse.jdt.core.binaries-I20200107-0600.zip  Niraj Modi5 years I20200107-1800eclipse.jdt.core.binaries-I20200107-1800.tar.gz  eclipse.jdt.core.binaries-I20200107-1800.tar.xz  eclipse.jdt.core.binaries-I20200107-1800.zip  Niraj Modi5 years I20200108-0025eclipse.jdt.core.binaries-I20200108-0025.tar.gz  eclipse.jdt.core.binaries-I20200108-0025.tar.xz  eclipse.jdt.core.binaries-I20200108-0025.zip  Niraj Modi5 years I20200108-0600eclipse.jdt.core.binaries-I20200108-0600.tar.gz  eclipse.jdt.core.binaries-I20200108-0600.tar.xz  eclipse.jdt.core.binaries-I20200108-0600.zip  Niraj Modi5 years I20200108-0930eclipse.jdt.core.binaries-I20200108-0930.tar.gz  eclipse.jdt.core.binaries-I20200108-0930.tar.xz  eclipse.jdt.core.binaries-I20200108-0930.zip  Niraj Modi5 years I20200108-2240eclipse.jdt.core.binaries-I20200108-2240.tar.gz  eclipse.jdt.core.binaries-I20200108-2240.tar.xz  eclipse.jdt.core.binaries-I20200108-2240.zip  Niraj Modi5 years I20200109-2350eclipse.jdt.core.binaries-I20200109-2350.tar.gz  eclipse.jdt.core.binaries-I20200109-2350.tar.xz  eclipse.jdt.core.binaries-I20200109-2350.zip  Niraj Modi5 years I20200110-0200eclipse.jdt.core.binaries-I20200110-0200.tar.gz  eclipse.jdt.core.binaries-I20200110-0200.tar.xz  eclipse.jdt.core.binaries-I20200110-0200.zip  Niraj Modi5 years I20200110-0905eclipse.jdt.core.binaries-I20200110-0905.tar.gz  eclipse.jdt.core.binaries-I20200110-0905.tar.xz  eclipse.jdt.core.binaries-I20200110-0905.zip  Niraj Modi5 years I20200110-1805eclipse.jdt.core.binaries-I20200110-1805.tar.gz  eclipse.jdt.core.binaries-I20200110-1805.tar.xz  eclipse.jdt.core.binaries-I20200110-1805.zip  Niraj Modi5 years I20200111-0230eclipse.jdt.core.binaries-I20200111-0230.tar.gz  eclipse.jdt.core.binaries-I20200111-0230.tar.xz  eclipse.jdt.core.binaries-I20200111-0230.zip  Niraj Modi5 years I20200111-0325eclipse.jdt.core.binaries-I20200111-0325.tar.gz  eclipse.jdt.core.binaries-I20200111-0325.tar.xz  eclipse.jdt.core.binaries-I20200111-0325.zip  Niraj Modi5 years I20200111-1800eclipse.jdt.core.binaries-I20200111-1800.tar.gz  eclipse.jdt.core.binaries-I20200111-1800.tar.xz  eclipse.jdt.core.binaries-I20200111-1800.zip  Niraj Modi5 years I20200112-1800eclipse.jdt.core.binaries-I20200112-1800.tar.gz  eclipse.jdt.core.binaries-I20200112-1800.tar.xz  eclipse.jdt.core.binaries-I20200112-1800.zip  Niraj Modi5 years I20200113-0130eclipse.jdt.core.binaries-I20200113-0130.tar.gz  eclipse.jdt.core.binaries-I20200113-0130.tar.xz  eclipse.jdt.core.binaries-I20200113-0130.zip  Niraj Modi5 years I20200113-1800eclipse.jdt.core.binaries-I20200113-1800.tar.gz  eclipse.jdt.core.binaries-I20200113-1800.tar.xz  eclipse.jdt.core.binaries-I20200113-1800.zip  Niraj Modi5 years I20200114-1805eclipse.jdt.core.binaries-I20200114-1805.tar.gz  eclipse.jdt.core.binaries-I20200114-1805.tar.xz  eclipse.jdt.core.binaries-I20200114-1805.zip  Niraj Modi5 years I20200115-1800eclipse.jdt.core.binaries-I20200115-1800.tar.gz  eclipse.jdt.core.binaries-I20200115-1800.tar.xz  eclipse.jdt.core.binaries-I20200115-1800.zip  Niraj Modi5 years I20200116-0310eclipse.jdt.core.binaries-I20200116-0310.tar.gz  eclipse.jdt.core.binaries-I20200116-0310.tar.xz  eclipse.jdt.core.binaries-I20200116-0310.zip  Niraj Modi5 years I20200116-0330eclipse.jdt.core.binaries-I20200116-0330.tar.gz  eclipse.jdt.core.binaries-I20200116-0330.tar.xz  eclipse.jdt.core.binaries-I20200116-0330.zip  Niraj Modi5 years I20200116-0930eclipse.jdt.core.binaries-I20200116-0930.tar.gz  eclipse.jdt.core.binaries-I20200116-0930.tar.xz  eclipse.jdt.core.binaries-I20200116-0930.zip  Niraj Modi5 years I20200116-1800eclipse.jdt.core.binaries-I20200116-1800.tar.gz  eclipse.jdt.core.binaries-I20200116-1800.tar.xz  eclipse.jdt.core.binaries-I20200116-1800.zip  Niraj Modi5 years I20200117-1800eclipse.jdt.core.binaries-I20200117-1800.tar.gz  eclipse.jdt.core.binaries-I20200117-1800.tar.xz  eclipse.jdt.core.binaries-I20200117-1800.zip  Niraj Modi5 years I20200118-1800eclipse.jdt.core.binaries-I20200118-1800.tar.gz  eclipse.jdt.core.binaries-I20200118-1800.tar.xz  eclipse.jdt.core.binaries-I20200118-1800.zip  Niraj Modi5 years I20200119-1800eclipse.jdt.core.binaries-I20200119-1800.tar.gz  eclipse.jdt.core.binaries-I20200119-1800.tar.xz  eclipse.jdt.core.binaries-I20200119-1800.zip  Niraj Modi5 years I20200119-2330eclipse.jdt.core.binaries-I20200119-2330.tar.gz  eclipse.jdt.core.binaries-I20200119-2330.tar.xz  eclipse.jdt.core.binaries-I20200119-2330.zip  Niraj Modi5 years I20200120-0115eclipse.jdt.core.binaries-I20200120-0115.tar.gz  eclipse.jdt.core.binaries-I20200120-0115.tar.xz  eclipse.jdt.core.binaries-I20200120-0115.zip  Niraj Modi5 years I20200120-0355eclipse.jdt.core.binaries-I20200120-0355.tar.gz  eclipse.jdt.core.binaries-I20200120-0355.tar.xz  eclipse.jdt.core.binaries-I20200120-0355.zip  Niraj Modi5 years I20200120-0445eclipse.jdt.core.binaries-I20200120-0445.tar.gz  eclipse.jdt.core.binaries-I20200120-0445.tar.xz  eclipse.jdt.core.binaries-I20200120-0445.zip  Niraj Modi5 years I20200120-0530eclipse.jdt.core.binaries-I20200120-0530.tar.gz  eclipse.jdt.core.binaries-I20200120-0530.tar.xz  eclipse.jdt.core.binaries-I20200120-0530.zip  Niraj Modi5 years I20200120-0715eclipse.jdt.core.binaries-I20200120-0715.tar.gz  eclipse.jdt.core.binaries-I20200120-0715.tar.xz  eclipse.jdt.core.binaries-I20200120-0715.zip  Niraj Modi5 years I20200120-1800eclipse.jdt.core.binaries-I20200120-1800.tar.gz  eclipse.jdt.core.binaries-I20200120-1800.tar.xz  eclipse.jdt.core.binaries-I20200120-1800.zip  Niraj Modi5 years I20200121-1805eclipse.jdt.core.binaries-I20200121-1805.tar.gz  eclipse.jdt.core.binaries-I20200121-1805.tar.xz  eclipse.jdt.core.binaries-I20200121-1805.zip  Niraj Modi5 years I20200121-2225eclipse.jdt.core.binaries-I20200121-2225.tar.gz  eclipse.jdt.core.binaries-I20200121-2225.tar.xz  eclipse.jdt.core.binaries-I20200121-2225.zip  Niraj Modi5 years I20200122-1805eclipse.jdt.core.binaries-I20200122-1805.tar.gz  eclipse.jdt.core.binaries-I20200122-1805.tar.xz  eclipse.jdt.core.binaries-I20200122-1805.zip  Niraj Modi5 years I20200123-0430eclipse.jdt.core.binaries-I20200123-0430.tar.gz  eclipse.jdt.core.binaries-I20200123-0430.tar.xz  eclipse.jdt.core.binaries-I20200123-0430.zip  Niraj Modi5 years I20200123-0525eclipse.jdt.core.binaries-I20200123-0525.tar.gz  eclipse.jdt.core.binaries-I20200123-0525.tar.xz  eclipse.jdt.core.binaries-I20200123-0525.zip  Niraj Modi5 years I20200123-1800eclipse.jdt.core.binaries-I20200123-1800.tar.gz  eclipse.jdt.core.binaries-I20200123-1800.tar.xz  eclipse.jdt.core.binaries-I20200123-1800.zip  Niraj Modi5 years I20200124-1800eclipse.jdt.core.binaries-I20200124-1800.tar.gz  eclipse.jdt.core.binaries-I20200124-1800.tar.xz  eclipse.jdt.core.binaries-I20200124-1800.zip  Niraj Modi5 years I20200125-1805eclipse.jdt.core.binaries-I20200125-1805.tar.gz  eclipse.jdt.core.binaries-I20200125-1805.tar.xz  eclipse.jdt.core.binaries-I20200125-1805.zip  Niraj Modi5 years I20200126-0250eclipse.jdt.core.binaries-I20200126-0250.tar.gz  eclipse.jdt.core.binaries-I20200126-0250.tar.xz  eclipse.jdt.core.binaries-I20200126-0250.zip  Niraj Modi5 years I20200126-1800eclipse.jdt.core.binaries-I20200126-1800.tar.gz  eclipse.jdt.core.binaries-I20200126-1800.tar.xz  eclipse.jdt.core.binaries-I20200126-1800.zip  Niraj Modi5 years I20200127-1800eclipse.jdt.core.binaries-I20200127-1800.tar.gz  eclipse.jdt.core.binaries-I20200127-1800.tar.xz  eclipse.jdt.core.binaries-I20200127-1800.zip  Niraj Modi5 years I20200128-1805eclipse.jdt.core.binaries-I20200128-1805.tar.gz  eclipse.jdt.core.binaries-I20200128-1805.tar.xz  eclipse.jdt.core.binaries-I20200128-1805.zip  Niraj Modi5 years I20200129-0100eclipse.jdt.core.binaries-I20200129-0100.tar.gz  eclipse.jdt.core.binaries-I20200129-0100.tar.xz  eclipse.jdt.core.binaries-I20200129-0100.zip  Niraj Modi5 years I20200129-0935eclipse.jdt.core.binaries-I20200129-0935.tar.gz  eclipse.jdt.core.binaries-I20200129-0935.tar.xz  eclipse.jdt.core.binaries-I20200129-0935.zip  Niraj Modi5 years I20200129-1800eclipse.jdt.core.binaries-I20200129-1800.tar.gz  eclipse.jdt.core.binaries-I20200129-1800.tar.xz  eclipse.jdt.core.binaries-I20200129-1800.zip  Niraj Modi5 years I20200130-1800eclipse.jdt.core.binaries-I20200130-1800.tar.gz  eclipse.jdt.core.binaries-I20200130-1800.tar.xz  eclipse.jdt.core.binaries-I20200130-1800.zip  Niraj Modi5 years I20200131-1800eclipse.jdt.core.binaries-I20200131-1800.tar.gz  eclipse.jdt.core.binaries-I20200131-1800.tar.xz  eclipse.jdt.core.binaries-I20200131-1800.zip  Niraj Modi5 years I20200201-1800eclipse.jdt.core.binaries-I20200201-1800.tar.gz  eclipse.jdt.core.binaries-I20200201-1800.tar.xz  eclipse.jdt.core.binaries-I20200201-1800.zip  Niraj Modi5 years I20200202-1800eclipse.jdt.core.binaries-I20200202-1800.tar.gz  eclipse.jdt.core.binaries-I20200202-1800.tar.xz  eclipse.jdt.core.binaries-I20200202-1800.zip  Niraj Modi5 years I20200203-1800eclipse.jdt.core.binaries-I20200203-1800.tar.gz  eclipse.jdt.core.binaries-I20200203-1800.tar.xz  eclipse.jdt.core.binaries-I20200203-1800.zip  Niraj Modi5 years I20200204-1800eclipse.jdt.core.binaries-I20200204-1800.tar.gz  eclipse.jdt.core.binaries-I20200204-1800.tar.xz  eclipse.jdt.core.binaries-I20200204-1800.zip  Niraj Modi5 years I20200205-0030eclipse.jdt.core.binaries-I20200205-0030.tar.gz  eclipse.jdt.core.binaries-I20200205-0030.tar.xz  eclipse.jdt.core.binaries-I20200205-0030.zip  Niraj Modi5 years I20200205-1800eclipse.jdt.core.binaries-I20200205-1800.tar.gz  eclipse.jdt.core.binaries-I20200205-1800.tar.xz  eclipse.jdt.core.binaries-I20200205-1800.zip  Niraj Modi5 years I20200206-1805eclipse.jdt.core.binaries-I20200206-1805.tar.gz  eclipse.jdt.core.binaries-I20200206-1805.tar.xz  eclipse.jdt.core.binaries-I20200206-1805.zip  Niraj Modi5 years I20200207-1800eclipse.jdt.core.binaries-I20200207-1800.tar.gz  eclipse.jdt.core.binaries-I20200207-1800.tar.xz  eclipse.jdt.core.binaries-I20200207-1800.zip  Niraj Modi5 years I20200208-1800eclipse.jdt.core.binaries-I20200208-1800.tar.gz  eclipse.jdt.core.binaries-I20200208-1800.tar.xz  eclipse.jdt.core.binaries-I20200208-1800.zip  Niraj Modi5 years I20200209-1800eclipse.jdt.core.binaries-I20200209-1800.tar.gz  eclipse.jdt.core.binaries-I20200209-1800.tar.xz  eclipse.jdt.core.binaries-I20200209-1800.zip  Niraj Modi5 years I20200210-1800eclipse.jdt.core.binaries-I20200210-1800.tar.gz  eclipse.jdt.core.binaries-I20200210-1800.tar.xz  eclipse.jdt.core.binaries-I20200210-1800.zip  Niraj Modi5 years I20200211-1800eclipse.jdt.core.binaries-I20200211-1800.tar.gz  eclipse.jdt.core.binaries-I20200211-1800.tar.xz  eclipse.jdt.core.binaries-I20200211-1800.zip  Niraj Modi5 years I20200212-0910eclipse.jdt.core.binaries-I20200212-0910.tar.gz  eclipse.jdt.core.binaries-I20200212-0910.tar.xz  eclipse.jdt.core.binaries-I20200212-0910.zip  Niraj Modi5 years I20200212-1420eclipse.jdt.core.binaries-I20200212-1420.tar.gz  eclipse.jdt.core.binaries-I20200212-1420.tar.xz  eclipse.jdt.core.binaries-I20200212-1420.zip  Niraj Modi5 years I20200212-1800eclipse.jdt.core.binaries-I20200212-1800.tar.gz  eclipse.jdt.core.binaries-I20200212-1800.tar.xz  eclipse.jdt.core.binaries-I20200212-1800.zip  Niraj Modi5 years I20200212-1810eclipse.jdt.core.binaries-I20200212-1810.tar.gz  eclipse.jdt.core.binaries-I20200212-1810.tar.xz  eclipse.jdt.core.binaries-I20200212-1810.zip  Niraj Modi5 years I20200213-0640eclipse.jdt.core.binaries-I20200213-0640.tar.gz  eclipse.jdt.core.binaries-I20200213-0640.tar.xz  eclipse.jdt.core.binaries-I20200213-0640.zip  Niraj Modi5 years I20200213-1100eclipse.jdt.core.binaries-I20200213-1100.tar.gz  eclipse.jdt.core.binaries-I20200213-1100.tar.xz  eclipse.jdt.core.binaries-I20200213-1100.zip  Niraj Modi5 years I20200213-1210eclipse.jdt.core.binaries-I20200213-1210.tar.gz  eclipse.jdt.core.binaries-I20200213-1210.tar.xz  eclipse.jdt.core.binaries-I20200213-1210.zip  Niraj Modi5 years I20200213-1520eclipse.jdt.core.binaries-I20200213-1520.tar.gz  eclipse.jdt.core.binaries-I20200213-1520.tar.xz  eclipse.jdt.core.binaries-I20200213-1520.zip  Niraj Modi5 years I20200213-1800eclipse.jdt.core.binaries-I20200213-1800.tar.gz  eclipse.jdt.core.binaries-I20200213-1800.tar.xz  eclipse.jdt.core.binaries-I20200213-1800.zip  Niraj Modi5 years I20200214-0620eclipse.jdt.core.binaries-I20200214-0620.tar.gz  eclipse.jdt.core.binaries-I20200214-0620.tar.xz  eclipse.jdt.core.binaries-I20200214-0620.zip  Niraj Modi5 years I20200214-1800eclipse.jdt.core.binaries-I20200214-1800.tar.gz  eclipse.jdt.core.binaries-I20200214-1800.tar.xz  eclipse.jdt.core.binaries-I20200214-1800.zip  Niraj Modi5 years I20200215-0600eclipse.jdt.core.binaries-I20200215-0600.tar.gz  eclipse.jdt.core.binaries-I20200215-0600.tar.xz  eclipse.jdt.core.binaries-I20200215-0600.zip  Niraj Modi5 years I20200215-1800eclipse.jdt.core.binaries-I20200215-1800.tar.gz  eclipse.jdt.core.binaries-I20200215-1800.tar.xz  eclipse.jdt.core.binaries-I20200215-1800.zip  Niraj Modi5 years I20200216-1145eclipse.jdt.core.binaries-I20200216-1145.tar.gz  eclipse.jdt.core.binaries-I20200216-1145.tar.xz  eclipse.jdt.core.binaries-I20200216-1145.zip  Niraj Modi5 years I20200216-1800eclipse.jdt.core.binaries-I20200216-1800.tar.gz  eclipse.jdt.core.binaries-I20200216-1800.tar.xz  eclipse.jdt.core.binaries-I20200216-1800.zip  Niraj Modi5 years I20200217-0600eclipse.jdt.core.binaries-I20200217-0600.tar.gz  eclipse.jdt.core.binaries-I20200217-0600.tar.xz  eclipse.jdt.core.binaries-I20200217-0600.zip  Niraj Modi5 years I20200217-1800eclipse.jdt.core.binaries-I20200217-1800.tar.gz  eclipse.jdt.core.binaries-I20200217-1800.tar.xz  eclipse.jdt.core.binaries-I20200217-1800.zip  Niraj Modi5 years I20200218-0600eclipse.jdt.core.binaries-I20200218-0600.tar.gz  eclipse.jdt.core.binaries-I20200218-0600.tar.xz  eclipse.jdt.core.binaries-I20200218-0600.zip  Niraj Modi5 years I20200218-1800eclipse.jdt.core.binaries-I20200218-1800.tar.gz  eclipse.jdt.core.binaries-I20200218-1800.tar.xz  eclipse.jdt.core.binaries-I20200218-1800.zip  Niraj Modi5 years I20200219-0600eclipse.jdt.core.binaries-I20200219-0600.tar.gz  eclipse.jdt.core.binaries-I20200219-0600.tar.xz  eclipse.jdt.core.binaries-I20200219-0600.zip  Niraj Modi5 years I20200219-1800eclipse.jdt.core.binaries-I20200219-1800.tar.gz  eclipse.jdt.core.binaries-I20200219-1800.tar.xz  eclipse.jdt.core.binaries-I20200219-1800.zip  Niraj Modi5 years I20200221-1800eclipse.jdt.core.binaries-I20200221-1800.tar.gz  eclipse.jdt.core.binaries-I20200221-1800.tar.xz  eclipse.jdt.core.binaries-I20200221-1800.zip  Niraj Modi5 years I20200222-0600eclipse.jdt.core.binaries-I20200222-0600.tar.gz  eclipse.jdt.core.binaries-I20200222-0600.tar.xz  eclipse.jdt.core.binaries-I20200222-0600.zip  Niraj Modi5 years I20200222-1800eclipse.jdt.core.binaries-I20200222-1800.tar.gz  eclipse.jdt.core.binaries-I20200222-1800.tar.xz  eclipse.jdt.core.binaries-I20200222-1800.zip  Niraj Modi5 years I20200223-0600eclipse.jdt.core.binaries-I20200223-0600.tar.gz  eclipse.jdt.core.binaries-I20200223-0600.tar.xz  eclipse.jdt.core.binaries-I20200223-0600.zip  Niraj Modi5 years I20200223-1800eclipse.jdt.core.binaries-I20200223-1800.tar.gz  eclipse.jdt.core.binaries-I20200223-1800.tar.xz  eclipse.jdt.core.binaries-I20200223-1800.zip  Niraj Modi5 years I20200223-2335eclipse.jdt.core.binaries-I20200223-2335.tar.gz  eclipse.jdt.core.binaries-I20200223-2335.tar.xz  eclipse.jdt.core.binaries-I20200223-2335.zip  Niraj Modi5 years I20200224-0600eclipse.jdt.core.binaries-I20200224-0600.tar.gz  eclipse.jdt.core.binaries-I20200224-0600.tar.xz  eclipse.jdt.core.binaries-I20200224-0600.zip  Niraj Modi5 years I20200224-1800eclipse.jdt.core.binaries-I20200224-1800.tar.gz  eclipse.jdt.core.binaries-I20200224-1800.tar.xz  eclipse.jdt.core.binaries-I20200224-1800.zip  Niraj Modi5 years I20200225-0600eclipse.jdt.core.binaries-I20200225-0600.tar.gz  eclipse.jdt.core.binaries-I20200225-0600.tar.xz  eclipse.jdt.core.binaries-I20200225-0600.zip  Niraj Modi5 years I20200225-1800eclipse.jdt.core.binaries-I20200225-1800.tar.gz  eclipse.jdt.core.binaries-I20200225-1800.tar.xz  eclipse.jdt.core.binaries-I20200225-1800.zip  Niraj Modi5 years I20200226-0600eclipse.jdt.core.binaries-I20200226-0600.tar.gz  eclipse.jdt.core.binaries-I20200226-0600.tar.xz  eclipse.jdt.core.binaries-I20200226-0600.zip  Niraj Modi5 years I20200226-1800eclipse.jdt.core.binaries-I20200226-1800.tar.gz  eclipse.jdt.core.binaries-I20200226-1800.tar.xz  eclipse.jdt.core.binaries-I20200226-1800.zip  Niraj Modi5 years I20200228-1800eclipse.jdt.core.binaries-I20200228-1800.tar.gz  eclipse.jdt.core.binaries-I20200228-1800.tar.xz  eclipse.jdt.core.binaries-I20200228-1800.zip  Niraj Modi5 years I20200229-0600eclipse.jdt.core.binaries-I20200229-0600.tar.gz  eclipse.jdt.core.binaries-I20200229-0600.tar.xz  eclipse.jdt.core.binaries-I20200229-0600.zip  Niraj Modi5 years I20200229-1800eclipse.jdt.core.binaries-I20200229-1800.tar.gz  eclipse.jdt.core.binaries-I20200229-1800.tar.xz  eclipse.jdt.core.binaries-I20200229-1800.zip  Niraj Modi5 years I20200301-0030eclipse.jdt.core.binaries-I20200301-0030.tar.gz  eclipse.jdt.core.binaries-I20200301-0030.tar.xz  eclipse.jdt.core.binaries-I20200301-0030.zip  Niraj Modi5 years I20200301-0600eclipse.jdt.core.binaries-I20200301-0600.tar.gz  eclipse.jdt.core.binaries-I20200301-0600.tar.xz  eclipse.jdt.core.binaries-I20200301-0600.zip  Niraj Modi5 years I20200301-1800eclipse.jdt.core.binaries-I20200301-1800.tar.gz  eclipse.jdt.core.binaries-I20200301-1800.tar.xz  eclipse.jdt.core.binaries-I20200301-1800.zip  Niraj Modi5 years I20200301-2310eclipse.jdt.core.binaries-I20200301-2310.tar.gz  eclipse.jdt.core.binaries-I20200301-2310.tar.xz  eclipse.jdt.core.binaries-I20200301-2310.zip  Niraj Modi5 years I20200302-0600eclipse.jdt.core.binaries-I20200302-0600.tar.gz  eclipse.jdt.core.binaries-I20200302-0600.tar.xz  eclipse.jdt.core.binaries-I20200302-0600.zip  Niraj Modi5 years I20200302-1800eclipse.jdt.core.binaries-I20200302-1800.tar.gz  eclipse.jdt.core.binaries-I20200302-1800.tar.xz  eclipse.jdt.core.binaries-I20200302-1800.zip  Niraj Modi5 years I20200303-0600eclipse.jdt.core.binaries-I20200303-0600.tar.gz  eclipse.jdt.core.binaries-I20200303-0600.tar.xz  eclipse.jdt.core.binaries-I20200303-0600.zip  Niraj Modi5 years I20200303-1800eclipse.jdt.core.binaries-I20200303-1800.tar.gz  eclipse.jdt.core.binaries-I20200303-1800.tar.xz  eclipse.jdt.core.binaries-I20200303-1800.zip  Niraj Modi5 years I20200304-0600eclipse.jdt.core.binaries-I20200304-0600.tar.gz  eclipse.jdt.core.binaries-I20200304-0600.tar.xz  eclipse.jdt.core.binaries-I20200304-0600.zip  Niraj Modi5 years I20200304-1800eclipse.jdt.core.binaries-I20200304-1800.tar.gz  eclipse.jdt.core.binaries-I20200304-1800.tar.xz  eclipse.jdt.core.binaries-I20200304-1800.zip  Niraj Modi5 years I20200305-0155eclipse.jdt.core.binaries-I20200305-0155.tar.gz  eclipse.jdt.core.binaries-I20200305-0155.tar.xz  eclipse.jdt.core.binaries-I20200305-0155.zip  Niraj Modi5 years X20200217-1120eclipse.jdt.core.binaries-X20200217-1120.tar.gz  eclipse.jdt.core.binaries-X20200217-1120.tar.xz  eclipse.jdt.core.binaries-X20200217-1120.zip  Niraj Modi5 years X20200218-0510eclipse.jdt.core.binaries-X20200218-0510.tar.gz  eclipse.jdt.core.binaries-X20200218-0510.tar.xz  eclipse.jdt.core.binaries-X20200218-0510.zip  Niraj Modi5 years X20200219-0500eclipse.jdt.core.binaries-X20200219-0500.tar.gz  eclipse.jdt.core.binaries-X20200219-0500.tar.xz  eclipse.jdt.core.binaries-X20200219-0500.zip  Niraj Modi5 years X20200219-0700eclipse.jdt.core.binaries-X20200219-0700.tar.gz  eclipse.jdt.core.binaries-X20200219-0700.tar.xz  eclipse.jdt.core.binaries-X20200219-0700.zip  Niraj Modi5 years X20200219-1900eclipse.jdt.core.binaries-X20200219-1900.tar.gz  eclipse.jdt.core.binaries-X20200219-1900.tar.xz  eclipse.jdt.core.binaries-X20200219-1900.zip  Niraj Modi5 years X20200220-0700eclipse.jdt.core.binaries-X20200220-0700.tar.gz  eclipse.jdt.core.binaries-X20200220-0700.tar.xz  eclipse.jdt.core.binaries-X20200220-0700.zip  Niraj Modi5 years X20200220-1900eclipse.jdt.core.binaries-X20200220-1900.tar.gz  eclipse.jdt.core.binaries-X20200220-1900.tar.xz  eclipse.jdt.core.binaries-X20200220-1900.zip  Niraj Modi5 years X20200221-0050eclipse.jdt.core.binaries-X20200221-0050.tar.gz  eclipse.jdt.core.binaries-X20200221-0050.tar.xz  eclipse.jdt.core.binaries-X20200221-0050.zip  Niraj Modi5 years X20200221-0310eclipse.jdt.core.binaries-X20200221-0310.tar.gz  eclipse.jdt.core.binaries-X20200221-0310.tar.xz  eclipse.jdt.core.binaries-X20200221-0310.zip  Niraj Modi5 years X20200221-0440eclipse.jdt.core.binaries-X20200221-0440.tar.gz  eclipse.jdt.core.binaries-X20200221-0440.tar.xz  eclipse.jdt.core.binaries-X20200221-0440.zip  Niraj Modi5 years X20200221-0700eclipse.jdt.core.binaries-X20200221-0700.tar.gz  eclipse.jdt.core.binaries-X20200221-0700.tar.xz  eclipse.jdt.core.binaries-X20200221-0700.zip  Niraj Modi5 years X20200221-1130eclipse.jdt.core.binaries-X20200221-1130.tar.gz  eclipse.jdt.core.binaries-X20200221-1130.tar.xz  eclipse.jdt.core.binaries-X20200221-1130.zip  Niraj Modi5 years X20200222-0700eclipse.jdt.core.binaries-X20200222-0700.tar.gz  eclipse.jdt.core.binaries-X20200222-0700.tar.xz  eclipse.jdt.core.binaries-X20200222-0700.zip  Niraj Modi5 years X20200223-0250eclipse.jdt.core.binaries-X20200223-0250.tar.gz  eclipse.jdt.core.binaries-X20200223-0250.tar.xz  eclipse.jdt.core.binaries-X20200223-0250.zip  Niraj Modi5 years X20200223-0700eclipse.jdt.core.binaries-X20200223-0700.tar.gz  eclipse.jdt.core.binaries-X20200223-0700.tar.xz  eclipse.jdt.core.binaries-X20200223-0700.zip  Niraj Modi5 years X20200223-1900eclipse.jdt.core.binaries-X20200223-1900.tar.gz  eclipse.jdt.core.binaries-X20200223-1900.tar.xz  eclipse.jdt.core.binaries-X20200223-1900.zip  Niraj Modi5 years X20200224-0700eclipse.jdt.core.binaries-X20200224-0700.tar.gz  eclipse.jdt.core.binaries-X20200224-0700.tar.xz  eclipse.jdt.core.binaries-X20200224-0700.zip  Niraj Modi5 years X20200224-1900eclipse.jdt.core.binaries-X20200224-1900.tar.gz  eclipse.jdt.core.binaries-X20200224-1900.tar.xz  eclipse.jdt.core.binaries-X20200224-1900.zip  Niraj Modi5 years X20200225-0700eclipse.jdt.core.binaries-X20200225-0700.tar.gz  eclipse.jdt.core.binaries-X20200225-0700.tar.xz  eclipse.jdt.core.binaries-X20200225-0700.zip  Niraj Modi5 years X20200225-1900eclipse.jdt.core.binaries-X20200225-1900.tar.gz  eclipse.jdt.core.binaries-X20200225-1900.tar.xz  eclipse.jdt.core.binaries-X20200225-1900.zip  Niraj Modi5 years X20200226-0700eclipse.jdt.core.binaries-X20200226-0700.tar.gz  eclipse.jdt.core.binaries-X20200226-0700.tar.xz  eclipse.jdt.core.binaries-X20200226-0700.zip  Niraj Modi5 years X20200227-0130eclipse.jdt.core.binaries-X20200227-0130.tar.gz  eclipse.jdt.core.binaries-X20200227-0130.tar.xz  eclipse.jdt.core.binaries-X20200227-0130.zip  Niraj Modi5 years X20200227-0700eclipse.jdt.core.binaries-X20200227-0700.tar.gz  eclipse.jdt.core.binaries-X20200227-0700.tar.xz  eclipse.jdt.core.binaries-X20200227-0700.zip  Niraj Modi5 years X20200227-1900eclipse.jdt.core.binaries-X20200227-1900.tar.gz  eclipse.jdt.core.binaries-X20200227-1900.tar.xz  eclipse.jdt.core.binaries-X20200227-1900.zip  Niraj Modi5 years X20200228-0520eclipse.jdt.core.binaries-X20200228-0520.tar.gz  eclipse.jdt.core.binaries-X20200228-0520.tar.xz  eclipse.jdt.core.binaries-X20200228-0520.zip  Niraj Modi5 years X20200228-0700eclipse.jdt.core.binaries-X20200228-0700.tar.gz  eclipse.jdt.core.binaries-X20200228-0700.tar.xz  eclipse.jdt.core.binaries-X20200228-0700.zip  Niraj Modi5 years X20200228-1900eclipse.jdt.core.binaries-X20200228-1900.tar.gz  eclipse.jdt.core.binaries-X20200228-1900.tar.xz  eclipse.jdt.core.binaries-X20200228-1900.zip  Niraj Modi5 years X20200229-0700eclipse.jdt.core.binaries-X20200229-0700.tar.gz  eclipse.jdt.core.binaries-X20200229-0700.tar.xz  eclipse.jdt.core.binaries-X20200229-0700.zip  Niraj Modi5 years X20200229-1900eclipse.jdt.core.binaries-X20200229-1900.tar.gz  eclipse.jdt.core.binaries-X20200229-1900.tar.xz  eclipse.jdt.core.binaries-X20200229-1900.zip  Niraj Modi5 years X20200301-0700eclipse.jdt.core.binaries-X20200301-0700.tar.gz  eclipse.jdt.core.binaries-X20200301-0700.tar.xz  eclipse.jdt.core.binaries-X20200301-0700.zip  Niraj Modi5 years X20200301-1900eclipse.jdt.core.binaries-X20200301-1900.tar.gz  eclipse.jdt.core.binaries-X20200301-1900.tar.xz  eclipse.jdt.core.binaries-X20200301-1900.zip  Niraj Modi5 years X20200302-0700eclipse.jdt.core.binaries-X20200302-0700.tar.gz  eclipse.jdt.core.binaries-X20200302-0700.tar.xz  eclipse.jdt.core.binaries-X20200302-0700.zip  Niraj Modi5 years X20200302-0930eclipse.jdt.core.binaries-X20200302-0930.tar.gz  eclipse.jdt.core.binaries-X20200302-0930.tar.xz  eclipse.jdt.core.binaries-X20200302-0930.zip  Niraj Modi5 years X20200302-1900eclipse.jdt.core.binaries-X20200302-1900.tar.gz  eclipse.jdt.core.binaries-X20200302-1900.tar.xz  eclipse.jdt.core.binaries-X20200302-1900.zip  Niraj Modi5 years X20200303-0700eclipse.jdt.core.binaries-X20200303-0700.tar.gz  eclipse.jdt.core.binaries-X20200303-0700.tar.xz  eclipse.jdt.core.binaries-X20200303-0700.zip  Niraj Modi5 years X20200303-1900eclipse.jdt.core.binaries-X20200303-1900.tar.gz  eclipse.jdt.core.binaries-X20200303-1900.tar.xz  eclipse.jdt.core.binaries-X20200303-1900.zip  Niraj Modi5 years X20200304-0700eclipse.jdt.core.binaries-X20200304-0700.tar.gz  eclipse.jdt.core.binaries-X20200304-0700.tar.xz  eclipse.jdt.core.binaries-X20200304-0700.zip  Niraj Modi5 years X20200304-1900eclipse.jdt.core.binaries-X20200304-1900.tar.gz  eclipse.jdt.core.binaries-X20200304-1900.tar.xz  eclipse.jdt.core.binaries-X20200304-1900.zip  Niraj Modi5 years X20200305-0700eclipse.jdt.core.binaries-X20200305-0700.tar.gz  eclipse.jdt.core.binaries-X20200305-0700.tar.xz  eclipse.jdt.core.binaries-X20200305-0700.zip  Niraj Modi5 years X20200305-1900eclipse.jdt.core.binaries-X20200305-1900.tar.gz  eclipse.jdt.core.binaries-X20200305-1900.tar.xz  eclipse.jdt.core.binaries-X20200305-1900.zip  Niraj Modi5 years X20200306-0700eclipse.jdt.core.binaries-X20200306-0700.tar.gz  eclipse.jdt.core.binaries-X20200306-0700.tar.xz  eclipse.jdt.core.binaries-X20200306-0700.zip  Niraj Modi5 years Y20191208-2315eclipse.jdt.core.binaries-Y20191208-2315.tar.gz  eclipse.jdt.core.binaries-Y20191208-2315.tar.xz  eclipse.jdt.core.binaries-Y20191208-2315.zip  Niraj Modi5 years Y20191217-0600eclipse.jdt.core.binaries-Y20191217-0600.tar.gz  eclipse.jdt.core.binaries-Y20191217-0600.tar.xz  eclipse.jdt.core.binaries-Y20191217-0600.zip  Niraj Modi5 years Y20200103-2350eclipse.jdt.core.binaries-Y20200103-2350.tar.gz  eclipse.jdt.core.binaries-Y20200103-2350.tar.xz  eclipse.jdt.core.binaries-Y20200103-2350.zip  Niraj Modi5 years Y20200108-0435eclipse.jdt.core.binaries-Y20200108-0435.tar.gz  eclipse.jdt.core.binaries-Y20200108-0435.tar.xz  eclipse.jdt.core.binaries-Y20200108-0435.zip  Niraj Modi5 years Y20200114-0045eclipse.jdt.core.binaries-Y20200114-0045.tar.gz  eclipse.jdt.core.binaries-Y20200114-0045.tar.xz  eclipse.jdt.core.binaries-Y20200114-0045.zip  Niraj Modi5 years Y20200120-0020eclipse.jdt.core.binaries-Y20200120-0020.tar.gz  eclipse.jdt.core.binaries-Y20200120-0020.tar.xz  eclipse.jdt.core.binaries-Y20200120-0020.zip  Niraj Modi5 years Y20200120-2315eclipse.jdt.core.binaries-Y20200120-2315.tar.gz  eclipse.jdt.core.binaries-Y20200120-2315.tar.xz  eclipse.jdt.core.binaries-Y20200120-2315.zip  Niraj Modi5 years Y20200121-0055eclipse.jdt.core.binaries-Y20200121-0055.tar.gz  eclipse.jdt.core.binaries-Y20200121-0055.tar.xz  eclipse.jdt.core.binaries-Y20200121-0055.zip  Niraj Modi5 years Y20200126-2245eclipse.jdt.core.binaries-Y20200126-2245.tar.gz  eclipse.jdt.core.binaries-Y20200126-2245.tar.xz  eclipse.jdt.core.binaries-Y20200126-2245.zip  Niraj Modi5 years Y20200127-1055eclipse.jdt.core.binaries-Y20200127-1055.tar.gz  eclipse.jdt.core.binaries-Y20200127-1055.tar.xz  eclipse.jdt.core.binaries-Y20200127-1055.zip  Niraj Modi5 years Y20200130-0045eclipse.jdt.core.binaries-Y20200130-0045.tar.gz  eclipse.jdt.core.binaries-Y20200130-0045.tar.xz  eclipse.jdt.core.binaries-Y20200130-0045.zip  Niraj Modi5 years Y20200204-0035eclipse.jdt.core.binaries-Y20200204-0035.tar.gz  eclipse.jdt.core.binaries-Y20200204-0035.tar.xz  eclipse.jdt.core.binaries-Y20200204-0035.zip  Niraj Modi5 years Y20200218-0120eclipse.jdt.core.binaries-Y20200218-0120.tar.gz  eclipse.jdt.core.binaries-Y20200218-0120.tar.xz  eclipse.jdt.core.binaries-Y20200218-0120.zip  Niraj Modi5 years Y20200218-0315eclipse.jdt.core.binaries-Y20200218-0315.tar.gz  eclipse.jdt.core.binaries-Y20200218-0315.tar.xz  eclipse.jdt.core.binaries-Y20200218-0315.zip  Niraj Modi5 years Y20200218-1210eclipse.jdt.core.binaries-Y20200218-1210.tar.gz  eclipse.jdt.core.binaries-Y20200218-1210.tar.xz  eclipse.jdt.core.binaries-Y20200218-1210.zip  Niraj Modi5 years Y20200218-1420eclipse.jdt.core.binaries-Y20200218-1420.tar.gz  eclipse.jdt.core.binaries-Y20200218-1420.tar.xz  eclipse.jdt.core.binaries-Y20200218-1420.zip  Niraj Modi5 years Y20200219-0850eclipse.jdt.core.binaries-Y20200219-0850.tar.gz  eclipse.jdt.core.binaries-Y20200219-0850.tar.xz  eclipse.jdt.core.binaries-Y20200219-0850.zip  Niraj Modi5 years Y20200219-1055eclipse.jdt.core.binaries-Y20200219-1055.tar.gz  eclipse.jdt.core.binaries-Y20200219-1055.tar.xz  eclipse.jdt.core.binaries-Y20200219-1055.zip  Niraj Modi5 years Y20200225-1040eclipse.jdt.core.binaries-Y20200225-1040.tar.gz  eclipse.jdt.core.binaries-Y20200225-1040.tar.xz  eclipse.jdt.core.binaries-Y20200225-1040.zip  Niraj Modi5 years Y20200305-0600eclipse.jdt.core.binaries-Y20200305-0600.tar.gz  eclipse.jdt.core.binaries-Y20200305-0600.tar.xz  eclipse.jdt.core.binaries-Y20200305-0600.zip  Niraj Modi5 years Y20200310-0525eclipse.jdt.core.binaries-Y20200310-0525.tar.gz  eclipse.jdt.core.binaries-Y20200310-0525.tar.xz  eclipse.jdt.core.binaries-Y20200310-0525.zip  Niraj Modi5 years Y20200311-0915eclipse.jdt.core.binaries-Y20200311-0915.tar.gz  eclipse.jdt.core.binaries-Y20200311-0915.tar.xz  eclipse.jdt.core.binaries-Y20200311-0915.zip  Niraj Modi5 years Y20200313-1100eclipse.jdt.core.binaries-Y20200313-1100.tar.gz  eclipse.jdt.core.binaries-Y20200313-1100.tar.xz  eclipse.jdt.core.binaries-Y20200313-1100.zip  Niraj Modi5 years Y20200314-1405eclipse.jdt.core.binaries-Y20200314-1405.tar.gz  eclipse.jdt.core.binaries-Y20200314-1405.tar.xz  eclipse.jdt.core.binaries-Y20200314-1405.zip  Niraj Modi5 years Y20200316-0820eclipse.jdt.core.binaries-Y20200316-0820.tar.gz  eclipse.jdt.core.binaries-Y20200316-0820.tar.xz  eclipse.jdt.core.binaries-Y20200316-0820.zip  Niraj Modi5 years Y20200316-1300eclipse.jdt.core.binaries-Y20200316-1300.tar.gz  eclipse.jdt.core.binaries-Y20200316-1300.tar.xz  eclipse.jdt.core.binaries-Y20200316-1300.zip  Niraj Modi5 years Y20200317-0225eclipse.jdt.core.binaries-Y20200317-0225.tar.gz  eclipse.jdt.core.binaries-Y20200317-0225.tar.xz  eclipse.jdt.core.binaries-Y20200317-0225.zip  Niraj Modi5 years Y20200318-0540eclipse.jdt.core.binaries-Y20200318-0540.tar.gz  eclipse.jdt.core.binaries-Y20200318-0540.tar.xz  eclipse.jdt.core.binaries-Y20200318-0540.zip  Niraj Modi5 years Y20200407-0550eclipse.jdt.core.binaries-Y20200407-0550.tar.gz  eclipse.jdt.core.binaries-Y20200407-0550.tar.xz  eclipse.jdt.core.binaries-Y20200407-0550.zip  Niraj Modi5 years Y20200407-0635eclipse.jdt.core.binaries-Y20200407-0635.tar.gz  eclipse.jdt.core.binaries-Y20200407-0635.tar.xz  eclipse.jdt.core.binaries-Y20200407-0635.zip  Niraj Modi5 years Y20200407-0925eclipse.jdt.core.binaries-Y20200407-0925.tar.gz  eclipse.jdt.core.binaries-Y20200407-0925.tar.xz  eclipse.jdt.core.binaries-Y20200407-0925.zip  Niraj Modi5 years Y20200409-0600eclipse.jdt.core.binaries-Y20200409-0600.tar.gz  eclipse.jdt.core.binaries-Y20200409-0600.tar.xz  eclipse.jdt.core.binaries-Y20200409-0600.zip  Niraj Modi5 years S4_14_0_RC2eclipse.jdt.core.binaries-S4_14_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_14_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_14_0_RC2.zip  genie.releng5 years S4_14_0_RC1eclipse.jdt.core.binaries-S4_14_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_14_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_14_0_RC1.zip  genie.releng5 years S4_14_0_M1eclipse.jdt.core.binaries-S4_14_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_14_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_14_0_M1.zip  genie.releng5 years S4_13_0_RC2aeclipse.jdt.core.binaries-S4_13_0_RC2a.tar.gz  eclipse.jdt.core.binaries-S4_13_0_RC2a.tar.xz  eclipse.jdt.core.binaries-S4_13_0_RC2a.zip  genie.releng5 years R4_13eclipse.jdt.core.binaries-R4_13.tar.gz  eclipse.jdt.core.binaries-R4_13.tar.xz  eclipse.jdt.core.binaries-R4_13.zip  genie.releng5 years S4_13_0_RC2eclipse.jdt.core.binaries-S4_13_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_13_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_13_0_RC2.zip  genie.releng5 years I20190909-0925eclipse.jdt.core.binaries-I20190909-0925.tar.gz  eclipse.jdt.core.binaries-I20190909-0925.tar.xz  eclipse.jdt.core.binaries-I20190909-0925.zip  Niraj Modi5 years I20190909-1425eclipse.jdt.core.binaries-I20190909-1425.tar.gz  eclipse.jdt.core.binaries-I20190909-1425.tar.xz  eclipse.jdt.core.binaries-I20190909-1425.zip  Niraj Modi5 years I20190909-1520eclipse.jdt.core.binaries-I20190909-1520.tar.gz  eclipse.jdt.core.binaries-I20190909-1520.tar.xz  eclipse.jdt.core.binaries-I20190909-1520.zip  Niraj Modi5 years I20190910-0145eclipse.jdt.core.binaries-I20190910-0145.tar.gz  eclipse.jdt.core.binaries-I20190910-0145.tar.xz  eclipse.jdt.core.binaries-I20190910-0145.zip  Niraj Modi5 years I20190910-0815eclipse.jdt.core.binaries-I20190910-0815.tar.gz  eclipse.jdt.core.binaries-I20190910-0815.tar.xz  eclipse.jdt.core.binaries-I20190910-0815.zip  Niraj Modi5 years I20190910-1800eclipse.jdt.core.binaries-I20190910-1800.tar.gz  eclipse.jdt.core.binaries-I20190910-1800.tar.xz  eclipse.jdt.core.binaries-I20190910-1800.zip  Niraj Modi5 years I20190911-1805eclipse.jdt.core.binaries-I20190911-1805.tar.gz  eclipse.jdt.core.binaries-I20190911-1805.tar.xz  eclipse.jdt.core.binaries-I20190911-1805.zip  Niraj Modi5 years I20190912-1800eclipse.jdt.core.binaries-I20190912-1800.tar.gz  eclipse.jdt.core.binaries-I20190912-1800.tar.xz  eclipse.jdt.core.binaries-I20190912-1800.zip  Niraj Modi5 years I20190913-1800eclipse.jdt.core.binaries-I20190913-1800.tar.gz  eclipse.jdt.core.binaries-I20190913-1800.tar.xz  eclipse.jdt.core.binaries-I20190913-1800.zip  Niraj Modi5 years I20190914-1800eclipse.jdt.core.binaries-I20190914-1800.tar.gz  eclipse.jdt.core.binaries-I20190914-1800.tar.xz  eclipse.jdt.core.binaries-I20190914-1800.zip  Niraj Modi5 years I20190915-1800eclipse.jdt.core.binaries-I20190915-1800.tar.gz  eclipse.jdt.core.binaries-I20190915-1800.tar.xz  eclipse.jdt.core.binaries-I20190915-1800.zip  Niraj Modi5 years I20190916-1800eclipse.jdt.core.binaries-I20190916-1800.tar.gz  eclipse.jdt.core.binaries-I20190916-1800.tar.xz  eclipse.jdt.core.binaries-I20190916-1800.zip  Niraj Modi5 years I20190917-1800eclipse.jdt.core.binaries-I20190917-1800.tar.gz  eclipse.jdt.core.binaries-I20190917-1800.tar.xz  eclipse.jdt.core.binaries-I20190917-1800.zip  Niraj Modi5 years I20190918-0300eclipse.jdt.core.binaries-I20190918-0300.tar.gz  eclipse.jdt.core.binaries-I20190918-0300.tar.xz  eclipse.jdt.core.binaries-I20190918-0300.zip  Niraj Modi5 years I20190918-1800eclipse.jdt.core.binaries-I20190918-1800.tar.gz  eclipse.jdt.core.binaries-I20190918-1800.tar.xz  eclipse.jdt.core.binaries-I20190918-1800.zip  Niraj Modi5 years I20190919-0850eclipse.jdt.core.binaries-I20190919-0850.tar.gz  eclipse.jdt.core.binaries-I20190919-0850.tar.xz  eclipse.jdt.core.binaries-I20190919-0850.zip  Niraj Modi5 years I20190919-1800eclipse.jdt.core.binaries-I20190919-1800.tar.gz  eclipse.jdt.core.binaries-I20190919-1800.tar.xz  eclipse.jdt.core.binaries-I20190919-1800.zip  Niraj Modi5 years I20190920-1800eclipse.jdt.core.binaries-I20190920-1800.tar.gz  eclipse.jdt.core.binaries-I20190920-1800.tar.xz  eclipse.jdt.core.binaries-I20190920-1800.zip  Niraj Modi5 years I20190921-1800eclipse.jdt.core.binaries-I20190921-1800.tar.gz  eclipse.jdt.core.binaries-I20190921-1800.tar.xz  eclipse.jdt.core.binaries-I20190921-1800.zip  Niraj Modi5 years I20190922-1800eclipse.jdt.core.binaries-I20190922-1800.tar.gz  eclipse.jdt.core.binaries-I20190922-1800.tar.xz  eclipse.jdt.core.binaries-I20190922-1800.zip  Niraj Modi5 years I20190923-0615eclipse.jdt.core.binaries-I20190923-0615.tar.gz  eclipse.jdt.core.binaries-I20190923-0615.tar.xz  eclipse.jdt.core.binaries-I20190923-0615.zip  Niraj Modi5 years I20190923-1800eclipse.jdt.core.binaries-I20190923-1800.tar.gz  eclipse.jdt.core.binaries-I20190923-1800.tar.xz  eclipse.jdt.core.binaries-I20190923-1800.zip  Niraj Modi5 years I20190924-1800eclipse.jdt.core.binaries-I20190924-1800.tar.gz  eclipse.jdt.core.binaries-I20190924-1800.tar.xz  eclipse.jdt.core.binaries-I20190924-1800.zip  Niraj Modi5 years I20190926-0625eclipse.jdt.core.binaries-I20190926-0625.tar.gz  eclipse.jdt.core.binaries-I20190926-0625.tar.xz  eclipse.jdt.core.binaries-I20190926-0625.zip  Niraj Modi5 years I20190926-1800eclipse.jdt.core.binaries-I20190926-1800.tar.gz  eclipse.jdt.core.binaries-I20190926-1800.tar.xz  eclipse.jdt.core.binaries-I20190926-1800.zip  Niraj Modi5 years I20190927-0145eclipse.jdt.core.binaries-I20190927-0145.tar.gz  eclipse.jdt.core.binaries-I20190927-0145.tar.xz  eclipse.jdt.core.binaries-I20190927-0145.zip  Niraj Modi5 years I20190927-0225eclipse.jdt.core.binaries-I20190927-0225.tar.gz  eclipse.jdt.core.binaries-I20190927-0225.tar.xz  eclipse.jdt.core.binaries-I20190927-0225.zip  Niraj Modi5 years I20190927-0255eclipse.jdt.core.binaries-I20190927-0255.tar.gz  eclipse.jdt.core.binaries-I20190927-0255.tar.xz  eclipse.jdt.core.binaries-I20190927-0255.zip  Niraj Modi5 years I20190927-1530eclipse.jdt.core.binaries-I20190927-1530.tar.gz  eclipse.jdt.core.binaries-I20190927-1530.tar.xz  eclipse.jdt.core.binaries-I20190927-1530.zip  Niraj Modi5 years I20190927-1800eclipse.jdt.core.binaries-I20190927-1800.tar.gz  eclipse.jdt.core.binaries-I20190927-1800.tar.xz  eclipse.jdt.core.binaries-I20190927-1800.zip  Niraj Modi5 years I20190928-0000eclipse.jdt.core.binaries-I20190928-0000.tar.gz  eclipse.jdt.core.binaries-I20190928-0000.tar.xz  eclipse.jdt.core.binaries-I20190928-0000.zip  Niraj Modi5 years I20190928-0205eclipse.jdt.core.binaries-I20190928-0205.tar.gz  eclipse.jdt.core.binaries-I20190928-0205.tar.xz  eclipse.jdt.core.binaries-I20190928-0205.zip  Niraj Modi5 years I20190928-0515eclipse.jdt.core.binaries-I20190928-0515.tar.gz  eclipse.jdt.core.binaries-I20190928-0515.tar.xz  eclipse.jdt.core.binaries-I20190928-0515.zip  Niraj Modi5 years I20190928-1800eclipse.jdt.core.binaries-I20190928-1800.tar.gz  eclipse.jdt.core.binaries-I20190928-1800.tar.xz  eclipse.jdt.core.binaries-I20190928-1800.zip  Niraj Modi5 years I20190929-1800eclipse.jdt.core.binaries-I20190929-1800.tar.gz  eclipse.jdt.core.binaries-I20190929-1800.tar.xz  eclipse.jdt.core.binaries-I20190929-1800.zip  Niraj Modi5 years I20190930-1800eclipse.jdt.core.binaries-I20190930-1800.tar.gz  eclipse.jdt.core.binaries-I20190930-1800.tar.xz  eclipse.jdt.core.binaries-I20190930-1800.zip  Niraj Modi5 years I20191001-1800eclipse.jdt.core.binaries-I20191001-1800.tar.gz  eclipse.jdt.core.binaries-I20191001-1800.tar.xz  eclipse.jdt.core.binaries-I20191001-1800.zip  Niraj Modi5 years I20191002-0100eclipse.jdt.core.binaries-I20191002-0100.tar.gz  eclipse.jdt.core.binaries-I20191002-0100.tar.xz  eclipse.jdt.core.binaries-I20191002-0100.zip  Niraj Modi5 years I20191002-1800eclipse.jdt.core.binaries-I20191002-1800.tar.gz  eclipse.jdt.core.binaries-I20191002-1800.tar.xz  eclipse.jdt.core.binaries-I20191002-1800.zip  Niraj Modi5 years I20191003-1800eclipse.jdt.core.binaries-I20191003-1800.tar.gz  eclipse.jdt.core.binaries-I20191003-1800.tar.xz  eclipse.jdt.core.binaries-I20191003-1800.zip  Niraj Modi5 years I20191006-0600eclipse.jdt.core.binaries-I20191006-0600.tar.gz  eclipse.jdt.core.binaries-I20191006-0600.tar.xz  eclipse.jdt.core.binaries-I20191006-0600.zip  Niraj Modi5 years I20191006-1800eclipse.jdt.core.binaries-I20191006-1800.tar.gz  eclipse.jdt.core.binaries-I20191006-1800.tar.xz  eclipse.jdt.core.binaries-I20191006-1800.zip  Niraj Modi5 years I20191007-0430eclipse.jdt.core.binaries-I20191007-0430.tar.gz  eclipse.jdt.core.binaries-I20191007-0430.tar.xz  eclipse.jdt.core.binaries-I20191007-0430.zip  Niraj Modi5 years I20191007-0625eclipse.jdt.core.binaries-I20191007-0625.tar.gz  eclipse.jdt.core.binaries-I20191007-0625.tar.xz  eclipse.jdt.core.binaries-I20191007-0625.zip  Niraj Modi5 years I20191007-1800eclipse.jdt.core.binaries-I20191007-1800.tar.gz  eclipse.jdt.core.binaries-I20191007-1800.tar.xz  eclipse.jdt.core.binaries-I20191007-1800.zip  Niraj Modi5 years I20191008-0600eclipse.jdt.core.binaries-I20191008-0600.tar.gz  eclipse.jdt.core.binaries-I20191008-0600.tar.xz  eclipse.jdt.core.binaries-I20191008-0600.zip  Niraj Modi5 years I20191008-1800eclipse.jdt.core.binaries-I20191008-1800.tar.gz  eclipse.jdt.core.binaries-I20191008-1800.tar.xz  eclipse.jdt.core.binaries-I20191008-1800.zip  Niraj Modi5 years I20191009-0300eclipse.jdt.core.binaries-I20191009-0300.tar.gz  eclipse.jdt.core.binaries-I20191009-0300.tar.xz  eclipse.jdt.core.binaries-I20191009-0300.zip  Niraj Modi5 years I20191009-0600eclipse.jdt.core.binaries-I20191009-0600.tar.gz  eclipse.jdt.core.binaries-I20191009-0600.tar.xz  eclipse.jdt.core.binaries-I20191009-0600.zip  Niraj Modi5 years I20191009-1800eclipse.jdt.core.binaries-I20191009-1800.tar.gz  eclipse.jdt.core.binaries-I20191009-1800.tar.xz  eclipse.jdt.core.binaries-I20191009-1800.zip  Niraj Modi5 years I20191011-1800eclipse.jdt.core.binaries-I20191011-1800.tar.gz  eclipse.jdt.core.binaries-I20191011-1800.tar.xz  eclipse.jdt.core.binaries-I20191011-1800.zip  Niraj Modi5 years I20191012-1800eclipse.jdt.core.binaries-I20191012-1800.tar.gz  eclipse.jdt.core.binaries-I20191012-1800.tar.xz  eclipse.jdt.core.binaries-I20191012-1800.zip  Niraj Modi5 years I20191013-1800eclipse.jdt.core.binaries-I20191013-1800.tar.gz  eclipse.jdt.core.binaries-I20191013-1800.tar.xz  eclipse.jdt.core.binaries-I20191013-1800.zip  Niraj Modi5 years I20191014-1800eclipse.jdt.core.binaries-I20191014-1800.tar.gz  eclipse.jdt.core.binaries-I20191014-1800.tar.xz  eclipse.jdt.core.binaries-I20191014-1800.zip  Niraj Modi5 years I20191015-1800eclipse.jdt.core.binaries-I20191015-1800.tar.gz  eclipse.jdt.core.binaries-I20191015-1800.tar.xz  eclipse.jdt.core.binaries-I20191015-1800.zip  Niraj Modi5 years I20191016-1800eclipse.jdt.core.binaries-I20191016-1800.tar.gz  eclipse.jdt.core.binaries-I20191016-1800.tar.xz  eclipse.jdt.core.binaries-I20191016-1800.zip  Niraj Modi5 years I20191018-0720eclipse.jdt.core.binaries-I20191018-0720.tar.gz  eclipse.jdt.core.binaries-I20191018-0720.tar.xz  eclipse.jdt.core.binaries-I20191018-0720.zip  Niraj Modi5 years I20191018-1800eclipse.jdt.core.binaries-I20191018-1800.tar.gz  eclipse.jdt.core.binaries-I20191018-1800.tar.xz  eclipse.jdt.core.binaries-I20191018-1800.zip  Niraj Modi5 years I20191019-1800eclipse.jdt.core.binaries-I20191019-1800.tar.gz  eclipse.jdt.core.binaries-I20191019-1800.tar.xz  eclipse.jdt.core.binaries-I20191019-1800.zip  Niraj Modi5 years I20191020-1800eclipse.jdt.core.binaries-I20191020-1800.tar.gz  eclipse.jdt.core.binaries-I20191020-1800.tar.xz  eclipse.jdt.core.binaries-I20191020-1800.zip  Niraj Modi5 years I20191022-0405eclipse.jdt.core.binaries-I20191022-0405.tar.gz  eclipse.jdt.core.binaries-I20191022-0405.tar.xz  eclipse.jdt.core.binaries-I20191022-0405.zip  Niraj Modi5 years I20191022-1800eclipse.jdt.core.binaries-I20191022-1800.tar.gz  eclipse.jdt.core.binaries-I20191022-1800.tar.xz  eclipse.jdt.core.binaries-I20191022-1800.zip  Niraj Modi5 years I20191023-1810eclipse.jdt.core.binaries-I20191023-1810.tar.gz  eclipse.jdt.core.binaries-I20191023-1810.tar.xz  eclipse.jdt.core.binaries-I20191023-1810.zip  Niraj Modi5 years I20191024-1800eclipse.jdt.core.binaries-I20191024-1800.tar.gz  eclipse.jdt.core.binaries-I20191024-1800.tar.xz  eclipse.jdt.core.binaries-I20191024-1800.zip  Niraj Modi5 years I20191025-1805eclipse.jdt.core.binaries-I20191025-1805.tar.gz  eclipse.jdt.core.binaries-I20191025-1805.tar.xz  eclipse.jdt.core.binaries-I20191025-1805.zip  Niraj Modi5 years I20191026-1800eclipse.jdt.core.binaries-I20191026-1800.tar.gz  eclipse.jdt.core.binaries-I20191026-1800.tar.xz  eclipse.jdt.core.binaries-I20191026-1800.zip  Niraj Modi5 years I20191027-1800eclipse.jdt.core.binaries-I20191027-1800.tar.gz  eclipse.jdt.core.binaries-I20191027-1800.tar.xz  eclipse.jdt.core.binaries-I20191027-1800.zip  Niraj Modi5 years I20191028-1800eclipse.jdt.core.binaries-I20191028-1800.tar.gz  eclipse.jdt.core.binaries-I20191028-1800.tar.xz  eclipse.jdt.core.binaries-I20191028-1800.zip  Niraj Modi5 years I20191029-1800eclipse.jdt.core.binaries-I20191029-1800.tar.gz  eclipse.jdt.core.binaries-I20191029-1800.tar.xz  eclipse.jdt.core.binaries-I20191029-1800.zip  Niraj Modi5 years I20191030-0010eclipse.jdt.core.binaries-I20191030-0010.tar.gz  eclipse.jdt.core.binaries-I20191030-0010.tar.xz  eclipse.jdt.core.binaries-I20191030-0010.zip  Niraj Modi5 years I20191030-1800eclipse.jdt.core.binaries-I20191030-1800.tar.gz  eclipse.jdt.core.binaries-I20191030-1800.tar.xz  eclipse.jdt.core.binaries-I20191030-1800.zip  Niraj Modi5 years I20191031-1325eclipse.jdt.core.binaries-I20191031-1325.tar.gz  eclipse.jdt.core.binaries-I20191031-1325.tar.xz  eclipse.jdt.core.binaries-I20191031-1325.zip  Niraj Modi5 years I20191031-1800eclipse.jdt.core.binaries-I20191031-1800.tar.gz  eclipse.jdt.core.binaries-I20191031-1800.tar.xz  eclipse.jdt.core.binaries-I20191031-1800.zip  Niraj Modi5 years I20191101-0300eclipse.jdt.core.binaries-I20191101-0300.tar.gz  eclipse.jdt.core.binaries-I20191101-0300.tar.xz  eclipse.jdt.core.binaries-I20191101-0300.zip  Niraj Modi5 years I20191101-1800eclipse.jdt.core.binaries-I20191101-1800.tar.gz  eclipse.jdt.core.binaries-I20191101-1800.tar.xz  eclipse.jdt.core.binaries-I20191101-1800.zip  Niraj Modi5 years I20191102-1800eclipse.jdt.core.binaries-I20191102-1800.tar.gz  eclipse.jdt.core.binaries-I20191102-1800.tar.xz  eclipse.jdt.core.binaries-I20191102-1800.zip  Niraj Modi5 years I20191103-1800eclipse.jdt.core.binaries-I20191103-1800.tar.gz  eclipse.jdt.core.binaries-I20191103-1800.tar.xz  eclipse.jdt.core.binaries-I20191103-1800.zip  Niraj Modi5 years I20191104-1800eclipse.jdt.core.binaries-I20191104-1800.tar.gz  eclipse.jdt.core.binaries-I20191104-1800.tar.xz  eclipse.jdt.core.binaries-I20191104-1800.zip  Niraj Modi5 years I20191105-0025eclipse.jdt.core.binaries-I20191105-0025.tar.gz  eclipse.jdt.core.binaries-I20191105-0025.tar.xz  eclipse.jdt.core.binaries-I20191105-0025.zip  Niraj Modi5 years I20191105-1800eclipse.jdt.core.binaries-I20191105-1800.tar.gz  eclipse.jdt.core.binaries-I20191105-1800.tar.xz  eclipse.jdt.core.binaries-I20191105-1800.zip  Niraj Modi5 years I20191106-1805eclipse.jdt.core.binaries-I20191106-1805.tar.gz  eclipse.jdt.core.binaries-I20191106-1805.tar.xz  eclipse.jdt.core.binaries-I20191106-1805.zip  Niraj Modi5 years I20191107-1800eclipse.jdt.core.binaries-I20191107-1800.tar.gz  eclipse.jdt.core.binaries-I20191107-1800.tar.xz  eclipse.jdt.core.binaries-I20191107-1800.zip  Niraj Modi5 years I20191108-1800eclipse.jdt.core.binaries-I20191108-1800.tar.gz  eclipse.jdt.core.binaries-I20191108-1800.tar.xz  eclipse.jdt.core.binaries-I20191108-1800.zip  Niraj Modi5 years I20191109-0330eclipse.jdt.core.binaries-I20191109-0330.tar.gz  eclipse.jdt.core.binaries-I20191109-0330.tar.xz  eclipse.jdt.core.binaries-I20191109-0330.zip  Niraj Modi5 years I20191109-0650eclipse.jdt.core.binaries-I20191109-0650.tar.gz  eclipse.jdt.core.binaries-I20191109-0650.tar.xz  eclipse.jdt.core.binaries-I20191109-0650.zip  Niraj Modi5 years I20191109-1800eclipse.jdt.core.binaries-I20191109-1800.tar.gz  eclipse.jdt.core.binaries-I20191109-1800.tar.xz  eclipse.jdt.core.binaries-I20191109-1800.zip  Niraj Modi5 years I20191110-1800eclipse.jdt.core.binaries-I20191110-1800.tar.gz  eclipse.jdt.core.binaries-I20191110-1800.tar.xz  eclipse.jdt.core.binaries-I20191110-1800.zip  Niraj Modi5 years I20191111-0145eclipse.jdt.core.binaries-I20191111-0145.tar.gz  eclipse.jdt.core.binaries-I20191111-0145.tar.xz  eclipse.jdt.core.binaries-I20191111-0145.zip  Niraj Modi5 years I20191111-0435eclipse.jdt.core.binaries-I20191111-0435.tar.gz  eclipse.jdt.core.binaries-I20191111-0435.tar.xz  eclipse.jdt.core.binaries-I20191111-0435.zip  Niraj Modi5 years I20191111-0655eclipse.jdt.core.binaries-I20191111-0655.tar.gz  eclipse.jdt.core.binaries-I20191111-0655.tar.xz  eclipse.jdt.core.binaries-I20191111-0655.zip  Niraj Modi5 years I20191111-0920eclipse.jdt.core.binaries-I20191111-0920.tar.gz  eclipse.jdt.core.binaries-I20191111-0920.tar.xz  eclipse.jdt.core.binaries-I20191111-0920.zip  Niraj Modi5 years I20191111-1800eclipse.jdt.core.binaries-I20191111-1800.tar.gz  eclipse.jdt.core.binaries-I20191111-1800.tar.xz  eclipse.jdt.core.binaries-I20191111-1800.zip  Niraj Modi5 years I20191112-1800eclipse.jdt.core.binaries-I20191112-1800.tar.gz  eclipse.jdt.core.binaries-I20191112-1800.tar.xz  eclipse.jdt.core.binaries-I20191112-1800.zip  Niraj Modi5 years I20191113-1800eclipse.jdt.core.binaries-I20191113-1800.tar.gz  eclipse.jdt.core.binaries-I20191113-1800.tar.xz  eclipse.jdt.core.binaries-I20191113-1800.zip  Niraj Modi5 years I20191113-2315eclipse.jdt.core.binaries-I20191113-2315.tar.gz  eclipse.jdt.core.binaries-I20191113-2315.tar.xz  eclipse.jdt.core.binaries-I20191113-2315.zip  Niraj Modi5 years I20191114-0410eclipse.jdt.core.binaries-I20191114-0410.tar.gz  eclipse.jdt.core.binaries-I20191114-0410.tar.xz  eclipse.jdt.core.binaries-I20191114-0410.zip  Niraj Modi5 years I20191114-1800eclipse.jdt.core.binaries-I20191114-1800.tar.gz  eclipse.jdt.core.binaries-I20191114-1800.tar.xz  eclipse.jdt.core.binaries-I20191114-1800.zip  Niraj Modi5 years I20191115-1800eclipse.jdt.core.binaries-I20191115-1800.tar.gz  eclipse.jdt.core.binaries-I20191115-1800.tar.xz  eclipse.jdt.core.binaries-I20191115-1800.zip  Niraj Modi5 years I20191116-0600eclipse.jdt.core.binaries-I20191116-0600.tar.gz  eclipse.jdt.core.binaries-I20191116-0600.tar.xz  eclipse.jdt.core.binaries-I20191116-0600.zip  Niraj Modi5 years I20191116-1800eclipse.jdt.core.binaries-I20191116-1800.tar.gz  eclipse.jdt.core.binaries-I20191116-1800.tar.xz  eclipse.jdt.core.binaries-I20191116-1800.zip  Niraj Modi5 years I20191117-0600eclipse.jdt.core.binaries-I20191117-0600.tar.gz  eclipse.jdt.core.binaries-I20191117-0600.tar.xz  eclipse.jdt.core.binaries-I20191117-0600.zip  Niraj Modi5 years I20191117-1800eclipse.jdt.core.binaries-I20191117-1800.tar.gz  eclipse.jdt.core.binaries-I20191117-1800.tar.xz  eclipse.jdt.core.binaries-I20191117-1800.zip  Niraj Modi5 years I20191118-0600eclipse.jdt.core.binaries-I20191118-0600.tar.gz  eclipse.jdt.core.binaries-I20191118-0600.tar.xz  eclipse.jdt.core.binaries-I20191118-0600.zip  Niraj Modi5 years I20191118-1800eclipse.jdt.core.binaries-I20191118-1800.tar.gz  eclipse.jdt.core.binaries-I20191118-1800.tar.xz  eclipse.jdt.core.binaries-I20191118-1800.zip  Niraj Modi5 years I20191118-2230eclipse.jdt.core.binaries-I20191118-2230.tar.gz  eclipse.jdt.core.binaries-I20191118-2230.tar.xz  eclipse.jdt.core.binaries-I20191118-2230.zip  Niraj Modi5 years I20191119-0020eclipse.jdt.core.binaries-I20191119-0020.tar.gz  eclipse.jdt.core.binaries-I20191119-0020.tar.xz  eclipse.jdt.core.binaries-I20191119-0020.zip  Niraj Modi5 years I20191119-0315eclipse.jdt.core.binaries-I20191119-0315.tar.gz  eclipse.jdt.core.binaries-I20191119-0315.tar.xz  eclipse.jdt.core.binaries-I20191119-0315.zip  Niraj Modi5 years I20191119-0510eclipse.jdt.core.binaries-I20191119-0510.tar.gz  eclipse.jdt.core.binaries-I20191119-0510.tar.xz  eclipse.jdt.core.binaries-I20191119-0510.zip  Niraj Modi5 years I20191119-0725eclipse.jdt.core.binaries-I20191119-0725.tar.gz  eclipse.jdt.core.binaries-I20191119-0725.tar.xz  eclipse.jdt.core.binaries-I20191119-0725.zip  Niraj Modi5 years I20191119-0850eclipse.jdt.core.binaries-I20191119-0850.tar.gz  eclipse.jdt.core.binaries-I20191119-0850.tar.xz  eclipse.jdt.core.binaries-I20191119-0850.zip  Niraj Modi5 years I20191119-1155eclipse.jdt.core.binaries-I20191119-1155.tar.gz  eclipse.jdt.core.binaries-I20191119-1155.tar.xz  eclipse.jdt.core.binaries-I20191119-1155.zip  Niraj Modi5 years I20191119-1215eclipse.jdt.core.binaries-I20191119-1215.tar.gz  eclipse.jdt.core.binaries-I20191119-1215.tar.xz  eclipse.jdt.core.binaries-I20191119-1215.zip  Niraj Modi5 years I20191119-1235eclipse.jdt.core.binaries-I20191119-1235.tar.gz  eclipse.jdt.core.binaries-I20191119-1235.tar.xz  eclipse.jdt.core.binaries-I20191119-1235.zip  Niraj Modi5 years I20191119-1250eclipse.jdt.core.binaries-I20191119-1250.tar.gz  eclipse.jdt.core.binaries-I20191119-1250.tar.xz  eclipse.jdt.core.binaries-I20191119-1250.zip  Niraj Modi5 years I20191119-1800eclipse.jdt.core.binaries-I20191119-1800.tar.gz  eclipse.jdt.core.binaries-I20191119-1800.tar.xz  eclipse.jdt.core.binaries-I20191119-1800.zip  Niraj Modi5 years I20191119-2200eclipse.jdt.core.binaries-I20191119-2200.tar.gz  eclipse.jdt.core.binaries-I20191119-2200.tar.xz  eclipse.jdt.core.binaries-I20191119-2200.zip  Niraj Modi5 years I20191120-0600eclipse.jdt.core.binaries-I20191120-0600.tar.gz  eclipse.jdt.core.binaries-I20191120-0600.tar.xz  eclipse.jdt.core.binaries-I20191120-0600.zip  Niraj Modi5 years I20191120-0840eclipse.jdt.core.binaries-I20191120-0840.tar.gz  eclipse.jdt.core.binaries-I20191120-0840.tar.xz  eclipse.jdt.core.binaries-I20191120-0840.zip  Niraj Modi5 years I20191120-1800eclipse.jdt.core.binaries-I20191120-1800.tar.gz  eclipse.jdt.core.binaries-I20191120-1800.tar.xz  eclipse.jdt.core.binaries-I20191120-1800.zip  Niraj Modi5 years I20191120-2335eclipse.jdt.core.binaries-I20191120-2335.tar.gz  eclipse.jdt.core.binaries-I20191120-2335.tar.xz  eclipse.jdt.core.binaries-I20191120-2335.zip  Niraj Modi5 years I20191122-1800eclipse.jdt.core.binaries-I20191122-1800.tar.gz  eclipse.jdt.core.binaries-I20191122-1800.tar.xz  eclipse.jdt.core.binaries-I20191122-1800.zip  Niraj Modi5 years I20191123-0100eclipse.jdt.core.binaries-I20191123-0100.tar.gz  eclipse.jdt.core.binaries-I20191123-0100.tar.xz  eclipse.jdt.core.binaries-I20191123-0100.zip  Niraj Modi5 years I20191123-0600eclipse.jdt.core.binaries-I20191123-0600.tar.gz  eclipse.jdt.core.binaries-I20191123-0600.tar.xz  eclipse.jdt.core.binaries-I20191123-0600.zip  Niraj Modi5 years I20191123-1115eclipse.jdt.core.binaries-I20191123-1115.tar.gz  eclipse.jdt.core.binaries-I20191123-1115.tar.xz  eclipse.jdt.core.binaries-I20191123-1115.zip  Niraj Modi5 years I20191123-1800eclipse.jdt.core.binaries-I20191123-1800.tar.gz  eclipse.jdt.core.binaries-I20191123-1800.tar.xz  eclipse.jdt.core.binaries-I20191123-1800.zip  Niraj Modi5 years I20191124-0600eclipse.jdt.core.binaries-I20191124-0600.tar.gz  eclipse.jdt.core.binaries-I20191124-0600.tar.xz  eclipse.jdt.core.binaries-I20191124-0600.zip  Niraj Modi5 years I20191124-1800eclipse.jdt.core.binaries-I20191124-1800.tar.gz  eclipse.jdt.core.binaries-I20191124-1800.tar.xz  eclipse.jdt.core.binaries-I20191124-1800.zip  Niraj Modi5 years I20191125-0600eclipse.jdt.core.binaries-I20191125-0600.tar.gz  eclipse.jdt.core.binaries-I20191125-0600.tar.xz  eclipse.jdt.core.binaries-I20191125-0600.zip  Niraj Modi5 years I20191125-1800eclipse.jdt.core.binaries-I20191125-1800.tar.gz  eclipse.jdt.core.binaries-I20191125-1800.tar.xz  eclipse.jdt.core.binaries-I20191125-1800.zip  Niraj Modi5 years I20191126-0600eclipse.jdt.core.binaries-I20191126-0600.tar.gz  eclipse.jdt.core.binaries-I20191126-0600.tar.xz  eclipse.jdt.core.binaries-I20191126-0600.zip  Niraj Modi5 years I20191126-1800eclipse.jdt.core.binaries-I20191126-1800.tar.gz  eclipse.jdt.core.binaries-I20191126-1800.tar.xz  eclipse.jdt.core.binaries-I20191126-1800.zip  Niraj Modi5 years I20191126-2315eclipse.jdt.core.binaries-I20191126-2315.tar.gz  eclipse.jdt.core.binaries-I20191126-2315.tar.xz  eclipse.jdt.core.binaries-I20191126-2315.zip  Niraj Modi5 years I20191127-0600eclipse.jdt.core.binaries-I20191127-0600.tar.gz  eclipse.jdt.core.binaries-I20191127-0600.tar.xz  eclipse.jdt.core.binaries-I20191127-0600.zip  Niraj Modi5 years I20191127-1800eclipse.jdt.core.binaries-I20191127-1800.tar.gz  eclipse.jdt.core.binaries-I20191127-1800.tar.xz  eclipse.jdt.core.binaries-I20191127-1800.zip  Niraj Modi5 years I20191129-1800eclipse.jdt.core.binaries-I20191129-1800.tar.gz  eclipse.jdt.core.binaries-I20191129-1800.tar.xz  eclipse.jdt.core.binaries-I20191129-1800.zip  Niraj Modi5 years I20191130-0600eclipse.jdt.core.binaries-I20191130-0600.tar.gz  eclipse.jdt.core.binaries-I20191130-0600.tar.xz  eclipse.jdt.core.binaries-I20191130-0600.zip  Niraj Modi5 years I20191130-1800eclipse.jdt.core.binaries-I20191130-1800.tar.gz  eclipse.jdt.core.binaries-I20191130-1800.tar.xz  eclipse.jdt.core.binaries-I20191130-1800.zip  Niraj Modi5 years I20191201-0600eclipse.jdt.core.binaries-I20191201-0600.tar.gz  eclipse.jdt.core.binaries-I20191201-0600.tar.xz  eclipse.jdt.core.binaries-I20191201-0600.zip  Niraj Modi5 years I20191201-1800eclipse.jdt.core.binaries-I20191201-1800.tar.gz  eclipse.jdt.core.binaries-I20191201-1800.tar.xz  eclipse.jdt.core.binaries-I20191201-1800.zip  Niraj Modi5 years I20191202-0600eclipse.jdt.core.binaries-I20191202-0600.tar.gz  eclipse.jdt.core.binaries-I20191202-0600.tar.xz  eclipse.jdt.core.binaries-I20191202-0600.zip  Niraj Modi5 years I20191202-1800eclipse.jdt.core.binaries-I20191202-1800.tar.gz  eclipse.jdt.core.binaries-I20191202-1800.tar.xz  eclipse.jdt.core.binaries-I20191202-1800.zip  Niraj Modi5 years I20191203-0600eclipse.jdt.core.binaries-I20191203-0600.tar.gz  eclipse.jdt.core.binaries-I20191203-0600.tar.xz  eclipse.jdt.core.binaries-I20191203-0600.zip  Niraj Modi5 years I20191203-1800eclipse.jdt.core.binaries-I20191203-1800.tar.gz  eclipse.jdt.core.binaries-I20191203-1800.tar.xz  eclipse.jdt.core.binaries-I20191203-1800.zip  Niraj Modi5 years I20191204-0600eclipse.jdt.core.binaries-I20191204-0600.tar.gz  eclipse.jdt.core.binaries-I20191204-0600.tar.xz  eclipse.jdt.core.binaries-I20191204-0600.zip  Niraj Modi5 years I20191204-1800eclipse.jdt.core.binaries-I20191204-1800.tar.gz  eclipse.jdt.core.binaries-I20191204-1800.tar.xz  eclipse.jdt.core.binaries-I20191204-1800.zip  Niraj Modi5 years I20191210-0610eclipse.jdt.core.binaries-I20191210-0610.tar.gz  eclipse.jdt.core.binaries-I20191210-0610.tar.xz  eclipse.jdt.core.binaries-I20191210-0610.zip  Niraj Modi5 years Y20191107-0420eclipse.jdt.core.binaries-Y20191107-0420.tar.gz  eclipse.jdt.core.binaries-Y20191107-0420.tar.xz  eclipse.jdt.core.binaries-Y20191107-0420.zip  Niraj Modi5 years Y20191107-0440eclipse.jdt.core.binaries-Y20191107-0440.tar.gz  eclipse.jdt.core.binaries-Y20191107-0440.tar.xz  eclipse.jdt.core.binaries-Y20191107-0440.zip  Niraj Modi5 years Y20191112-0030eclipse.jdt.core.binaries-Y20191112-0030.tar.gz  eclipse.jdt.core.binaries-Y20191112-0030.tar.xz  eclipse.jdt.core.binaries-Y20191112-0030.zip  Niraj Modi5 years Y20191126-0500eclipse.jdt.core.binaries-Y20191126-0500.tar.gz  eclipse.jdt.core.binaries-Y20191126-0500.tar.xz  eclipse.jdt.core.binaries-Y20191126-0500.zip  Niraj Modi5 years Y20191127-0140eclipse.jdt.core.binaries-Y20191127-0140.tar.gz  eclipse.jdt.core.binaries-Y20191127-0140.tar.xz  eclipse.jdt.core.binaries-Y20191127-0140.zip  Niraj Modi5 years S4_13_0_RC1eclipse.jdt.core.binaries-S4_13_0_RC1.tar.gz  eclipse.jdt.core.binaries-S4_13_0_RC1.tar.xz  eclipse.jdt.core.binaries-S4_13_0_RC1.zip  genie.releng5 years S4_13_0_M3eclipse.jdt.core.binaries-S4_13_0_M3.tar.gz  eclipse.jdt.core.binaries-S4_13_0_M3.tar.xz  eclipse.jdt.core.binaries-S4_13_0_M3.zip  genie.releng5 years S4_13_0_M1eclipse.jdt.core.binaries-S4_13_0_M1.tar.gz  eclipse.jdt.core.binaries-S4_13_0_M1.tar.xz  eclipse.jdt.core.binaries-S4_13_0_M1.zip  genie.releng5 years R4_12eclipse.jdt.core.binaries-R4_12.tar.gz  eclipse.jdt.core.binaries-R4_12.tar.xz  eclipse.jdt.core.binaries-R4_12.zip  genie.releng5 years S4_12_0_RC2eclipse.jdt.core.binaries-S4_12_0_RC2.tar.gz  eclipse.jdt.core.binaries-S4_12_0_RC2.tar.xz  eclipse.jdt.core.binaries-S4_12_0_RC2.zip  genie.releng5 years I20190607-0725eclipse.jdt.core.binaries-I20190607-0725.tar.gz  eclipse.jdt.core.binaries-I20190607-0725.tar.xz  eclipse.jdt.core.binaries-I20190607-0725.zip  Niraj Modi5 years I20190607-1000eclipse.jdt.core.binaries-I20190607-1000.tar.gz  eclipse.jdt.core.binaries-I20190607-1000.tar.xz  eclipse.jdt.core.binaries-I20190607-1000.zip  Niraj Modi5 years I20190607-1345eclipse.jdt.core.binaries-I20190607-1345.tar.gz  eclipse.jdt.core.binaries-I20190607-1345.tar.xz  eclipse.jdt.core.binaries-I20190607-1345.zip  Niraj Modi5 years I20190608-0140eclipse.jdt.core.binaries-I20190608-0140.tar.gz  eclipse.jdt.core.binaries-I20190608-0140.tar.xz  eclipse.jdt.core.binaries-I20190608-0140.zip  Niraj Modi5 years I20190610-0135eclipse.jdt.core.binaries-I20190610-0135.tar.gz  eclipse.jdt.core.binaries-I20190610-0135.tar.xz  eclipse.jdt.core.binaries-I20190610-0135.zip  Niraj Modi5 years I20190610-1800eclipse.jdt.core.binaries-I20190610-1800.tar.gz  eclipse.jdt.core.binaries-I20190610-1800.tar.xz  eclipse.jdt.core.binaries-I20190610-1800.zip  Niraj Modi5 years I20190612-0115eclipse.jdt.core.binaries-I20190612-0115.tar.gz  eclipse.jdt.core.binaries-I20190612-0115.tar.xz  eclipse.jdt.core.binaries-I20190612-0115.zip  Niraj Modi5 years I20190612-1800eclipse.jdt.core.binaries-I20190612-1800.tar.gz  eclipse.jdt.core.binaries-I20190612-1800.tar.xz  eclipse.jdt.core.binaries-I20190612-1800.zip  Niraj Modi5 years I20190613-0210eclipse.jdt.core.binaries-I20190613-0210.tar.gz  eclipse.jdt.core.binaries-I20190613-0210.tar.xz  eclipse.jdt.core.binaries-I20190613-0210.zip  Niraj Modi5 years I20190613-1800eclipse.jdt.core.binaries-I20190613-1800.tar.gz  eclipse.jdt.core.binaries-I20190613-1800.tar.xz  eclipse.jdt.core.binaries-I20190613-1800.zip  Niraj Modi5 years I20190614-0330eclipse.jdt.core.binaries-I20190614-0330.tar.gz  eclipse.jdt.core.binaries-I20190614-0330.tar.xz  eclipse.jdt.core.binaries-I20190614-0330.zip  Niraj Modi5 years I20190614-1800eclipse.jdt.core.binaries-I20190614-1800.tar.gz  eclipse.jdt.core.binaries-I20190614-1800.tar.xz  eclipse.jdt.core.binaries-I20190614-1800.zip  Niraj Modi5 years I20190615-1800eclipse.jdt.core.binaries-I20190615-1800.tar.gz  eclipse.jdt.core.binaries-I20190615-1800.tar.xz  eclipse.jdt.core.binaries-I20190615-1800.zip  Niraj Modi5 years I20190616-1800eclipse.jdt.core.binaries-I20190616-1800.tar.gz  eclipse.jdt.core.binaries-I20190616-1800.tar.xz  eclipse.jdt.core.binaries-I20190616-1800.zip  Niraj Modi5 years I20190617-1800eclipse.jdt.core.binaries-I20190617-1800.tar.gz  eclipse.jdt.core.binaries-I20190617-1800.tar.xz  eclipse.jdt.core.binaries-I20190617-1800.zip  Niraj Modi5 years I20190618-0225eclipse.jdt.core.binaries-I20190618-0225.tar.gz  eclipse.jdt.core.binaries-I20190618-0225.tar.xz  eclipse.jdt.core.binaries-I20190618-0225.zip  Niraj Modi5 years I20190618-1805eclipse.jdt.core.binaries-I20190618-1805.tar.gz  eclipse.jdt.core.binaries-I20190618-1805.tar.xz  eclipse.jdt.core.binaries-I20190618-1805.zip  Niraj Modi5 years I20190619-1800eclipse.jdt.core.binaries-I20190619-1800.tar.gz  eclipse.jdt.core.binaries-I20190619-1800.tar.xz  eclipse.jdt.core.binaries-I20190619-1800.zip  Niraj Modi5 years I20190619-1820eclipse.jdt.core.binaries-I20190619-1820.tar.gz  eclipse.jdt.core.binaries-I20190619-1820.tar.xz  eclipse.jdt.core.binaries-I20190619-1820.zip  Niraj Modi5 years I20190620-0130eclipse.jdt.core.binaries-I20190620-0130.tar.gz  eclipse.jdt.core.binaries-I20190620-0130.tar.xz  eclipse.jdt.core.binaries-I20190620-0130.zip  Niraj Modi5 years I20190620-1800eclipse.jdt.core.binaries-I20190620-1800.tar.gz  eclipse.jdt.core.binaries-I20190620-1800.tar.xz  eclipse.jdt.core.binaries-I20190620-1800.zip  Niraj Modi5 years I20190621-1800eclipse.jdt.core.binaries-I20190621-1800.tar.gz  eclipse.jdt.core.binaries-I20190621-1800.tar.xz  eclipse.jdt.core.binaries-I20190621-1800.zip  Niraj Modi5 years I20190623-1800eclipse.jdt.core.binaries-I20190623-1800.tar.gz  eclipse.jdt.core.binaries-I20190623-1800.tar.xz  eclipse.jdt.core.binaries-I20190623-1800.zip  Niraj Modi5 years I20190624-1800eclipse.jdt.core.binaries-I20190624-1800.tar.gz  eclipse.jdt.core.binaries-I20190624-1800.tar.xz  eclipse.jdt.core.binaries-I20190624-1800.zip  Niraj Modi5 years I20190625-0535eclipse.jdt.core.binaries-I20190625-0535.tar.gz  eclipse.jdt.core.binaries-I20190625-0535.tar.xz  eclipse.jdt.core.binaries-I20190625-0535.zip  Niraj Modi5 years I20190625-1800eclipse.jdt.core.binaries-I20190625-1800.tar.gz  eclipse.jdt.core.binaries-I20190625-1800.tar.xz  eclipse.jdt.core.binaries-I20190625-1800.zip  Niraj Modi5 years I20190626-0720eclipse.jdt.core.binaries-I20190626-0720.tar.gz  eclipse.jdt.core.binaries-I20190626-0720.tar.xz  eclipse.jdt.core.binaries-I20190626-0720.zip  Niraj Modi5 years I20190626-1800eclipse.jdt.core.binaries-I20190626-1800.tar.gz  eclipse.jdt.core.binaries-I20190626-1800.tar.xz  eclipse.jdt.core.binaries-I20190626-1800.zip  Niraj Modi5 years I20190627-0135eclipse.jdt.core.binaries-I20190627-0135.tar.gz  eclipse.jdt.core.binaries-I20190627-0135.tar.xz  eclipse.jdt.core.binaries-I20190627-0135.zip  Niraj Modi5 years I20190627-1800eclipse.jdt.core.binaries-I20190627-1800.tar.gz  eclipse.jdt.core.binaries-I20190627-1800.tar.xz  eclipse.jdt.core.binaries-I20190627-1800.zip  Niraj Modi5 years I20190628-1800eclipse.jdt.core.binaries-I20190628-1800.tar.gz  eclipse.jdt.core.binaries-I20190628-1800.tar.xz  eclipse.jdt.core.binaries-I20190628-1800.zip  Niraj Modi5 years I20190629-1800eclipse.jdt.core.binaries-I20190629-1800.tar.gz  eclipse.jdt.core.binaries-I20190629-1800.tar.xz  eclipse.jdt.core.binaries-I20190629-1800.zip  Niraj Modi5 years I20190630-1800eclipse.jdt.core.binaries-I20190630-1800.tar.gz  eclipse.jdt.core.binaries-I20190630-1800.tar.xz  eclipse.jdt.core.binaries-I20190630-1800.zip  Niraj Modi5 years I20190701-1805eclipse.jdt.core.binaries-I20190701-1805.tar.gz  eclipse.jdt.core.binaries-I20190701-1805.tar.xz  eclipse.jdt.core.binaries-I20190701-1805.zip  Niraj Modi5 years I20190702-0610eclipse.jdt.core.binaries-I20190702-0610.tar.gz  eclipse.jdt.core.binaries-I20190702-0610.tar.xz  eclipse.jdt.core.binaries-I20190702-0610.zip  Niraj Modi5 years I20190702-0930eclipse.jdt.core.binaries-I20190702-0930.tar.gz  eclipse.jdt.core.binaries-I20190702-0930.tar.xz  eclipse.jdt.core.binaries-I20190702-0930.zip  Niraj Modi5 years I20190702-1800eclipse.jdt.core.binaries-I20190702-1800.tar.gz  eclipse.jdt.core.binaries-I20190702-1800.tar.xz  eclipse.jdt.core.binaries-I20190702-1800.zip  Niraj Modi5 years I20190703-0640eclipse.jdt.core.binaries-I20190703-0640.tar.gz  eclipse.jdt.core.binaries-I20190703-0640.tar.xz  eclipse.jdt.core.binaries-I20190703-0640.zip  Niraj Modi5 years I20190703-1800eclipse.jdt.core.binaries-I20190703-1800.tar.gz  eclipse.jdt.core.binaries-I20190703-1800.tar.xz  eclipse.jdt.core.binaries-I20190703-1800.zip  Niraj Modi5 years I20190704-0245eclipse.jdt.core.binaries-I20190704-0245.tar.gz  eclipse.jdt.core.binaries-I20190704-0245.tar.xz  eclipse.jdt.core.binaries-I20190704-0245.zip  Niraj Modi5 years I20190704-1800eclipse.jdt.core.binaries-I20190704-1800.tar.gz  eclipse.jdt.core.binaries-I20190704-1800.tar.xz  eclipse.jdt.core.binaries-I20190704-1800.zip  Niraj Modi5 years I20190705-1800eclipse.jdt.core.binaries-I20190705-1800.tar.gz  eclipse.jdt.core.binaries-I20190705-1800.tar.xz  eclipse.jdt.core.binaries-I20190705-1800.zip  Niraj Modi5 years I20190706-1800eclipse.jdt.core.binaries-I20190706-1800.tar.gz  eclipse.jdt.core.binaries-I20190706-1800.tar.xz  eclipse.jdt.core.binaries-I20190706-1800.zip  Niraj Modi5 years I20190707-0110eclipse.jdt.core.binaries-I20190707-0110.tar.gz  eclipse.jdt.core.binaries-I20190707-0110.tar.xz  eclipse.jdt.core.binaries-I20190707-0110.zip  Niraj Modi5 years I20190707-1800eclipse.jdt.core.binaries-I20190707-1800.tar.gz  eclipse.jdt.core.binaries-I20190707-1800.tar.xz  eclipse.jdt.core.binaries-I20190707-1800.zip  Niraj Modi5 years I20190708-0800eclipse.jdt.core.binaries-I20190708-0800.tar.gz  eclipse.jdt.core.binaries-I20190708-0800.tar.xz  eclipse.jdt.core.binaries-I20190708-0800.zip  Niraj Modi5 years I20190708-1035eclipse.jdt.core.binaries-I20190708-1035.tar.gz  eclipse.jdt.core.binaries-I20190708-1035.tar.xz  eclipse.jdt.core.binaries-I20190708-1035.zip  Niraj Modi5 years I20190708-1800eclipse.jdt.core.binaries-I20190708-1800.tar.gz  eclipse.jdt.core.binaries-I20190708-1800.tar.xz  eclipse.jdt.core.binaries-I20190708-1800.zip  Niraj Modi5 years I20190709-0610eclipse.jdt.core.binaries-I20190709-0610.tar.gz  eclipse.jdt.core.binaries-I20190709-0610.tar.xz  eclipse.jdt.core.binaries-I20190709-0610.zip  Niraj Modi5 years I20190709-1800eclipse.jdt.core.binaries-I20190709-1800.tar.gz  eclipse.jdt.core.binaries-I20190709-1800.tar.xz  eclipse.jdt.core.binaries-I20190709-1800.zip  Niraj Modi5 years I20190710-0610eclipse.jdt.core.binaries-I20190710-0610.tar.gz  eclipse.jdt.core.binaries-I20190710-0610.tar.xz  eclipse.jdt.core.binaries-I20190710-0610.zip  Niraj Modi5 years I20190710-1800eclipse.jdt.core.binaries-I20190710-1800.tar.gz  eclipse.jdt.core.binaries-I20190710-1800.tar.xz  eclipse.jdt.core.binaries-I20190710-1800.zip  Niraj Modi5 years I20190711-0825eclipse.jdt.core.binaries-I20190711-0825.tar.gz  eclipse.jdt.core.binaries-I20190711-0825.tar.xz  eclipse.jdt.core.binaries-I20190711-0825.zip  Niraj Modi5 years I20190711-1120eclipse.jdt.core.binaries-I20190711-1120.tar.gz  eclipse.jdt.core.binaries-I20190711-1120.tar.xz  eclipse.jdt.core.binaries-I20190711-1120.zip  Niraj Modi5 years I20190711-1805eclipse.jdt.core.binaries-I20190711-1805.tar.gz  eclipse.jdt.core.binaries-I20190711-1805.tar.xz  eclipse.jdt.core.binaries-I20190711-1805.zip  Niraj Modi5 years I20190712-0625eclipse.jdt.core.binaries-I20190712-0625.tar.gz  eclipse.jdt.core.binaries-I20190712-0625.tar.xz  eclipse.jdt.core.binaries-I20190712-0625.zip  Niraj Modi5 years I20190712-1800eclipse.jdt.core.binaries-I20190712-1800.tar.gz  eclipse.jdt.core.binaries-I20190712-1800.tar.xz  eclipse.jdt.core.binaries-I20190712-1800.zip  Niraj Modi5 years I20190713-0230eclipse.jdt.core.binaries-I20190713-0230.tar.gz  eclipse.jdt.core.binaries-I20190713-0230.tar.xz  eclipse.jdt.core.binaries-I20190713-0230.zip  Niraj Modi5 years I20190713-1105eclipse.jdt.core.binaries-I20190713-1105.tar.gz  eclipse.jdt.core.binaries-I20190713-1105.tar.xz  eclipse.jdt.core.binaries-I20190713-1105.zip  Niraj Modi5 years I20190713-1800eclipse.jdt.core.binaries-I20190713-1800.tar.gz  eclipse.jdt.core.binaries-I20190713-1800.tar.xz  eclipse.jdt.core.binaries-I20190713-1800.zip  Niraj Modi5 years I20190714-1800eclipse.jdt.core.binaries-I20190714-1800.tar.gz  eclipse.jdt.core.binaries-I20190714-1800.tar.xz  eclipse.jdt.core.binaries-I20190714-1800.zip  Niraj Modi5 years I20190715-1800eclipse.jdt.core.binaries-I20190715-1800.tar.gz  eclipse.jdt.core.binaries-I20190715-1800.tar.xz  eclipse.jdt.core.binaries-I20190715-1800.zip  Niraj Modi5 years I20190716-1800eclipse.jdt.core.binaries-I20190716-1800.tar.gz  eclipse.jdt.core.binaries-I20190716-1800.tar.xz  eclipse.jdt.core.binaries-I20190716-1800.zip  Niraj Modi5 years I20190717-1800eclipse.jdt.core.binaries-I20190717-1800.tar.gz  eclipse.jdt.core.binaries-I20190717-1800.tar.xz  eclipse.jdt.core.binaries-I20190717-1800.zip  Niraj Modi5 years I20190718-1800eclipse.jdt.core.binaries-I20190718-1800.tar.gz  eclipse.jdt.core.binaries-I20190718-1800.tar.xz  eclipse.jdt.core.binaries-I20190718-1800.zip  Niraj Modi5 years I20190719-1800eclipse.jdt.core.binaries-I20190719-1800.tar.gz  eclipse.jdt.core.binaries-I20190719-1800.tar.xz  eclipse.jdt.core.binaries-I20190719-1800.zip  Niraj Modi5 years I20190720-1800eclipse.jdt.core.binaries-I20190720-1800.tar.gz  eclipse.jdt.core.binaries-I20190720-1800.tar.xz  eclipse.jdt.core.binaries-I20190720-1800.zip  Niraj Modi5 years I20190721-1800eclipse.jdt.core.binaries-I20190721-1800.tar.gz  eclipse.jdt.core.binaries-I20190721-1800.tar.xz  eclipse.jdt.core.binaries-I20190721-1800.zip  Niraj Modi5 years I20190722-1800eclipse.jdt.core.binaries-I20190722-1800.tar.gz  eclipse.jdt.core.binaries-I20190722-1800.tar.xz  eclipse.jdt.core.binaries-I20190722-1800.zip  Niraj Modi5 years I20190723-1800eclipse.jdt.core.binaries-I20190723-1800.tar.gz  eclipse.jdt.core.binaries-I20190723-1800.tar.xz  eclipse.jdt.core.binaries-I20190723-1800.zip  Niraj Modi5 years I20190724-1800eclipse.jdt.core.binaries-I20190724-1800.tar.gz  eclipse.jdt.core.binaries-I20190724-1800.tar.xz  eclipse.jdt.core.binaries-I20190724-1800.zip  Niraj Modi5 years I20190725-1800eclipse.jdt.core.binaries-I20190725-1800.tar.gz  eclipse.jdt.core.binaries-I20190725-1800.tar.xz  eclipse.jdt.core.binaries-I20190725-1800.zip  Niraj Modi5 years I20190726-1800eclipse.jdt.core.binaries-I20190726-1800.tar.gz  eclipse.jdt.core.binaries-I20190726-1800.tar.xz  eclipse.jdt.core.binaries-I20190726-1800.zip  Niraj Modi5 years I20190727-1800eclipse.jdt.core.binaries-I20190727-1800.tar.gz  eclipse.jdt.core.binaries-I20190727-1800.tar.xz  eclipse.jdt.core.binaries-I20190727-1800.zip  Niraj Modi5 years I20190728-1800eclipse.jdt.core.binaries-I20190728-1800.tar.gz  eclipse.jdt.core.binaries-I20190728-1800.tar.xz  eclipse.jdt.core.binaries-I20190728-1800.zip  Niraj Modi5 years I20190729-1800eclipse.jdt.core.binaries-I20190729-1800.tar.gz  eclipse.jdt.core.binaries-I20190729-1800.tar.xz  eclipse.jdt.core.binaries-I20190729-1800.zip  Niraj Modi5 years I20190730-1800eclipse.jdt.core.binaries-I20190730-1800.tar.gz  eclipse.jdt.core.binaries-I20190730-1800.tar.xz  eclipse.jdt.core.binaries-I20190730-1800.zip  Niraj Modi5 years I20190731-1800eclipse.jdt.core.binaries-I20190731-1800.tar.gz  eclipse.jdt.core.binaries-I20190731-1800.tar.xz  eclipse.jdt.core.binaries-I20190731-1800.zip  Niraj Modi5 years I20190801-0600eclipse.jdt.core.binaries-I20190801-0600.tar.gz  eclipse.jdt.core.binaries-I20190801-0600.tar.xz  eclipse.jdt.core.binaries-I20190801-0600.zip  Niraj Modi5 years I20190801-1800eclipse.jdt.core.binaries-I20190801-1800.tar.gz  eclipse.jdt.core.binaries-I20190801-1800.tar.xz  eclipse.jdt.core.binaries-I20190801-1800.zip  Niraj Modi5 years I20190802-1800eclipse.jdt.core.binaries-I20190802-1800.tar.gz  eclipse.jdt.core.binaries-I20190802-1800.tar.xz  eclipse.jdt.core.binaries-I20190802-1800.zip  Niraj Modi5 years I20190803-1800eclipse.jdt.core.binaries-I20190803-1800.tar.gz  eclipse.jdt.core.binaries-I20190803-1800.tar.xz  eclipse.jdt.core.binaries-I20190803-1800.zip  Niraj Modi5 years I20190804-1800eclipse.jdt.core.binaries-I20190804-1800.tar.gz  eclipse.jdt.core.binaries-I20190804-1800.tar.xz  eclipse.jdt.core.binaries-I20190804-1800.zip  Niraj Modi5 years I20190805-1800eclipse.jdt.core.binaries-I20190805-1800.tar.gz  eclipse.jdt.core.binaries-I20190805-1800.tar.xz  eclipse.jdt.core.binaries-I20190805-1800.zip  Niraj Modi5 years I20190806-1800eclipse.jdt.core.binaries-I20190806-1800.tar.gz  eclipse.jdt.core.binaries-I20190806-1800.tar.xz  eclipse.jdt.core.binaries-I20190806-1800.zip  Niraj Modi5 years I20190807-1800eclipse.jdt.core.binaries-I20190807-1800.tar.gz  eclipse.jdt.core.binaries-I20190807-1800.tar.xz  eclipse.jdt.core.binaries-I20190807-1800.zip  Niraj Modi5 years I20190808-1800eclipse.jdt.core.binaries-I20190808-1800.tar.gz  eclipse.jdt.core.binaries-I20190808-1800.tar.xz  eclipse.jdt.core.binaries-I20190808-1800.zip  Niraj Modi5 years I20190809-1800eclipse.jdt.core.binaries-I20190809-1800.tar.gz  eclipse.jdt.core.binaries-I20190809-1800.tar.xz  eclipse.jdt.core.binaries-I20190809-1800.zip  Niraj Modi5 years I20190810-1800eclipse.jdt.core.binaries-I20190810-1800.tar.gz  eclipse.jdt.core.binaries-I20190810-1800.tar.xz  eclipse.jdt.core.binaries-I20190810-1800.zip  Niraj Modi5 years I20190811-1800eclipse.jdt.core.binaries-I20190811-1800.tar.gz  eclipse.jdt.core.binaries-I20190811-1800.tar.xz  eclipse.jdt.core.binaries-I20190811-1800.zip  Niraj Modi5 years I20190812-1800eclipse.jdt.core.binaries-I20190812-1800.tar.gz  eclipse.jdt.core.binaries-I20190812-1800.tar.xz  eclipse.jdt.core.binaries-I20190812-1800.zip  Niraj Modi5 years I20190813-1800eclipse.jdt.core.binaries-I20190813-1800.tar.gz  eclipse.jdt.core.binaries-I20190813-1800.tar.xz  eclipse.jdt.core.binaries-I20190813-1800.zip  Niraj Modi5 years I20190814-1800eclipse.jdt.core.binaries-I20190814-1800.tar.gz  eclipse.jdt.core.binaries-I20190814-1800.tar.xz  eclipse.jdt.core.binaries-I20190814-1800.zip  Niraj Modi5 years I20190816-0155eclipse.jdt.core.binaries-I20190816-0155.tar.gz  eclipse.jdt.core.binaries-I20190816-0155.tar.xz  eclipse.jdt.core.binaries-I20190816-0155.zip  Niraj Modi5 years I20190816-1800eclipse.jdt.core.binaries-I20190816-1800.tar.gz  eclipse.jdt.core.binaries-I20190816-1800.tar.xz  eclipse.jdt.core.binaries-I20190816-1800.zip  Niraj Modi5 years I20190817-1800eclipse.jdt.core.binaries-I20190817-1800.tar.gz  eclipse.jdt.core.binaries-I20190817-1800.tar.xz  eclipse.jdt.core.binaries-I20190817-1800.zipationDelegate2 {
-
- /**
- * Constant to define debug.core for the status codes
- *
- * @since 3.2
- */
- private static final String DEBUG_CORE = "org.eclipse.debug.core"; //$NON-NLS-1$
-
- /**
- * Constant to define debug.ui for the status codes
- *
- * @since 3.2
- */
- private static final String DEBUG_UI = "org.eclipse.debug.ui"; //$NON-NLS-1$
-
- /**
- * Status code for which a UI prompter is registered.
- */
- protected static final IStatus promptStatus = new Status(IStatus.INFO, DEBUG_UI, 200, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /**
- * Status code for which a prompter is registered to ask the user if they
- * want to launch in debug mode when breakpoints are present.
- */
- protected static final IStatus switchToDebugPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 201, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /**
- * Status code for which a prompter is registered to ask the user if the
- * want to continue launch despite existing compile errors
- */
- protected static final IStatus complileErrorPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 202, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /**
- * Status code for which a prompter will ask the user to save any/all of the dirty editors which have only to do
- * with this launch (scoping them to the current launch/build)
- *
- * @since 3.2
- */
- protected static final IStatus saveScopedDirtyEditors = new Status(IStatus.INFO, DEBUG_CORE, 222, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /**
- * Status code for which a prompter is registered to ask the user if the
- * want to continue launch despite existing compile errors in specific
- * projects. This enhances the 'compileErrorPromptStatus' by specifying
- * which projects the errors exist in.
- *
- * @since 3.1
- */
- protected static final IStatus complileErrorProjectPromptStatus = new Status(IStatus.INFO, DEBUG_CORE, 203, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#getLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String)
- */
- public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#buildForLaunch(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
- */
- public boolean buildForLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
- if (monitor != null) {
- monitor.beginTask("", 1); //$NON-NLS-1$
- }
- try {
- IProject[] projects = getBuildOrder(configuration, mode);
- if (projects == null) {
- return true;
- }
- buildProjects(projects, new SubProgressMonitor(monitor, 1));
- return false;
- } finally {
- if (monitor != null) {
- monitor.done();
- }
- }
- }
-
- /**
- * Returns the projects to build before launching the given launch configuration
- * or <code>null</code> if the entire workspace should be built incrementally.
- * Subclasses should override as required.
- *
- * @param configuration the configuration being launched
- * @param mode launch mode
- * @return projects to build, in build order, or <code>null</code>
- * @throws CoreException if an exception occurs
- */
- protected IProject[] getBuildOrder(ILaunchConfiguration configuration, String mode) throws CoreException {
- return null;
- }
-
- /**
- * Returns the set of projects to use when searching for errors or <code>null</code>
- * if no search is to be done.
- *
- * @param configuration the configuration being launched
- * @param mode launch mode
- * @return a list of projects or <code>null</code>
- * @throws CoreException if an exception occurs
- */
- protected IProject[] getProjectsForProblemSearch(ILaunchConfiguration configuration, String mode) throws CoreException {
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#finalLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
- */
- public boolean finalLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("", 1); //$NON-NLS-1$
- try {
- IProject[] projects = getProjectsForProblemSearch(configuration, mode);
- if (projects == null) {
- return true; //continue launch
- }
- boolean continueLaunch = true;
-
- monitor.subTask(DebugCoreMessages.LaunchConfigurationDelegate_6);
- List errors = new ArrayList();
- for (int i = 0; i < projects.length; i++) {
- monitor.subTask(MessageFormat.format(DebugCoreMessages.LaunchConfigurationDelegate_7, new String[]{projects[i].getName()}));
- if (existsProblems(projects[i])) {
- errors.add(projects[i]);
- }
- }
- if (!errors.isEmpty()) {
- errors.add(0, configuration);
- IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
- if (prompter != null) {
- continueLaunch = ((Boolean) prompter.handleStatus(complileErrorProjectPromptStatus, errors)).booleanValue();
- }
- }
-
- return continueLaunch;
- } finally {
- monitor.done();
- }
- }
-
- /* (non-Javadoc)
- *
- * If launching in run mode, and the configuration supports debug mode, check
- * if there are any breakpoints in the workspace, and ask the user if they'd
- * rather launch in debug mode.
- * <p>
- * Since 3.2, this check also performs saving of resources before launching.
- * </p>
- *
- * @see org.eclipse.debug.core.model.ILaunchConfigurationDelegate2#preLaunchCheck(org.eclipse.debug.core.ILaunchConfiguration, java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
- */
- public boolean preLaunchCheck(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
- if (!saveBeforeLaunch(configuration, mode, monitor)) {
- return false;
- }
- if (mode.equals(ILaunchManager.RUN_MODE) && configuration.supportsMode(ILaunchManager.DEBUG_MODE)) {
- IBreakpoint[] breakpoints= getBreakpoints(configuration);
- if (breakpoints == null) {
- return true;
- }
- for (int i = 0; i < breakpoints.length; i++) {
- if (breakpoints[i].isEnabled()) {
- IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
- if (prompter != null) {
- boolean launchInDebugModeInstead = ((Boolean)prompter.handleStatus(switchToDebugPromptStatus, configuration)).booleanValue();
- if (launchInDebugModeInstead) {
- return false; //kill this launch
- }
- }
- // if no user prompt, or user says to continue (no need to check other breakpoints)
- return true;
- }
- }
- }
- // no enabled breakpoints... continue launch
- return true;
- }
-
- /**
- * Performs the scoped saving of resources before launching and returns whether
- * the launch should continue. By default, only resources contained within the projects
- * which are part of the build scope are considered.
- * <p>
- * Subclasses may override this method if required.
- * </p>
- *
- * @param configuration the configuration being launched
- * @param mode the launch mode
- * @param monitor progress monitor
- * @return whether the launch should continue
- * @throws CoreException if an exception occurs during the save
- * @since 3.2
- */
- protected boolean saveBeforeLaunch(ILaunchConfiguration configuration, String mode, IProgressMonitor monitor) throws CoreException {
- monitor.beginTask("", 1); //$NON-NLS-1$
- try {
- IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(promptStatus);
- if(prompter != null) {
- //do save here and remove saving from DebugUIPlugin to avoid it 'trumping' this save
- IProject[] buildOrder = getBuildOrder(configuration, mode);
- if(!((Boolean)prompter.handleStatus(saveScopedDirtyEditors, new Object[]{configuration, buildOrder})).booleanValue()) {
- return false;
- }
- }
- return true;
- } finally {
- monitor.done();
- }
- }
-
- /**
- * Returns the breakpoint collection that is relevant for this launch delegate.
- * By default this is all the breakpoints registered with the Debug breakpoint manager.
- *
- * @param configuration the configuration to get associated breakpoints for
- * @since 3.1
- * @return the breakpoints that are relevant for this launch delegate
- */
- protected IBreakpoint[] getBreakpoints(ILaunchConfiguration configuration) {
- IBreakpointManager breakpointManager = DebugPlugin.getDefault().getBreakpointManager();
- if (!breakpointManager.isEnabled()) {
- // no need to check breakpoints individually.
- return null;
- }
- return breakpointManager.getBreakpoints();
- }
-
- /**
- * Returns an array of projects in their suggested build order
- * containing all of the projects specified by <code>baseProjects</code>
- * and all of their referenced projects.
- *
- * @param baseProjects a collection of projects
- * @return an array of projects in their suggested build order
- * containing all of the projects specified by <code>baseProjects</code>
- * @throws CoreException if an error occurs while computing referenced
- * projects
- */
- protected IProject[] computeReferencedBuildOrder(IProject[] baseProjects) throws CoreException {
- HashSet unorderedProjects = new HashSet();
- for(int i = 0; i< baseProjects.length; i++) {
- unorderedProjects.add(baseProjects[i]);
- addReferencedProjects(baseProjects[i], unorderedProjects);
- }
- IProject[] projectSet = (IProject[]) unorderedProjects.toArray(new IProject[unorderedProjects.size()]);
- return computeBuildOrder(projectSet);
- }
-
-
- /**
- * Adds all projects referenced by <code>project</code> to the given
- * set.
- *
- * @param project project
- * @param references set to which referenced projects are added
- * @throws CoreException if an error occurs while computing referenced
- * projects
- */
- protected void addReferencedProjects(IProject project, Set references) throws CoreException{
- if (project.isOpen()) {
- IProject[] projects = project.getReferencedProjects();
- for (int i = 0; i < projects.length; i++) {
- IProject refProject= projects[i];
- if (refProject.exists() && !references.contains(refProject)) {
- references.add(refProject);
- addReferencedProjects(refProject, references);
- }
- }
- }
- }
-
- /**
- * Returns a list of projects in their suggested build order from the
- * given unordered list of projects.
- *
- * @param projects the list of projects to sort into build order
- * @return a new array containing all projects from <code>projects</code> sorted
- * according to their build order.
- */
- protected IProject[] computeBuildOrder(IProject[] projects) {
- String[] orderedNames = ResourcesPlugin.getWorkspace().getDescription().getBuildOrder();
- if (orderedNames != null) {
- List orderedProjects = new ArrayList(projects.length);
- //Projects may not be in the build order but should be built if selected
- List unorderedProjects = new ArrayList(projects.length);
- for(int i = 0; i < projects.length; ++i) {
- unorderedProjects.add(projects[i]);
- }
-
- for (int i = 0; i < orderedNames.length; i++) {
- String projectName = orderedNames[i];
- for (Iterator iterator = unorderedProjects.iterator(); iterator.hasNext(); ) {
- IProject project = (IProject)iterator.next();
- if (project.getName().equals(projectName)) {
- orderedProjects.add(project);
- iterator.remove();
- break;
- }
- }
- }
- //Add anything not specified before we return
- orderedProjects.addAll(unorderedProjects);
- return (IProject[]) orderedProjects.toArray(new IProject[orderedProjects.size()]);
- }
-
- // Computing build order returned null, try the project prerequisite order
- IWorkspace.ProjectOrder po = ResourcesPlugin.getWorkspace().computeProjectOrder(projects);
- return po.projects;
- }
-
- /**
- * Returns whether the given project contains any problem markers of the
- * specified severity.
- *
- * @param proj the project to search
- * @return whether the given project contains any problems that should
- * stop it from launching
- * @throws CoreException if an error occurs while searching for
- * problem markers
- */
- protected boolean existsProblems(IProject proj) throws CoreException {
- IMarker[] markers = proj.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
- if (markers.length > 0) {
- for (int i = 0; i < markers.length; i++) {
- if (isLaunchProblem(markers[i])) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Returns whether the given problem should potentially abort the launch.
- * By default if the problem has an error severity, the problem is considered
- * a potential launch problem. Subclasses may override to specialize error
- * detection.
- *
- * @param problemMarker candidate problem
- * @return whether the given problem should potentially abort the launch
- * @throws CoreException if any exceptions occur while accessing marker attributes
- */
- protected boolean isLaunchProblem(IMarker problemMarker) throws CoreException {
- Integer severity = (Integer)problemMarker.getAttribute(IMarker.SEVERITY);
- if (severity != null) {
- return severity.intValue() >= IMarker.SEVERITY_ERROR;
- }
-
- return false;
- }
-
- /**
- * Performs an incremental build on each of the given projects.
- *
- * @param projects projects to build
- * @param monitor progress monitor
- * @throws CoreException if an exception occurs while building
- */
- protected void buildProjects(final IProject[] projects, IProgressMonitor monitor) throws CoreException {
- IWorkspaceRunnable build = new IWorkspaceRunnable(){
- public void run(IProgressMonitor pm) throws CoreException {
- SubMonitor localmonitor = SubMonitor.convert(pm, DebugCoreMessages.LaunchConfigurationDelegate_scoped_incremental_build, projects.length);
- try {
- for (int i = 0; i < projects.length; i++ ) {
- if (localmonitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- projects[i].build(IncrementalProjectBuilder.INCREMENTAL_BUILD, localmonitor.newChild(1));
- }
- } finally {
- localmonitor.done();
- }
- }
- };
- ResourcesPlugin.getWorkspace().run(build, monitor);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
deleted file mode 100644
index 94f04baa8..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/LineBreakpoint.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.CoreException;
-
-
-/**
- * Abstract implementation of a line breakpoint. This class is
- * intended to be subclassed by debug model specific implementations
- * of line breakpoints.
- *
- * @see ILineBreakpoint
- */
-
-public abstract class LineBreakpoint extends Breakpoint implements ILineBreakpoint {
-
-
- /**
- * @see ILineBreakpoint#getLineNumber()
- */
- public int getLineNumber() throws CoreException {
- IMarker m = getMarker();
- if (m != null) {
- return m.getAttribute(IMarker.LINE_NUMBER, -1);
- }
- return -1;
- }
-
- /**
- * @see ILineBreakpoint#getCharStart()
- */
- public int getCharStart() throws CoreException {
- IMarker m = getMarker();
- if (m != null) {
- return m.getAttribute(IMarker.CHAR_START, -1);
- }
- return -1;
- }
-
- /**
- * @see ILineBreakpoint#getCharEnd()
- */
- public int getCharEnd() throws CoreException {
- IMarker m = getMarker();
- if (m != null) {
- return m.getAttribute(IMarker.CHAR_END, -1);
- }
- return -1;
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
deleted file mode 100644
index 6498ec379..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/MemoryByte.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-/**
- * A byte of memory in a memory block. Each byte of memory has a value and
- * attributes indicating if the byte is read-only, valid, or if its value has
- * changed.
- * <p>
- * Clients may instantiate this class. Clients may subclass this class to
- * add other attributes to a memory byte, as required.
- * </p>
- * @since 3.1
- * @see org.eclipse.debug.core.model.IMemoryBlockExtension
- */
-public class MemoryByte {
-
- /**
- * Bit mask used to indicate a byte is writable.
- */
- public static final byte WRITABLE = 0x01;
-
- /**
- * Bit mask used to indicate a byte is readable.
- * A memory byte is readable when its value and attributes are retrievable.
- * Otherwise, a byte is considered non-readable.
- */
- public static final byte READABLE = 0x02;
-
- /**
- * Bit mask used to indicate a byte has changed since the last
- * suspend event.
- *
- * @see org.eclipse.debug.core.DebugEvent#SUSPEND
- */
- public static final byte CHANGED = 0x04;
-
- /**
- * Bit mask used to indicate a memory byte has history to
- * determine if its value has changed. When a memory byte's
- * history is unknown, the change state has no meaning.
- */
- public static final byte HISTORY_KNOWN = 0x08;
-
- /**
- * Bit mask used to indicate a this byte of memory
- * is big endian. If this byte of memory is little endian,
- * turn this bit mask to off.
- */
- public static final byte BIG_ENDIAN = 0x10;
-
- /**
- * Bit mask used to indicate that the endianess of this byte
- * of memory is known. When a memory byte's endianess is
- * unknown, the endianess of this byte has no meaning.
- */
- public static final byte ENDIANESS_KNOWN = 0x20;
-
- /**
- * Value of this byte.
- */
- protected byte value;
-
- /**
- * Attribute flags.
- * <p>
- * To specify READABLE: flags |= MemoryByte.READABLE;
- * To specify WRITABLE: flags |= MemoryByte.WRITABLE;
- * </p>
- */
- protected byte flags;
-
- /**
- * Constructs a readable, writable memory byte without a change history,
- * and a value of 0. The byte's endianess is known and is little endian
- * by default.
- */
- public MemoryByte() {
- this((byte)0, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
- }
-
- /**
- * Constructs a readable, writable memory byte without a change history,
- * with the given value. The byte's endianess is known and is little endian
- * by default.
- *
- * @param byteValue value of this memory byte
- *
- */
- public MemoryByte(byte byteValue) {
- this(byteValue, (byte)(WRITABLE | READABLE | ENDIANESS_KNOWN));
- }
-
- /**
- * Constructs a memory byte with the given value and attributes.
- *
- * @param byteValue value of this memory byte
- * @param byteFlags attributes of the byte specified as a bit mask
- */
- public MemoryByte(byte byteValue, byte byteFlags) {
- value = byteValue;
- flags = byteFlags;
- }
-
- /**
- * Returns this memory byte's attribute as a bit mask.
- *
- * @return this memory byte's attribute as a bit mask
- */
- public byte getFlags() {
- return flags;
- }
- /**
- * Sets this memory byte's attributes based on the given bit mask.
- *
- * @param flags bit mask of attributes
- */
- public void setFlags(byte flags) {
- this.flags = flags;
- }
-
- /**
- * Returns the value of this memory byte.
- *
- * @return the value of this memory byte
- */
- public byte getValue() {
- return value;
- }
-
- /**
- * Sets the value of this memory byte.
- *
- * @param value the new value of this memory byte
- */
- public void setValue(byte value) {
- this.value = value;
- }
-
- /**
- * Sets whether this memory byte is readable. A memory byte
- * is considered readable when its value and attributes are
- * retrievable.
- *
- * @param readable whether this memory byte is readable
- */
- public void setReadable(boolean readable) {
- flags |= MemoryByte.READABLE;
- if (!readable)
- flags ^= MemoryByte.READABLE;
- }
-
- /**
- * Returns whether this memory byte is readable. A memory byte
- * is considered readable when its value and attributes are
- * retrievable.
- *
- * @return whether this memory byte is readable
- */
- public boolean isReadable() {
- return ((flags & MemoryByte.READABLE) == MemoryByte.READABLE);
- }
-
- /**
- * Sets whether this memory byte is writable.
- *
- * @param writable whether this memory byte is writable.
- */
- public void setWritable(boolean writable) {
- flags |= MemoryByte.WRITABLE;
- if (!writable)
- flags ^= MemoryByte.WRITABLE;
- }
-
- /**
- * Returns whether this memory byte is writable.
- *
- * @return whether this memory byte is writable
- */
- public boolean isWritable() {
- return ((flags & MemoryByte.WRITABLE) == MemoryByte.WRITABLE);
- }
-
- /**
- * Sets whether this memory byte has changed.
- *
- * @param changed whether this memory byte has changed
- */
- public void setChanged(boolean changed) {
- flags |= MemoryByte.CHANGED;
- if (!changed)
- flags ^= MemoryByte.CHANGED;
- }
-
- /**
- * Returns whether this memory byte has changed.
- *
- * @return whether this memory byte has changed
- */
- public boolean isChanged() {
- return ((flags & MemoryByte.CHANGED) == MemoryByte.CHANGED);
- }
-
- /**
- * Sets whether the history of this byte is known. When history
- * is unknown, the change state of a memory byte has no meaning.
- *
- * @param known whether the change state of this byte is known
- */
- public void setHistoryKnown(boolean known) {
- flags |= MemoryByte.HISTORY_KNOWN;
- if (!known)
- flags ^= MemoryByte.HISTORY_KNOWN;
- }
-
- /**
- * Returns whether the history of this byte is known. When history
- * is unknown, the change state of a memory byte has no meaning.
- *
- * @return whether the change state of this byte is known
- */
- public boolean isHistoryKnown() {
- return ((flags & MemoryByte.HISTORY_KNOWN) == MemoryByte.HISTORY_KNOWN);
- }
-
- /**
- * Sets whether this byte of memory is big endian.
- *
- * @param isBigEndian whether the byte of memory is big endian.
- */
- public void setBigEndian(boolean isBigEndian)
- {
- flags |= MemoryByte.BIG_ENDIAN;
- if (!isBigEndian)
- flags ^= MemoryByte.BIG_ENDIAN;
- }
-
- /**
- * Returns whether this byte of memory is big endian.
- *
- * @return whether the byte of memory is big endian.
- */
- public boolean isBigEndian()
- {
- return ((flags & MemoryByte.BIG_ENDIAN) == MemoryByte.BIG_ENDIAN);
- }
-
- /**
- * Sets whether the endianess of this byte of memory is known.
- * If the endianess is unknown, the endianess of this byte
- * has no meaning.
- *
- * @param isEndianessKnown whether the endianess of this byte is known.
- */
- public void setEndianessKnown(boolean isEndianessKnown)
- {
- flags |= MemoryByte.ENDIANESS_KNOWN;
- if (!isEndianessKnown)
- flags ^= MemoryByte.ENDIANESS_KNOWN;
- }
-
- /**
- * Returns whether the endianess of this byte of memory is known.
- * If the endianess is unknown, the endianess of this byte
- * has no meaning.
- *
- * @return whether the endianess of this byte of memory is known.
- */
- public boolean isEndianessKnown()
- {
- return ((flags & MemoryByte.ENDIANESS_KNOWN) == MemoryByte.ENDIANESS_KNOWN);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
deleted file mode 100644
index 1a8b8fe25..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/RuntimeProcess.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.model;
-
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.NullStreamsProxy;
-import org.eclipse.debug.internal.core.StreamsProxy;
-
-
-/**
- * Standard implementation of an <code>IProcess</code> that wrappers a system
- * process (<code>java.lang.Process</code>).
- * <p>
- * Clients may subclass this class. Clients that need to replace the implementation
- * of a streams proxy associated with an <code>IProcess</code> should subclass this
- * class. Generally clients should not instantiate this class directly, but should
- * instead call <code>DebugPlugin.newProcess(...)</code>, which can delegate to an
- * <code>IProcessFactory</code> if one is referenced by the associated launch configuration.
- * </p>
- * @see org.eclipse.debug.core.model.IProcess
- * @see org.eclipse.debug.core.IProcessFactory
- * @since 3.0
- */
-public class RuntimeProcess extends PlatformObject implements IProcess {
-
- private static final int MAX_WAIT_FOR_DEATH_ATTEMPTS = 10;
- private static final int TIME_TO_WAIT_FOR_THREAD_DEATH = 500; // ms
-
- /**
- * The launch this process is contained in
- */
- private ILaunch fLaunch;
-
- /**
- * The system process represented by this <code>IProcess</code>
- */
- private Process fProcess;
-
- /**
- * This process's exit value
- */
- private int fExitValue;
-
- /**
- * The monitor which listens for this runtime process' system process
- * to terminate.
- */
- private ProcessMonitorThread fMonitor;
-
- /**
- * The streams proxy for this process
- */
- private IStreamsProxy fStreamsProxy;
-
- /**
- * The name of the process
- */
- private String fName;
-
- /**
- * Whether this process has been terminated
- */
- private boolean fTerminated;
-
- /**
- * Table of client defined attributes
- */
- private Map fAttributes;
-
- /**
- * Whether output from the process should be captured or swallowed
- */
- private boolean fCaptureOutput = true;
-
- /**
- * Constructs a RuntimeProcess on the given system process
- * with the given name, adding this process to the given
- * launch.
- *
- * @param launch the parent launch of this process
- * @param process underlying system process
- * @param name the label used for this process
- * @param attributes map of attributes used to initialize the attributes
- * of this process, or <code>null</code> if none
- */
- public RuntimeProcess(ILaunch launch, Process process, String name, Map attributes) {
- setLaunch(launch);
- initializeAttributes(attributes);
- fProcess= process;
- fName= name;
- fTerminated= true;
- try {
- fExitValue = process.exitValue();
- } catch (IllegalThreadStateException e) {
- fTerminated= false;
- }
-
- String captureOutput = launch.getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT);
- fCaptureOutput = !("false".equals(captureOutput)); //$NON-NLS-1$
-
- fStreamsProxy= createStreamsProxy();
- fMonitor = new ProcessMonitorThread(this);
- fMonitor.start();
- launch.addProcess(this);
- fireCreationEvent();
- }
-
- /**
- * Initialize the attributes of this process to those in the given map.
- *
- * @param attributes attribute map or <code>null</code> if none
- */
- private void initializeAttributes(Map attributes) {
- if (attributes != null) {
- Iterator keys = attributes.keySet().iterator();
- while (keys.hasNext()) {
- String key = (String)keys.next();
- setAttribute(key, (String)attributes.get(key));
- }
- }
- }
-
- /**
- * @see ITerminate#canTerminate()
- */
- public synchronized boolean canTerminate() {
- return !fTerminated;
- }
-
- /**
- * @see IProcess#getLabel()
- */
- public String getLabel() {
- return fName;
- }
-
- /**
- * Sets the launch this process is contained in
- *
- * @param launch the launch this process is contained in
- */
- protected void setLaunch(ILaunch launch) {
- fLaunch = launch;
- }
-
- /**
- * @see IProcess#getLaunch()
- */
- public ILaunch getLaunch() {
- return fLaunch;
- }
-
- /**
- * Returns the underlying system process associated with this process.
- *
- * @return system process
- */
- protected Process getSystemProcess() {
- return fProcess;
- }
-
- /**
- * @see ITerminate#isTerminated()
- */
- public synchronized boolean isTerminated() {
- return fTerminated;
- }
-
- /**
- * @see ITerminate#terminate()
- */
- public void terminate() throws DebugException {
- if (!isTerminated()) {
- if (fStreamsProxy instanceof StreamsProxy) {
- ((StreamsProxy)fStreamsProxy).kill();
- }
- Process process = getSystemProcess();
- if (process != null) {
- process.destroy();
- }
- int attempts = 0;
- while (attempts < MAX_WAIT_FOR_DEATH_ATTEMPTS) {
- try {
- process = getSystemProcess();
- if (process != null) {
- fExitValue = process.exitValue(); // throws exception if process not exited
- }
- return;
- } catch (IllegalThreadStateException ie) {
- }
- try {
- Thread.sleep(TIME_TO_WAIT_FOR_THREAD_DEATH);
- } catch (InterruptedException e) {
- }
- attempts++;
- }
- // clean-up
- if (fMonitor != null) {
- fMonitor.killThread();
- fMonitor = null;
- }
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_terminate_failed, null);
- throw new DebugException(status);
- }
- }
-
- /**
- * Notification that the system process associated with this process
- * has terminated.
- */
- protected void terminated() {
- if (fStreamsProxy instanceof StreamsProxy) {
- ((StreamsProxy)fStreamsProxy).close();
- }
-
-
- // Avoid calling IProcess.exitValue() inside a sync section (Bug 311813).
- int exitValue = -1;
- boolean running = false;
- try {
- exitValue = fProcess.exitValue();
- } catch (IllegalThreadStateException ie) {
- running = true;
- }
-
- synchronized (this) {
- fTerminated= true;
- if (!running) {
- fExitValue = exitValue;
- }
- fProcess= null;
- }
- fireTerminateEvent();
- }
-
- /**
- * @see IProcess#getStreamsProxy()
- */
- public IStreamsProxy getStreamsProxy() {
- if (!fCaptureOutput) {
- return null;
- }
- return fStreamsProxy;
- }
-
- /**
- * Creates and returns the streams proxy associated with this process.
- *
- * @return streams proxy
- */
- protected IStreamsProxy createStreamsProxy() {
- if (!fCaptureOutput) {
- return new NullStreamsProxy(getSystemProcess());
- }
- String encoding = getLaunch().getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING);
- return new StreamsProxy(getSystemProcess(), encoding);
- }
-
- /**
- * Fires a creation event.
- */
- protected void fireCreationEvent() {
- fireEvent(new DebugEvent(this, DebugEvent.CREATE));
- }
-
- /**
- * Fires the given debug event.
- *
- * @param event debug event to fire
- */
- protected void fireEvent(DebugEvent event) {
- DebugPlugin manager= DebugPlugin.getDefault();
- if (manager != null) {
- manager.fireDebugEventSet(new DebugEvent[]{event});
- }
- }
-
- /**
- * Fires a terminate event.
- */
- protected void fireTerminateEvent() {
- fireEvent(new DebugEvent(this, DebugEvent.TERMINATE));
- }
-
- /**
- * Fires a change event.
- */
- protected void fireChangeEvent() {
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE));
- }
-
- /**
- * @see IProcess#setAttribute(String, String)
- */
- public void setAttribute(String key, String value) {
- if (fAttributes == null) {
- fAttributes = new HashMap(5);
- }
- Object origVal = fAttributes.get(key);
- if (origVal != null && origVal.equals(value)) {
- return; //nothing changed.
- }
-
- fAttributes.put(key, value);
- fireChangeEvent();
- }
-
- /**
- * @see IProcess#getAttribute(String)
- */
- public String getAttribute(String key) {
- if (fAttributes == null) {
- return null;
- }
- return (String)fAttributes.get(key);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- if (adapter.equals(IProcess.class)) {
- return this;
- }
- if (adapter.equals(IDebugTarget.class)) {
- ILaunch launch = getLaunch();
- IDebugTarget[] targets = launch.getDebugTargets();
- for (int i = 0; i < targets.length; i++) {
- if (this.equals(targets[i].getProcess())) {
- return targets[i];
- }
- }
- return null;
- }
- if (adapter.equals(ILaunch.class)) {
- return getLaunch();
- }
- //CONTEXTLAUNCHING
- if(adapter.equals(ILaunchConfiguration.class)) {
- return getLaunch().getLaunchConfiguration();
- }
- return super.getAdapter(adapter);
- }
- /**
- * @see IProcess#getExitValue()
- */
- public synchronized int getExitValue() throws DebugException {
- if (isTerminated()) {
- return fExitValue;
- }
- throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.TARGET_REQUEST_FAILED, DebugCoreMessages.RuntimeProcess_Exit_value_not_available_until_process_terminates__1, null));
- }
-
- /**
- * Monitors a system process, waiting for it to terminate, and
- * then notifies the associated runtime process.
- */
- class ProcessMonitorThread extends Thread {
-
- /**
- * Whether the thread has been told to exit.
- */
- protected boolean fExit;
- /**
- * The underlying <code>java.lang.Process</code> being monitored.
- */
- protected Process fOSProcess;
- /**
- * The <code>IProcess</code> which will be informed when this
- * monitor detects that the underlying process has terminated.
- */
- protected RuntimeProcess fRuntimeProcess;
-
- /**
- * The <code>Thread</code> which is monitoring the underlying process.
- */
- protected Thread fThread;
-
- /**
- * A lock protecting access to <code>fThread</code>.
- */
- private final Object fThreadLock = new Object();
-
- /**
- * @see Thread#run()
- */
- public void run() {
- synchronized (fThreadLock) {
- if (fExit) {
- return;
- }
- fThread = Thread.currentThread();
- }
- while (fOSProcess != null) {
- try {
- fOSProcess.waitFor();
- } catch (InterruptedException ie) {
- // clear interrupted state
- Thread.interrupted();
- } finally {
- fOSProcess = null;
- fRuntimeProcess.terminated();
- }
- }
- fThread = null;
- }
-
- /**
- * Creates a new process monitor and starts monitoring the process for
- * termination.
- *
- * @param process process to monitor for termination
- */
- public ProcessMonitorThread(RuntimeProcess process) {
- super(DebugCoreMessages.ProcessMonitorJob_0);
- setDaemon(true);
- fRuntimeProcess= process;
- fOSProcess= process.getSystemProcess();
- }
-
- /**
- * Kills the monitoring thread.
- *
- * This method is to be useful for dealing with the error
- * case of an underlying process which has not informed this
- * monitor of its termination.
- */
- protected void killThread() {
- synchronized (fThreadLock) {
- if (fThread == null) {
- fExit = true;
- } else {
- fThread.interrupt();
- }
- }
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
deleted file mode 100644
index 6192e28d6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/model/package.html
+++ /dev/null
@@ -1,146 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform [org.eclipse.debug.core.model]</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Defines interfaces for debug model elements, source lookup, and launching.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package defines classes and interfaces known as the &quot;debug model&quot;
- which support an extensible set of debug architectures and languages. The debug
- model is a set of interfaces representing common artifacts in debuggable programs.
- The debug plug-in itself does not provide an implementation of a debug model.
- It is intended that third parties providing an integrated set of development
- tools for a specific language will also implement a debug model for that language,
- using an underlying debug architecture of their choice. For example, Java development
- tooling provides an implementation of a debug model based on the standard Java
- Platform Debug Architecture (JPDA).</p>
-
-<h4>The Debug Model</h4>
-
-<p>A client implements a debug model by
-providing an implementation of the interfaces defined in this package. (There is no explicit
-extension point that represents a debug model). Each debug model provides one or more
-launch configuration types capable of initiating a debug session.</p>
-
-<p>The common elements defined by the debug model are:
-
-<ul>
- <li>Debug Target - A debug target represents a debuggable program - for example, a virtual
- machine or a process.</li>
- <li>Thread - A debug target may contain one or more threads.</li>
- <li>Stack Frame - A suspended thread may contain one or more stack frames.</li>
- <li>Variable - A stack frame may contain variables.</li>
- <li>Value - Each variable has an associated value, and a value may contain more variables (to
- represent complex data structures and objects).</li>
- <li>Register Group - A stack frame may (optionally) be associated with one or more register
- groups.</li>
- <li>Register - A register group contains one or more registers.</li>
- <li>Memory Blocks - A debug target may (optionally) support the retrieval of
- arbitrary contiguous segments of memory.</li>
- <li>Breakpoint - Breakpoints suspend the execution of a program.</li>
- <li>Expression - An expression is a snippet of code that can be evaluated to
- produce a value.</li>
-</ul>
-
-<p>A debug model implementation is responsible for firing debug events. A debug event
-corresponds to an event in a program being debugged - for example the creation or
-termination of a thread.</p>
-
-<h4>Breakpoints</h4>
-
-<p>Breakpoints are used to suspend the execution of a program being debugged. There are
-many kinds of breakpoints - line breakpoints, conditional line breakpoints, hit count
-breakpoints, exception breakpoints, etc. The kinds of breakpoints supported by each debug
-architecture, and the information required to create those breakpoints
-is dictated by each debug architecture. The debug platform supports an extensible
-set of breakpoint via the breakpoints extension point.</p>
-
-<p>The debug platform provides a breakpoint manager that maintains the collection
- of all registered breakpoints. Clients add and remove breakpoints via this manager.
- Breakpoints are implemented by instances of <b>IBreakpoint</b>. Each breakpoint
- object has an associated marker, which provides persistence and presentation
- in editors. The debug platform defines a generic breakpoint and line breakpoint,
- as well as their corresponding marker definitions. Breakpoint creation is a
- client responsibility - that is, defining the attributes of a breakpoint and
- the resource to associate a breakpoint marker with.</p>
-
-<p>Breakpoints are persisted via their underlying marker. Breakpoint markers defined
- with the <b>persisted</b> attribute as <b>false</b> will not be persisted. Breakpoints
- are restored at workspace startup time by the breakpoint manager - that is,
- breakpoint objects are created for all persisted markers which are a subtype
- of the root breakpoint marker and are added to the breakpoint manager. To allow
- for selective persistence of breakpoints (of the same kind), the <b>IBreakpoint</b>
- interface and root breakpoint implementation defines a &quot;persisted&quot;
- attribute. If this value is set to false, the breakpoint will not be persisted
- across workspace invocations.</p>
-
-<p>As breakpoint markers are modified (created, removed, and changed), resource
- deltas are created by the platform. The breakpoint manager translates pertinent
- resource deltas into breakpoint change notifications (breakpoint added/removed/changed
- messages). Interested listeners may register with the breakpoint manager. The
- breakpoint manager only fires change notifications for registered breakpoints.
- This simplifies breakpoint processing for clients, as resource delta traversal
- and analysis is not required. Debug targets that support breakpoints should
- register for breakpoint change notifications.</p>
-<h4>New Features in the Debug Model, Eclipse 3.0</h4>
-<blockquote>
- <h4>Launch Delegate Enhancements<br>
- </h4>
- <p>Lanuch delegates can optionally implement the new interface <code>ILaunchConfigurationDelegate2</code>.
- This allows launch delegates to provide a launch object to be used for a launch.
- For example, when debugging on a server a delegate could create a new launch
- object or may reuse an existing launch object if the server is already running
- in debug mode. As well, the inteface provides a mechanism for performing a
- scoped build prior to launching (i.e. scoped to the projects in the workspace
- pertaining to the launch), and searching for errors in the workspace which
- may prevent the launch from succeeding (for example, compilation errors).</p>
- <p></p>
- <h4>Extensible Watch Expressions</h4>
- <p>The debug platform provides an implementation of watch expressions. Debug
- models can contribute watch expression delegates if they support watch expressions.
- When a stack frame is selected, the associated delegate is queried to provide
- a value for a watch expression in that context. The debug platform provides
- persistence, enabling, disabling, entering, and editing of watch expressions.</p>
- <h4>Automatic Array Partitioning<br>
- </h4>
- <p>The debug plug-in supports automatic partitioning of indexed collections,
- which partitions large arrays into sub-ranges in the variables view. This
- is supported with the introduction of a new interface in the debug model representing
- an indexed value - <code>IIndexedValue</code>. If a value implements this
- interface, the variables view will automatically partition its elements as
- required, into sub-ranges</p>
- <h4>Logical Structure Types<br>
- </h4>
- <p>Often, it is convenient to navigate complex data structures in terms of a
- logical structure, rather than an implementation structure. For example, no
- matter how a list is implemented (i.e. linked list, collection of arrays,
- etc.), it is often convenient to be able to view the list as an ordered collection.
- To facilitate the display of logical structures in the variables view, an
- extension point has been added (<code>org.eclipse.debug.core.logicalStructureTypes</code>)
- allowing debug models to contribute logical structures of its values, where
- applicable. Debug models may contribute delegates to translate raw implementation
- values into logical values. The variables view will display the logical values,
- when the option to display logical structures is turned on. More than one
- logical structure can be provided for a single value - the user can choose
- which structure to display.</p>
- <h4>Step Filters<br>
- </h4>
- <p>To support step filters on all stepping functions (into, over, return), a
- new interface has been added to the debug platform - <code>IStepFilters</code>
- - which can be implemented by debug targets. This interface replaces <code>IFilteredStep</code>,
- which is now deprecated. The debugger provides a global toggle that turns
- step filters on/off for all stepping functions. Debug targets should implement
- this new interface and honor the step filter enablement setting when stepping.</p>
- <p>This change maintains binary compatibility with previous releases. However,
- targets wishing to leverage the new function must implement the new interface.<br>
- </p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
deleted file mode 100644
index 069ad320f..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/package.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for launching programs, breakpoint management, expression management,
-and debug events.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support facilities common among
- many debug architectures: launching programs, breakpoint management, expression
- management, and debug events. An extensible set of debug architectures and languages
- are supported by the definition of a &quot;debug model&quot; - a set of interfaces
- representing common artifacts in debuggable programs, which are defined in <b>org.eclipse.debug.core.model</b>.
- The debug plug-in itself does not provide an implementation of a debug model.
- It is intended that third parties providing an integrated set of development
- tools for a specific language will also implement a debug model for that language,
- using an underlying debug architecture of their choice. For example, Java development
- tooling provides an implementation of a debug model based on the standard Java
- Platform Debug Architecture (JPDA).</p>
-
-<h4>The Managers</h4>
-
-<p>The debug platform defines and provides an implementation of the following managers:
-<ul>
- <li>Launch Manager - The launch manager maintains the set of registered launches
- - that is, a collection of programs that have been launched in debuggable
- or non-debuggable (run) mode. Each launch contains its associated debug targets
- and system processes. A launch that represents a debuggable program may specify
- an associated source locator used to locate source elements associated with
- stack frames for a particular debug session. Clients may provide implementations
- of source locators, which are generally tied to the manner in which a program
- is launched.</li>
- <li>Breakpoint Manager - The breakpoint manager maintains, persists, and restores the collection
- of all registered breakpoints in the workspace. As well, it provides change notification for
- breakpoints.</li>
- <li>Expression Manager - The expression manager maintains a collection of registered expressions.
- Expressions are not automatically persisted, but a client could persist its own expressions
- if required.</li>
-</ul>
-<p></p>
-
-<h4>Launch Configurations</h4>
-
-<p>A launch configuration is a persistable description of how to launch an application.
- Each launch configuration is an instance of a type of launch configuration -
- for example, a Java Application. The debug plug-in defines a launch configuration
- type extension point that clients can contribute to. A launch configuration
- is a set of attributes describing how to launch a program. The launching of
- an application is performed by an associated implementation of a launch configuration
- delegate, contributed by each launch configuration type extension.</p>
-<p>A launch configuration may be stored as a file in the worksapce (and shared
- in a repository via standard team mechanisms), or may be stored locally, essentially
- making the launch configuration private for a single user.</p>
-<h4>New Features in the Debug Platform, Eclipse 3.0</h4>
-<blockquote>
- <h4>Extensible Launch Modes</h4>
- <p>The debug platform supports an extensible set of launch modes. Prior releases
- only supported two launch modes - run and debug. The debug platform defines
- an extension point for contributing new launch modes (<code>org.eclipse.debug.core.launchModes)</code>,
- and contributes three basic launch modes itself: run, debug, and profile.
- The launch manager has API to retrieve all launch modes, and a human readable
- label for each launch mode.</p>
- <p>The debug platform has an extension point to support the contribution of
- a launch delegate for a specific launch configuration type and launch mode
- - <code>org.eclipse.debug.core.launchDelegates</code>. This allows launch
- configurations to be extended by third parties, to support new launch modes.
- For example, a client could contribute a launch delegate that launches a Java
- Application in profile mode (currently, the SDK does not provide a Java profiler).</p>
- <p>For backwards compatibility, the launch delegate supplied by a launch configuration
- type extension is used for the launch modes specified by the launch configuration
- type. A launch delegate supplied for a specific mode, is used only for that
- mode.</p>
- <h4>Extensible Debug Events</h4>
- <p>The debug platform supports an extensible set of debug events. A debug event
- kind of <code>MODEL_SPECIFIC</code> has been added to indicate an application
- specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code>
- is created, the detail code in the event is client defined. The source of
- the event (debug element that generated the event) identifies the debug model
- from which the event was generated. The debug platform and user interface
- ignores model specific debug events.</p>
- <p>A data field has been added to debug events to allow clients to store application
- specific data in debug events.<br>
- </p>
- <h4>Process Factories<br>
- </h4>
- <p>The debug platform provides an extension point (<code>org.eclipse.debug.core.processFactories</code>)
- for contributing process factories. A process factory can be used to override
- default process creation for a launch configuration when the debug plug-in
- creates a new process. A launch configuration can specify a process factory
- to use when creating a process, via the launch configuration attribute<code>
- DebugPlugin.ATTR_PROCESS_FACTORY_ID</code>.</p>
- <h4>Launch Termination Notification<br>
- </h4>
- <p>The debug platform provides a mechanism for launch listeners to be notified
- when a launch terminates. A launch is a container of processes and debug targets.
- When all of the contained targets and processes terminate, a terminate notification
- is sent to those listeners implementing <code>ILaunchesListener2</code>.</p>
- <h4>Breakpoint Manager Enablement<br>
- </h4>
- <p>The breakpoint manager defines the methods <code>setEnabled(boolean)</code>
- and <code>isEnabled()</code>. When the breakpoint manager is disabled, debuggers
- should ignore all registered breakpoints. The debug platform also provides
- a new listener mechanism, <code>IBreakpointManagerListener</code> which allows
- clients to register with the breakpoint manager to be notified when its enablement
- changes.</p>
-</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
deleted file mode 100644
index 1060e589c..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupDirector.java
+++ /dev/null
@@ -1,788 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * QNX Software Systems - Mikhail Khodjaiants - Bug 88232
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Directs source lookup among a collection of source lookup participants,
- * and a common collection of source containers.
- * Each source lookup participant is a source locator itself, which allows
- * more than one source locator to participate in source lookup for a
- * launch. Each source lookup participant searches for source in the source
- * containers managed by this director, and each participant is notified
- * of changes in the source containers (i.e. when the set of source
- * containers changes).
- * <p>
- * When a source director is initialized, it adds it self as a launch listener,
- * and automatically disposes itself when its associated launch is removed
- * from the launch manager. If a source director is instantiated by a client
- * that is not part of a launch, that client is responsible for disposing
- * the source director.
- * </p>
- * <p>
- * Clients may subclass this class.
- * </p>
- * @since 3.0
- * @see org.eclipse.debug.core.model.ISourceLocator
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant
- */
-public abstract class AbstractSourceLookupDirector implements ISourceLookupDirector, ILaunchConfigurationListener, ILaunchListener {
-
- // source locator type identifier
- protected String fId;
- //ISourceLocatorParticipants that are listening for container changes
- protected ArrayList fParticipants = new ArrayList();
- //list of current source containers
- protected ISourceContainer[] fSourceContainers = null;
- //the launch config associated with this director
- protected ILaunchConfiguration fConfig;
- //whether duplicates should be searched for or not
- protected boolean fDuplicates = false;
- // source path computer, or null if default
- protected ISourcePathComputer fComputer = null;
- /**
- * Cache of resolved source elements when duplicates exist.
- * Keys are the duplicates, values are the source element to use.
- */
- protected Map fResolvedElements = null;
- // current participant performing lookup or <code>null</code>
- private ISourceLookupParticipant fCurrentParticipant;
-
- protected static final IStatus fPromptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null); //$NON-NLS-1$//$NON-NLS-2$
- protected static final IStatus fResolveDuplicatesStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 205, "", null); //$NON-NLS-1$//$NON-NLS-2$
-
- // XML nodes & attributes for persistence
- protected static final String DIRECTOR_ROOT_NODE = "sourceLookupDirector"; //$NON-NLS-1$
- protected static final String CONTAINERS_NODE = "sourceContainers"; //$NON-NLS-1$
- protected static final String DUPLICATES_ATTR = "duplicates"; //$NON-NLS-1$
- protected static final String CONTAINER_NODE = "container"; //$NON-NLS-1$
- protected static final String CONTAINER_TYPE_ATTR = "typeId"; //$NON-NLS-1$
- protected static final String CONTAINER_MEMENTO_ATTR = "memento"; //$NON-NLS-1$
-
- class SourceLookupQuery implements ISafeRunnable {
-
- private List fSourceElements = new ArrayList();
- private Object fElement = null;
- private Throwable fException = null;
-
- SourceLookupQuery(Object element) {
- fElement = element;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- fException = exception;
- }
-
- /**
- * Returns any exception that occurred during source lookup.
- *
- * @return the (any) exception that occured during source lookup
- */
- public Throwable getException() {
- return fException;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- MultiStatus multiStatus = null;
- CoreException single = null;
- ISourceLookupParticipant[] participants = getParticipants();
- try {
- for(int i=0; i < participants.length; i++) {
- setCurrentParticipant(participants[i]);
- Object[] sourceArray;
- try {
- sourceArray = participants[i].findSourceElements(fElement);
- if (sourceArray !=null && sourceArray.length > 0) {
- if (isFindDuplicates()) {
- for(int j=0; j<sourceArray.length; j++)
- if(!checkDuplicate(sourceArray[j], fSourceElements))
- fSourceElements.add(sourceArray[j]);
- } else {
- fSourceElements.add(sourceArray[0]);
- return;
- }
- }
- } catch (CoreException e) {
- if (single == null) {
- single = e;
- } else if (multiStatus == null) {
- multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null);
- multiStatus.add(e.getStatus());
- } else {
- multiStatus.add(e.getStatus());
- }
- }
- }
- } finally {
- setCurrentParticipant(null);
- }
- if (fSourceElements.isEmpty()) {
- // set exception if there was one
- if (multiStatus != null) {
- fException = new CoreException(multiStatus);
- } else if (single != null) {
- fException = single;
- }
- }
- }
-
- public List getSourceElements() {
- return fSourceElements;
- }
-
- public void dispose() {
- fElement = null;
- fSourceElements = null;
- fException = null;
- }
-
- }
-
- /**
- * Constructs source lookup director
- */
- public AbstractSourceLookupDirector() {
- }
-
- /**
- * Sets the type identifier for this source locator's type
- *
- * @param id corresponds to source locator type identifier for a
- * persistable source locator
- */
- public void setId(String id) {
- fId = id;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#dispose()
- */
- public synchronized void dispose() {
- ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
- launchManager.removeLaunchConfigurationListener(this);
- launchManager.removeLaunchListener(this);
- Iterator iterator = fParticipants.iterator();
- while (iterator.hasNext()) {
- ISourceLookupParticipant participant = (ISourceLookupParticipant) iterator.next();
- //director may also be a participant
- if(participant != this)
- participant.dispose();
- }
- fParticipants.clear();
- if (fSourceContainers != null) {
- for (int i = 0; i < fSourceContainers.length; i++) {
- fSourceContainers[i].dispose();
- }
- }
- fSourceContainers = null;
- fResolvedElements = null;
- }
-
- /**
- * Throws an exception with the given message and underlying exception.
- *
- * @param message error message
- * @param exception underlying exception, or <code>null</code>
- * @throws CoreException
- */
- protected void abort(String message, Throwable exception) throws CoreException {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
- throw new CoreException(status);
- }
-
- /**
- * Constructs source containers from a list of container mementos.
- *
- * @param list the list of nodes to be parsed
- * @exception CoreException if parsing encounters an error
- * @return a list of source containers
- */
- private List parseSourceContainers(NodeList list) throws CoreException {
- List containers = new ArrayList();
- for (int i=0; i < list.getLength(); i++) {
- if(!(list.item(i).getNodeType() == Node.ELEMENT_NODE))
- continue;
- Element element = (Element)list.item(i);
- String typeId = element.getAttribute(CONTAINER_TYPE_ATTR);
- if (typeId == null || typeId.equals("")) { //$NON-NLS-1$
- abort(SourceLookupMessages.AbstractSourceLookupDirector_11, null);
- }
- ISourceContainerType type = DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(typeId);
- if(type != null) {
- String memento = element.getAttribute(CONTAINER_MEMENTO_ATTR);
- if (memento == null || memento.equals("")) { //$NON-NLS-1$
- abort(SourceLookupMessages.AbstractSourceLookupDirector_13, null);
- }
- ISourceContainer container = type.createSourceContainer(memento);
- containers.add(container);
- }
- else {
- abort(MessageFormat.format(SourceLookupMessages.AbstractSourceLookupDirector_12, new String[]{typeId}), null);
- }
- }
- return containers;
- }
-
- /**
- * Registers the given source lookup participant. Has no effect if an identical
- * participant is already registered. Participants receive notification
- * when the source containers associated with this source director change.
- *
- * @param participant the participant to register
- */
- private synchronized void addSourceLookupParticipant(ISourceLookupParticipant participant) {
- if (!fParticipants.contains(participant)) {
- fParticipants.add(participant);
- participant.init(this);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceContainers()
- */
- public synchronized ISourceContainer[] getSourceContainers() {
- if (fSourceContainers == null) {
- return new ISourceContainer[0];
- }
- ISourceContainer[] copy = new ISourceContainer[fSourceContainers.length];
- System.arraycopy(fSourceContainers, 0, copy, 0, fSourceContainers.length);
- return copy;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#isFindDuplicates()
- */
- public boolean isFindDuplicates() {
- return fDuplicates;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setFindDuplicates(boolean)
- */
- public void setFindDuplicates(boolean duplicates) {
- fDuplicates = duplicates;
- }
-
- /**
- * Removes the given participant from the list of registered participants.
- * Has no effect if an identical participant is not already registered.
- *
- * @param participant the participant to remove
- */
- private synchronized void removeSourceLookupParticipant(ISourceLookupParticipant participant) {
- if (fParticipants.remove(participant)) {
- participant.dispose();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationAdded(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void launchConfigurationAdded(ILaunchConfiguration configuration) {
- ILaunchConfiguration from = DebugPlugin.getDefault().getLaunchManager().getMovedFrom(configuration);
- if (from != null && from.equals(getLaunchConfiguration())) {
- fConfig = configuration;
- }
- }
-
- /* (non-Javadoc)
- *
- * Updates source containers in response to changes in underlying launch
- * configuration. Only responds to changes in non-working copies.
- *
- * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationChanged(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void launchConfigurationChanged(ILaunchConfiguration configuration) {
- if (fConfig == null || configuration.isWorkingCopy()) {
- return;
- }
- if(fConfig.equals(configuration)) {
- try{
- String locatorMemento = configuration.getAttribute(ILaunchConfiguration.ATTR_SOURCE_LOCATOR_MEMENTO,(String)null);
- if (locatorMemento == null) {
- initializeDefaults(configuration);
- } else {
- initializeFromMemento(locatorMemento, configuration);
- }
- } catch (CoreException e){
- }
- }
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationListener#launchConfigurationRemoved(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void launchConfigurationRemoved(ILaunchConfiguration configuration) {
- if (configuration.equals(getLaunchConfiguration())) {
- if (DebugPlugin.getDefault().getLaunchManager().getMovedTo(configuration) == null) {
- fConfig = null;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator#getMemento()
- */
- public synchronized String getMemento() throws CoreException {
- Document doc = DebugPlugin.newDocument();
- Element rootNode = doc.createElement(DIRECTOR_ROOT_NODE);
- doc.appendChild(rootNode);
-
- Element pathNode = doc.createElement(CONTAINERS_NODE);
- if(fDuplicates) {
- pathNode.setAttribute(DUPLICATES_ATTR, "true"); //$NON-NLS-1$
- } else {
- pathNode.setAttribute(DUPLICATES_ATTR, "false"); //$NON-NLS-1$
- }
- rootNode.appendChild(pathNode);
- if(fSourceContainers !=null){
- for(int i=0; i<fSourceContainers.length; i++){
- Element node = doc.createElement(CONTAINER_NODE);
- ISourceContainer container = fSourceContainers[i];
- ISourceContainerType type = container.getType();
- node.setAttribute(CONTAINER_TYPE_ATTR, type.getId());
- node.setAttribute(CONTAINER_MEMENTO_ATTR, type.getMemento(container));
- pathNode.appendChild(node);
- }
- }
- return DebugPlugin.serializeDocument(doc);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeFromMemento(java.lang.String)
- */
- public void initializeFromMemento(String memento) throws CoreException {
- doInitializeFromMemento(memento, true);
- }
-
- /**
- * Initializes this source lookup director from the given memento.
- * Disposes itself before initialization if specified.
- *
- * @param memento source locator memento
- * @param dispose whether to dispose any current source containers and participants
- * before initializing
- * @throws CoreException if an exception occurs during initialization
- * @since 3.1
- */
- protected void doInitializeFromMemento(String memento, boolean dispose) throws CoreException {
- if (dispose) {
- dispose();
- }
- Element rootElement = DebugPlugin.parseDocument(memento);
- if (!rootElement.getNodeName().equalsIgnoreCase(DIRECTOR_ROOT_NODE)) {
- abort(SourceLookupMessages.AbstractSourceLookupDirector_14, null);
- }
- NodeList list = rootElement.getChildNodes();
- int length = list.getLength();
- for (int i = 0; i < length; ++i) {
- Node node = list.item(i);
- short type = node.getNodeType();
- if (type == Node.ELEMENT_NODE) {
- Element entry = (Element) node;
- if(entry.getNodeName().equalsIgnoreCase(CONTAINERS_NODE)){
- setFindDuplicates("true".equals(entry.getAttribute(DUPLICATES_ATTR))); //$NON-NLS-1$
- NodeList children = entry.getChildNodes();
- List containers = parseSourceContainers(children);
- setSourceContainers((ISourceContainer[]) containers.toArray(new ISourceContainer[containers.size()]));
- }
- }
- }
- initializeParticipants();
- }
-
- /**
- * Sets the source containers used by this source lookup
- * director.
- *
- * @param containers source containers to search
- */
- public void setSourceContainers(ISourceContainer[] containers) {
- synchronized (this) {
- List list = Arrays.asList( containers );
- ISourceContainer[] old = getSourceContainers();
- for (int i = 0; i < old.length; i++) {
- // skip overlapping containers
- if (!list.contains(old[i]))
- old[i].dispose();
- }
- fSourceContainers = containers;
- for (int i = 0; i < containers.length; i++) {
- ISourceContainer container = containers[i];
- container.init(this);
- }
- }
- // clear resolved duplicates
- fResolvedElements = null;
- // notify participants
- ISourceLookupParticipant[] participants = getParticipants();
- for (int i = 0; i < participants.length; i++) {
- ISourceLookupParticipant participant = participants[i];
- participant.sourceContainersChanged(this);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.ISourceLocator#getSourceElement(org.eclipse.debug.core.model.IStackFrame)
- * Would be better to accept Object so this can be used for breakpoints and other objects.
- */
- public Object getSourceElement(IStackFrame stackFrame) {
- return getSourceElement((Object)stackFrame);
- }
-
- /**
- * Performs a source lookup query for the given element
- * returning the source elements associated with the element.
- *
- * @param element stack frame
- * @return list of associated source elements
- */
- protected List doSourceLookup(Object element) {
- SourceLookupQuery query = new SourceLookupQuery(element);
- SafeRunner.run(query);
- List sources = query.getSourceElements();
- Throwable exception = query.getException();
- if (exception != null) {
- if (exception instanceof CoreException) {
- CoreException ce = (CoreException) exception;
- if (ce.getStatus().getSeverity() == IStatus.ERROR) {
- DebugPlugin.log(ce);
- }
- } else {
- DebugPlugin.log(exception);
- }
- }
- query.dispose();
- return sources;
- }
-
- /**
- * Returns the source element to associate with the given element.
- * This method is called when more than one source element has been found
- * for an element, and allows the source director to select a single
- * source element to associate with the element.
- * <p>
- * Subclasses should override this method as appropriate. For example,
- * to prompt the user to choose a source element.
- * </p>
- * @param element the debug artifact for which source is being searched for
- * @param sources the source elements found for the given element
- * @return a single source element for the given element
- */
- public Object resolveSourceElement(Object element, List sources) {
- // check the duplicates cache first
- Iterator duplicates = sources.iterator();
- while (duplicates.hasNext()) {
- Object dup = duplicates.next();
- Object resolved = getCachedElement(dup);
- if (resolved != null) {
- return resolved;
- }
- }
- // consult a status handler
- IStatusHandler prompter = DebugPlugin.getDefault().getStatusHandler(fPromptStatus);
- if (prompter != null) {
- try {
- Object result = prompter.handleStatus(fResolveDuplicatesStatus, new Object[]{element, sources});
- if (result != null) {
- cacheResolvedElement(sources, result);
- return result;
- }
- } catch (CoreException e) {
- }
- }
- return sources.get(0);
- }
-
- /**
- * Checks if the object being added to the list of sources is a duplicate of what's already in the list
- * @param sourceToAdd the new source file to be added
- * @param sources the list that the source will be compared against
- * @return true if it is already in the list, false if it is a new object
- */
- private boolean checkDuplicate(Object sourceToAdd, List sources){
- if(sources.size() == 0)
- return false;
- Iterator iterator = sources.iterator();
- while(iterator.hasNext())
- if(iterator.next().equals(sourceToAdd))
- return true;
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2#initializeFromMemento(java.lang.String, org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException {
- dispose();
- setLaunchConfiguration(configuration);
- doInitializeFromMemento(memento, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator#initializeDefaults(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException {
- dispose();
- setLaunchConfiguration(configuration);
- setSourceContainers(new ISourceContainer[]{new DefaultSourceContainer()});
- initializeParticipants();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getLaunchConfiguration()
- */
- public ILaunchConfiguration getLaunchConfiguration() {
- return fConfig;
- }
-
- /**
- * Sets the launch configuration associated with this source lookup
- * director. If the given configuration is a working copy, this director
- * will respond to changes the working copy. If the given configuration
- * is a persisted launch configuration, this director will respond to changes
- * in the persisted launch configuration.
- *
- * @param configuration launch configuration to associate with this
- * source lookup director, or <code>null</code> if none
- */
- protected void setLaunchConfiguration(ILaunchConfiguration configuration) {
- fConfig = configuration;
- ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager();
- launchManager.addLaunchConfigurationListener(this);
- launchManager.addLaunchListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
- */
- public void launchAdded(ILaunch launch) {
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
- */
- public void launchChanged(ILaunch launch) {
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
- */
- public void launchRemoved(ILaunch launch) {
- if (this.equals(launch.getSourceLocator())) {
- dispose();
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getParticipants()
- */
- public synchronized ISourceLookupParticipant[] getParticipants() {
- return (ISourceLookupParticipant[]) fParticipants.toArray(new ISourceLookupParticipant[fParticipants.size()]);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#supportsSourceContainerType(org.eclipse.debug.core.sourcelookup.ISourceContainerType)
- */
- public boolean supportsSourceContainerType(ISourceContainerType type) {
- return true;
- }
-
- /**
- * Caches the resolved source element to use when one of the following
- * duplicates is found.
- *
- * @param duplicates duplicates source elements
- * @param sourceElement chosen source element to use in place of the
- * duplicates
- */
- protected void cacheResolvedElement(List duplicates, Object sourceElement) {
- if (fResolvedElements == null) {
- fResolvedElements = new HashMap(10);
- }
- Iterator iterator = duplicates.iterator();
- while (iterator.hasNext()) {
- Object dup = iterator.next();
- fResolvedElements.put(dup, sourceElement);
- }
-
- }
-
- /**
- * Returns the cached source element to use when the given duplicate
- * is encountered.
- *
- * @param duplicate duplicates source element
- * @return element to use in the duplicate's place
- */
- protected Object getCachedElement(Object duplicate) {
- if (fResolvedElements != null) {
- return fResolvedElements.get(duplicate);
- }
- return null;
- }
-
- /**
- * Clears any cached source element associated with the given duplicate
- * is source element.
- *
- * @param duplicate duplicate source element to cache resolved results
- * for
- */
- protected void clearCachedElement(Object duplicate) {
- if (fResolvedElements != null) {
- fResolvedElements.remove(duplicate);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#clearSourceElements(java.lang.Object)
- */
- public void clearSourceElements(Object element) {
- List list = doSourceLookup(element);
- if (list.size() > 0) {
- Iterator iterator = list.iterator();
- while (iterator.hasNext()) {
- clearCachedElement(iterator.next());
- }
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#addParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
- */
- public void addParticipants(ISourceLookupParticipant[] participants) {
- for (int i = 0; i < participants.length; i++) {
- ISourceLookupParticipant participant = participants[i];
- addSourceLookupParticipant(participant);
- participant.sourceContainersChanged(this);
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#removeParticipants(org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant[])
- */
- public void removeParticipants(ISourceLookupParticipant[] participants) {
- for (int i = 0; i < participants.length; i++) {
- removeSourceLookupParticipant(participants[i]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getId()
- */
- public String getId() {
- return fId;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourcePathComputer()
- */
- public ISourcePathComputer getSourcePathComputer() {
- if (fComputer == null && getLaunchConfiguration() != null) {
- try {
- return DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(getLaunchConfiguration());
- } catch (CoreException e) {
- }
- }
- return fComputer;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#setSourcePathComputer(org.eclipse.debug.core.sourcelookup.ISourcePathComputer)
- */
- public void setSourcePathComputer(ISourcePathComputer computer) {
- fComputer = computer;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#findSourceElements(java.lang.Object)
- */
- public Object[] findSourceElements(Object object) throws CoreException {
- SourceLookupQuery query = new SourceLookupQuery(object);
- SafeRunner.run(query);
- List sources = query.getSourceElements();
- Throwable exception = query.getException();
- query.dispose();
- if (exception != null && sources.isEmpty()) {
- if (exception instanceof CoreException) {
- throw (CoreException)exception;
- }
- abort(SourceLookupMessages.AbstractSourceLookupDirector_10, exception);
- }
- return sources.toArray();
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupDirector#getSourceElement(java.lang.Object)
- */
- public Object getSourceElement(Object element) {
- List sources = doSourceLookup(element);
- if(sources.size() == 1) {
- return sources.get(0);
- } else if(sources.size() > 1) {
- return resolveSourceElement(element, sources);
- } else {
- return null;
- }
- }
-
- /**
- * Sets the current participant or <code>null</code> if none.
- *
- * @param participant active participant or <code>null</code>
- */
- private void setCurrentParticipant(ISourceLookupParticipant participant) {
- fCurrentParticipant = participant;
- }
-
- /**
- * Returns the participant currently looking up source or <code>null</code>
- * if none.
- *
- * @return the participant currently looking up source or <code>null</code>
- * if none
- * @since 3.5
- */
- public ISourceLookupParticipant getCurrentParticipant() {
- return fCurrentParticipant;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
deleted file mode 100644
index 3640d76e2..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/AbstractSourceLookupParticipant.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-
-/**
- * Common super class for implementations of source lookup participants.
- * <p>
- * Clients implementing source lookup participants should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceLookupParticipant implements ISourceLookupParticipant {
-
- private ISourceLookupDirector fDirector;
-
- protected static final Object[] EMPTY = new Object[0];
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
- */
- public void init(ISourceLookupDirector director) {
- fDirector = director;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#dispose()
- */
- public void dispose() {
- fDirector = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#findSourceElements(java.lang.Object)
- */
- public Object[] findSourceElements(Object object) throws CoreException {
- List results = null;
- CoreException single = null;
- MultiStatus multiStatus = null;
- if (isFindDuplicates()) {
- results = new ArrayList();
- }
- String name = getSourceName(object);
- if (name != null) {
- ISourceContainer[] containers = getSourceContainers();
- for (int i = 0; i < containers.length; i++) {
- try {
- ISourceContainer container = getDelegateContainer(containers[i]);
- if (container != null) {
- Object[] objects = container.findSourceElements(name);
- if (objects.length > 0) {
- //it will only not be null when we care about duplicates
- //saves the computation in isFindDuplicates()
- if (results != null) {
- for (int j = 0; j < objects.length; j++) {
- results.add(objects[j]);
- }
- } else {
- if (objects.length == 1) {
- return objects;
- }
- return new Object[]{objects[0]};
- }
- }
- }
- } catch (CoreException e) {
- if (single == null) {
- single = e;
- } else if (multiStatus == null) {
- multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null);
- multiStatus.add(e.getStatus());
- } else {
- multiStatus.add(e.getStatus());
- }
- }
- }
- }
- if (results == null) {
- if (multiStatus != null) {
- throw new CoreException(multiStatus);
- } else if (single != null) {
- throw single;
- }
- return EMPTY;
- }
- return results.toArray();
- }
-
- /**
- * Returns the source container to search in place of the given source
- * container, or <code>null</code> if the given source container is not
- * to be searched. The default implementation does not translate source
- * containers. Subclasses should override if required.
- *
- * @param container the source container about to be searched (proxy)
- * @return the source container to be searched (delegate), or <code>null</code>
- * if the source container should not be searched
- */
- protected ISourceContainer getDelegateContainer(ISourceContainer container) {
- return container;
- }
-
- /**
- * Returns the source lookup director this participant is registered with
- * or <code>null</code> if none.
- *
- * @return the source lookup director this participant is registered with
- * or <code>null</code> if none
- */
- protected ISourceLookupDirector getDirector() {
- return fDirector;
- }
-
- /**
- * Returns whether this participant's source lookup director is configured
- * to search for duplicate source elements.
- *
- * @return whether this participant's source lookup director is configured
- * to search for duplicate source elements
- * @since 3.5
- */
- public boolean isFindDuplicates() {
- ISourceLookupDirector director = getDirector();
- if (director != null) {
- return director.isFindDuplicates();
- }
- return false;
- }
-
- /**
- * Returns the source containers currently registered with this participant's
- * source lookup director.
- *
- * @return the source containers currently registered with this participant's
- * source lookup director
- */
- protected ISourceContainer[] getSourceContainers() {
- ISourceLookupDirector director = getDirector();
- if (director != null) {
- return director.getSourceContainers();
- }
- return new ISourceContainer[0];
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant#sourceContainersChanged(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
- */
- public void sourceContainersChanged(ISourceLookupDirector director) {
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
deleted file mode 100644
index f30b9712b..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/IPersistableSourceLocator2.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-
-/**
- * Extensions to the <code>IPersistableSourceLocator</code> interface.
- * <p>
- * Clients may optionally implement this interface when implementing an
- * {@link org.eclipse.debug.core.model.IPersistableSourceLocator}.
- * </p>
- * @see org.eclipse.debug.core.model.IPersistableSourceLocator
- * @since 3.0
- */
-public interface IPersistableSourceLocator2 extends IPersistableSourceLocator {
-
- /**
- * Initializes this source locator based on the given
- * memento, for the given launch configuration. This method
- * is called instead of <code>initializeFrom(String memento)</code>
- * defined in <code>IPersistableSourceLocator</code> when a source
- * locator implements this interface.
- *
- * @param memento a memento to initialize this source locator
- * @param configuration the launch configuration this source locator is
- * being created for
- * @exception CoreException on failure to initialize
- */
- public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException;
-
- /**
- * Disposes this source locator. This method is called when a source
- * locator's associated launch is removed from the launch manager.
- */
- public void dispose();
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
deleted file mode 100644
index ed721bd58..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainer.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-
-/**
- * A source container is a container of source code. A source container is
- * capable of searching for source elements by name. For example, a source
- * container may be a project or a directory capable of searching for files
- * by name. A source container may be a composite container - i.e. contain
- * other source containers.
- * <p>
- * When a source container is created and added to a source director, the
- * source container's <code>dispose()</code> method is called when the
- * source director is disposed. Clients creating source containers for other
- * purposes must dispose of containers themselves.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see ISourceLookupParticipant
- * @see ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainer extends IAdaptable {
-
- /**
- * Notification this source container has been added to the given
- * source lookup director.
- *
- * @param director the director this container has been added to
- */
- public void init(ISourceLookupDirector director);
-
- /**
- * Returns a collection of source elements in this container corresponding to the
- * given name. Returns an empty collection if no source elements are found.
- * This source container's source lookup director specifies if duplicate
- * source elements should be searched for, via <code>isFindDuplicates()</code>.
- * When <code>false</code> the returned collection should contain at most one
- * source element. If this is a composite container, the containers contained
- * by this container are also searched.
- * <p>
- * The format of the given name is implementation specific but generally conforms
- * to the format of a file name. If a source container does not recognize the
- * name format provided, an empty collection should be returned. A source container
- * may or may not require names to be fully qualified (i.e. be qualified with directory
- * names).
- * </p>
- * @param name the name of the source element to search for
- * @return a collection of source elements corresponding to the given name
- * @exception CoreException if an exception occurs while searching for source elements
- */
- public Object[] findSourceElements(String name) throws CoreException;
-
- /**
- * The name of this source container that can be used for presentation purposes.
- * For example, the name of a project.
- *
- * @return the name of this source container
- */
- public String getName();
-
- /**
- * Returns the source containers this container is composed of. An empty
- * collection is returned if this container is not a composite container.
- * For example, a workspace source container may be composed of project source
- * containers.
- *
- * @return the source containers this container is composed of, possibly
- * an empty collection
- * @exception CoreException if unable to retrieve source containers
- */
- public ISourceContainer[] getSourceContainers() throws CoreException;
-
- /**
- * Returns whether this container is a composite container. A composite
- * container is composed of other source containers. For example, a workspace
- * source container may be composed of project source containers.
- *
- * @return whether this container is a composite container
- */
- public boolean isComposite();
-
- /**
- * Returns this container's type.
- *
- * @return this container's type
- */
- public ISourceContainerType getType();
-
- /**
- * Disposes this source container. This method is called when the source
- * director associated with this source container is disposed.
- */
- public void dispose();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
deleted file mode 100644
index 0204389e6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerType.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-
-
-/**
- * A source container type represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type is contributed via the <code>sourceContainerTypes</code>
- * extension point, providing a delegate to the work specific to the contributed
- * type. Following is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourceContainerTypes&quot;&gt;
- * &lt;sourceContainerType
- * name=&quot;Project&quot;
- * class=&quot;org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType&quot;
- * id=&quot;org.eclipse.debug.core.containerType.project&quot;
- * description=&quot;A project in the workspace&quot;&gt;
- * &lt;/sourceContainerType&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * Clients contributing a source container type implement
- * {@link org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate}.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate
- * @since 3.0
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ISourceContainerType extends ISourceContainerTypeDelegate {
-
- /**
- * Returns the name of this source container type that can be used for
- * presentation purposes. For example, <code>Working Set</code> or
- * <code>Project</code>. The value returned is
- * identical to the name specified in plugin.xml by the <code>name</code>
- * attribute.
- *
- * @return the name of this source container type
- */
- public String getName();
-
- /**
- * Returns the unique identifier associated with this source container type.
- * The value returned is identical to the identifier specified in plugin.xml by
- * the <code>id</code> attribute.
- *
- * @return the unique identifier associated with this source container type
- */
- public String getId();
-
- /**
- * Returns a short description of this source container type that can be used
- * for presentation purposes, or <code>null</code> if none.
- *
- * @return a short description of this source container type, or <code>null</code>
- */
- public String getDescription();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
deleted file mode 100644
index d8c944891..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source container type delegate represents a kind of container of source code.
- * For example, a source container type may be a project or a directory. A specific
- * project or directory is represented by an instance of a source container type,
- * which is called a source container (<code>ISourceContainer</code>).
- * <p>
- * A source container type delegate is contributed via the
- * <code>sourceContainerTypes</code> extension point.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainerType
- * @since 3.0
- */
-public interface ISourceContainerTypeDelegate {
-
- /**
- * Creates and returns a new source container of this type
- * corresponding to the given memento.
- *
- * @param memento a memento for a source container of this source container type
- * @return a source container corresponding to the given memento
- * @exception CoreException if unable to construct a source container based
- * on the given memento
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException;
-
- /**
- * Constructs and returns a memento for the given source container. A memento
- * can be used to reconstruct a source container.
- *
- * @param container The container for which a memento should be created. The
- * container must of this source container type.
- * @return a memento for the source container
- * @exception CoreException if unable to create a memento
- */
- public String getMemento(ISourceContainer container) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
deleted file mode 100644
index 5eb45964a..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupDirector.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source lookup director directs the source lookup process
- * among a set of participants and source containers.
- * <p>
- * Clients may implement this interface. An abstract implementation
- * is provided by <code>AbstractSourceLookupDirector</code>, which
- * clients should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupDirector extends IPersistableSourceLocator2 {
-
- /**
- * Returns the launch configuration associated with this source
- * lookup director, or <code>null</code> if none.
- *
- * @return the launch configuration associated with this source
- * lookup director, or <code>null</code> if none
- */
- public ILaunchConfiguration getLaunchConfiguration();
-
- /**
- * Returns the source lookup participants currently registered with
- * this director, possibly an empty collection.
- *
- * @return the source lookup participants currently registered with
- * this director, possibly an empty collection
- */
- public ISourceLookupParticipant[] getParticipants();
-
- /**
- * Returns the source containers currently registered with this
- * director, possibly an empty collection.
- *
- * @return the source containers currently registered with this
- * director, possibly an empty collection
- */
- public ISourceContainer[] getSourceContainers();
-
- /**
- * Sets the source containers this source lookup director
- * should search when looking for source, possibly an empty collection.
- *
- * @param containers the source containers this source lookup director
- * should search when looking for source, possibly an empty collection
- */
- public void setSourceContainers(ISourceContainer[] containers);
-
- /**
- * Returns whether to search exhaustively for all source elements
- * with the same name in all registered source containers, or
- * whether to stop searching when the first source element matching
- * the required name is found.
- *
- * @return whether to search exhaustively for all source elements
- * with the same name
- */
- public boolean isFindDuplicates();
-
- /**
- * Sets whether to search exhaustively for all source elements
- * with the same name in all registered source containers, or
- * whether to stop searching when the first source element matching
- * the required name is found.
- *
- * @param findDuplicates whether to search exhaustively for all source elements
- * with the same name
- */
- public void setFindDuplicates(boolean findDuplicates);
-
- /**
- * Notifies this source lookup director that it should initialize
- * its set of source lookup participants.
- */
- public void initializeParticipants();
-
- /**
- * Returns whether this source director supports the given type
- * of source location.
- *
- * @param type source container type
- * @return whether this source director supports the given type
- * of source location
- */
- public boolean supportsSourceContainerType(ISourceContainerType type);
-
- /**
- * Clears any source lookup results associated with the given
- * debug artifact, such that a subsequent lookup will force a new search
- * to be performed.
- *
- * @param element debug artifact to clear source lookup results for
- */
- public void clearSourceElements(Object element);
-
- /**
- * Adds the given source lookup participants to this director.
- *
- * @param participants participants to add
- */
- public void addParticipants(ISourceLookupParticipant[] participants);
-
- /**
- * Removes the given source lookup participants from this director.
- *
- * @param participants participants to remove
- */
- public void removeParticipants(ISourceLookupParticipant[] participants);
-
- /**
- * Returns the identifier of this type of source locator.
- *
- * @return the identifier of this type of source locator
- */
- public String getId();
-
- /**
- * Returns the source path computer to use with this source lookup
- * director, possibly <code>null</code>. By default, the source path
- * computer returned is the one associated with this director's launch
- * configuration's type. However, the source path computer can be specified
- * programmatically by calling <code>setSourcePathComputer(...)</code>.
- *
- * @return the source path computer to use with this source lookup
- * director, possibly <code>null</code>
- */
- public ISourcePathComputer getSourcePathComputer();
-
- /**
- * Sets the source path computer for this source lookup director.
- * This method can be used to override the default source path computer
- * for a launch configuration type. When <code>null</code> is specified
- * the default source path computer will be used (i.e. the one associated
- * with this director's launch configuration's type).
- *
- * @param computer source path computer or <code>null</code>
- */
- public void setSourcePathComputer(ISourcePathComputer computer);
-
- /**
- * Returns a collection of source elements corresponding to the given debug
- * artifact (for example, a stack frame or breakpoint). Returns an empty
- * collection if no source elements are found.
- * This participant's source lookup director specifies if duplicate
- * source elements should be searched for, via <code>isFindDuplicates()</code>.
- * When <code>false</code> the returned collection should contain at most one
- * source element.
- *
- * @param object the debug artifact for which source needs to be found (e.g., stack frame)
- * @return a collection of source elements corresponding to the given
- * debug artifact, possibly empty
- * @exception CoreException if an exception occurs while searching for source
- */
- public Object[] findSourceElements(Object object) throws CoreException;
-
- /**
- * Returns a source element that corresponds to the given debug artifact, or
- * <code>null</code> if a source element could not be located. This is a
- * generalization of <code>getSourceElement(IStackFrame)</code> to allow
- * source to be found for other types of elements.
- *
- * @param element the debug artifact for which to locate source
- * @return an object representing a source element.
- */
- public Object getSourceElement(Object element);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
deleted file mode 100644
index b47d086c1..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourceLookupParticipant.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-
-/**
- * A source lookup participant participates in source lookup by searching an ordered
- * list of source containers for source elements corresponding to a debug artifact.
- * For example, a participant may be asked to find source corresponding to a stack
- * frame or breakpoint. An implementation of a source lookup participant is debug
- * model specific, since it must convert the debug model artifact (stack frame,
- * breakpoint, etc.), into a source name that can be recognized by a source container
- * (<code>ISourceContainer</code>), to search for source elements. Source containers
- * are generally debug model independent, whereas source lookup participants are
- * debug model specific.
- * <p>
- * Clients may implement this interface. An abstract implementation is
- * provided by <code>AbstractSourceLookupParticipant</code>, which clients
- * should subclass.
- * </p>
- * @since 3.0
- */
-public interface ISourceLookupParticipant {
-
- /**
- * Notification this participant has been added to the specified
- * source lookup director.
- *
- * @param director the source lookup director that this participant
- * has been added to
- */
- public void init(ISourceLookupDirector director);
-
- /**
- * Returns a collection of source elements corresponding to the given debug
- * artifact (for example, a stack frame or breakpoint). Returns an empty
- * collection if no source elements are found.
- * This participant's source lookup director specifies if duplicate
- * source elements should be searched for, via <code>isFindDuplicates()</code>.
- * When <code>false</code> the returned collection should contain at most one
- * source element.
- * <p>
- * If the given debug artifact is not recognized by this participant, an empty
- * collection is returned. Otherwise, this participant generates a source name
- * from the given artifact and performs a search for associated source elements
- * in its source containers.
- * </p>
- * @param object the debug artifact for which source needs to be found (e.g., stack frame)
- * @return a collection of source elements corresponding to the given
- * debug artifact, possibly empty
- * @exception CoreException if an exception occurs while searching for source
- */
- public Object[] findSourceElements(Object object) throws CoreException;
-
- /**
- * Returns the source file name associated with the given debug artifact that
- * source needs to be found for, or <code>null</code> if none.
- *
- * @param object the debug artifact for which source needs to be found (e.g., stack frame)
- * @return the source file name associated with the given debug artifact,
- * or <code>null</code> if none.
- * @throws CoreException if unable to determine a source file name
- */
- public String getSourceName(Object object) throws CoreException;
-
- /**
- * Disposes this source lookup participant. This method is called when
- * the source lookup director associated with this participant is
- * disposed.
- */
- public void dispose();
-
- /**
- * Notification that the source lookup containers in the given source
- * lookup director have changed.
- *
- * @param director source lookup director that is directing this
- * participant
- */
- public void sourceContainersChanged(ISourceLookupDirector director);
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
deleted file mode 100644
index 3e9558979..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputer.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * A source path computer computes the default source lookup path (set of source
- * containers that should be considered) for a launch configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the
- * <code>sourcePathComputers</code> extension point, that provides a delegate
- * to compute the path specific to a launch configuration. Following
- * is an example contribution.
- * <pre>
- * &lt;extension point=&quot;org.eclipse.debug.core.sourcePathComputers&quot;&gt;
- * &lt;sourcePathComputer
- * id=&quot;org.eclipse.example.exampleSourcePathComputer&quot;
- * class=&quot;org.eclipse.example.SourcePathComputer&quot;&gt;
- * &lt;/sourcePathComputer&gt;
- * &lt;/extension&gt;
- * </pre>
- * </p>
- * <p>
- * A source path computer can be associated with a launch configuration type
- * via the <code>sourcePathComputerId</code> attribute of a launch configuration
- * type extension. As well, a launch configuration can specify its own
- * source path computer to use via the <code>ATTR_SOURCE_PATH_COMPUTER_ID</code>
- * attribute.
- * </p>
- * <p>
- * Clients contributing a source path computer provide an implementation of
- * {@link org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate}.
- * </p>
- * @since 3.0
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface ISourcePathComputer extends ISourcePathComputerDelegate {
-
- /**
- * Launch configuration attribute to specify a source path computer
- * that should be used for a launch configuration. The value is an identifier
- * of a source path computer extension, or unspecified (<code>null</code>), if the
- * default source path computer should be used. A default source path computer
- * can be associated with a launch configuration type.
- */
- public static final String ATTR_SOURCE_PATH_COMPUTER_ID = DebugPlugin.getUniqueIdentifier() + ".SOURCE_PATH_COMPUTER_ID"; //$NON-NLS-1$
-
- /**
- * Returns the unique identifier for this source path computer.
- *
- * @return the unique identifier for this source path computer
- */
- public String getId();
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
deleted file mode 100644
index 9d5506190..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/ISourcePathComputerDelegate.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.ILaunchConfiguration;
-
-/**
- * A source path computer delegate computes the default source lookup path
- * (set of source containers that should be considered) for a launch
- * configuration.
- * <p>
- * A source path computer is contributed in plug-in XML via the
- * <code>sourcePathComputers</code> extension point, providing a delegate
- * to compute the default source lookup path specific to a launch
- * configuration.
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer
- * @since 3.0
- */
-public interface ISourcePathComputerDelegate {
-
- /**
- * Returns a default collection source containers to be considered for the
- * given launch configuration. The collection returned represents the default
- * source lookup path for the given configuration.
- *
- * @param configuration the launch configuration for which a default source lookup path
- * is to be computed
- * @param monitor a progress monitor to be used in case of long operations
- * @return a default collection source containers to be considered for the
- * given launch configuration
- * @exception CoreException if unable to compute a default source lookup path
- */
- public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) throws CoreException;
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
deleted file mode 100644
index cab9d8854..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainer.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant;
-
-/**
- * Common function for source containers.
- * <p>
- * Clients implementing source containers should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainer extends PlatformObject implements ISourceContainer {
-
- public static final Object[] EMPTY = new Object[0];
-
- private ISourceLookupDirector fDirector;
-
- /**
- * Throws an error exception with the given message and underlying exception.
- *
- * @param message error message
- * @param exception underlying exception, or <code>null</code>
- * @throws CoreException
- */
- protected void abort(String message, Throwable exception) throws CoreException {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
- throw new CoreException(status);
- }
-
- /**
- * Throws a warning exception with the given message and underlying exception.
- *
- * @param message error message
- * @param exception underlying exception, or <code>null</code>
- * @throws CoreException
- * @since 3.3
- */
- protected void warn(String message, Throwable exception) throws CoreException {
- IStatus status = new Status(IStatus.WARNING, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
- throw new CoreException(status);
- }
-
- /* (non-Javadoc)
- *
- * By default, do nothing. Subclasses should override as required.
- *
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
- */
- public void dispose() {
- fDirector = null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
- */
- public ISourceContainer[] getSourceContainers() throws CoreException {
- return new ISourceContainer[0];
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
- */
- public boolean isComposite() {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
- */
- public void init(ISourceLookupDirector director) {
- fDirector = director;
- }
-
- /**
- * Returns the source lookup director this source container registered
- * in, or <code>null</code> if none.
- *
- * @return the source lookup director this source container registered
- * in, or <code>null</code> if none
- */
- protected ISourceLookupDirector getDirector() {
- return fDirector;
- }
-
- /**
- * Returns whether this container's source should search for duplicate source
- * elements. Since 3.5, the current participant is consulted to determine if
- * duplicates should be found. Fall back to querying the source lookup director
- * if the participant is not an {@link AbstractSourceLookupParticipant}.
- *
- * @return whether to search for duplicate source elements
- */
- protected boolean isFindDuplicates() {
- ISourceLookupDirector director = getDirector();
- if (director != null) {
- if (director instanceof AbstractSourceLookupDirector) {
- AbstractSourceLookupDirector asld = (AbstractSourceLookupDirector) director;
- ISourceLookupParticipant participant = asld.getCurrentParticipant();
- if (participant instanceof AbstractSourceLookupParticipant ) {
- AbstractSourceLookupParticipant aslp = (AbstractSourceLookupParticipant) participant;
- return aslp.isFindDuplicates();
- }
- }
- return director.isFindDuplicates();
- }
- return false;
- }
-
- /**
- * Returns the source container type identified by the given id,
- * or <code>null</code> if none.
- *
- * @param id source container type identifier
- * @return source container type or <code>null</code>
- */
- protected ISourceContainerType getSourceContainerType(String id) {
- return DebugPlugin.getDefault().getLaunchManager().getSourceContainerType(id);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
deleted file mode 100644
index cffc4dabe..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/AbstractSourceContainerTypeDelegate.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-/**
- * Common function for source container type delegates.
- * <p>
- * Clients implementing source container delegates should subclass this class.
- * </p>
- * @since 3.0
- */
-public abstract class AbstractSourceContainerTypeDelegate implements ISourceContainerTypeDelegate {
-
- /**
- * Throws an exception with the given message and underlying exception.
- *
- * @param message error message
- * @param exception underlying exception, or <code>null</code>
- * @throws CoreException
- */
- protected void abort(String message, Throwable exception) throws CoreException {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, message, exception);
- throw new CoreException(status);
- }
-
- /**
- * Creates and returns a new XML document.
- *
- * @return a new XML document
- * @throws CoreException if unable to create a new document
- */
- protected Document newDocument()throws CoreException {
- return DebugPlugin.newDocument();
- }
-
- /**
- * Returns the given XML document as a string.
- *
- * @param document document to serialize
- * @return the given XML document as a string
- * @throws CoreException if unable to serialize the document
- */
- protected String serializeDocument(Document document) throws CoreException {
- return DebugPlugin.serializeDocument(document);
- }
-
- /**
- * Parses the given XML document, returning its root element.
- *
- * @param document XML document as a string
- * @return the document's root element
- * @throws CoreException if unable to parse the document
- */
- protected Element parseDocument(String document) throws CoreException {
- return DebugPlugin.parseDocument(document);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
deleted file mode 100644
index 3120a01d5..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ArchiveSourceContainer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-
-/**
- * Archive source container for an archive in the workspace. Returns instances
- * of <code>ZipEntryStorage</code> as source elements.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ArchiveSourceContainer extends AbstractSourceContainer {
-
- private IFile fFile;
- private boolean fDetectRoot;
- private ExternalArchiveSourceContainer fDelegateContainer;
-
- /**
- * Unique identifier for the archive source container type
- * (value <code>org.eclipse.debug.core.containerType.archive</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.archive"; //$NON-NLS-1$
-
- /**
- * Creates an archive source container on the given file.
- *
- * @param archive archive in the workspace
- * @param detectRootPath whether a root path should be detected. When
- * <code>true</code>, searching is performed relative to a root path
- * within the archive based on fully qualified file names. The root
- * path is automatically determined when the first successful search
- * is performed. For example, when searching for a file named
- * <code>a/b/c.d</code>, and an entry in the archive named
- * <code>r/a/b/c.d</code> exists, the root path is set to <code>r</code>.
- * From that point on, searching is performed relative to <code>r</code>.
- * When <code>false</code>, searching is performed by
- * matching file names as suffixes to the entries in the archive.
- */
- public ArchiveSourceContainer(IFile archive, boolean detectRootPath) {
- fFile = archive;
- fDetectRoot = detectRootPath;
- if (archive.exists() && archive.getLocation() != null) {
- fDelegateContainer = new ExternalArchiveSourceContainer(archive.getLocation().toOSString(), detectRootPath);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return fFile.getName();
- }
-
- /**
- * Returns the associated file in the workspace.
- *
- * @return associated file in the workspace
- */
- public IFile getFile() {
- return fFile;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- return obj instanceof ArchiveSourceContainer &&
- ((ArchiveSourceContainer)obj).getName().equals(getName());
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getName().hashCode();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
- */
- public Object[] findSourceElements(String name) throws CoreException {
- ExternalArchiveSourceContainer container = getDelegateContainer();
- if (container != null) {
- return container.findSourceElements(name);
- }
- return EMPTY;
- }
-
- /**
- * Returns the underlying external archive source container.
- *
- * @return underlying external archive source container
- * @since 3.0.1.1
- */
- private ExternalArchiveSourceContainer getDelegateContainer() {
- return fDelegateContainer;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#init(org.eclipse.debug.core.sourcelookup.ISourceLookupDirector)
- */
- public void init(ISourceLookupDirector director) {
- super.init(director);
- if (fDelegateContainer != null) {
- fDelegateContainer.init(director);
- }
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
- */
- public void dispose() {
- super.dispose();
- if (fDelegateContainer != null) {
- fDelegateContainer.dispose();
- }
- }
-
- /**
- * Returns whether root paths are automatically detected in this
- * archive source container.
- *
- * @return whether root paths are automatically detected in this
- * archive source container
- * @since 3.0.1.1
- */
- public boolean isDetectRoot() {
- return fDetectRoot;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
deleted file mode 100644
index ca07e6ad7..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/CompositeSourceContainer.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container of source containers.
- * <p>
- * Clients implementing composite source containers should subclass
- * this class.
- * </p>
- * @since 3.0
- */
-public abstract class CompositeSourceContainer extends AbstractSourceContainer {
-
- private ISourceContainer[] fContainers;
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
- */
- public boolean isComposite() {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
- */
- public Object[] findSourceElements(String name) throws CoreException {
- return findSourceElements(name, getSourceContainers());
- }
-
- /**
- * Returns a collection of source elements in the given containers corresponding to
- * the given name. Returns an empty collection if no source elements are found.
- * This source container's source lookup director specifies if duplicate
- * source elements should be searched for, via <code>isFindDuplicates()</code>.
- * When <code>false</code> the returned collection should contain at most one
- * source element. If this is a composite container, the containers contained
- * by this container are also searched.
- * <p>
- * The format of the given name is implementation specific but generally conforms
- * to the format of a file name. If a source container does not recognize the
- * name format provided, an empty collection should be returned. A source container
- * may or may not require names to be fully qualified (i.e. be qualified with directory
- * names).
- * </p>
- * @param name the name of the source element to search for
- * @param containers the containers to search
- * @return a collection of source elements corresponding to the given name
- * @exception CoreException if an exception occurs while searching for source elements
- */
- protected Object[] findSourceElements(String name, ISourceContainer[] containers) throws CoreException {
- List results = null;
- CoreException single = null;
- MultiStatus multiStatus = null;
- if (isFindDuplicates()) {
- results = new ArrayList();
- }
- for (int i = 0; i < containers.length; i++) {
- ISourceContainer container = containers[i];
- try {
- Object[] objects = container.findSourceElements(name);
- if (objects.length > 0) {
- //it will only not be null when we care about duplicates
- //saves the computation in isFindDuplicates()
- if (results != null) {
- for (int j = 0; j < objects.length; j++) {
- results.add(objects[j]);
- }
- } else {
- if (objects.length == 1) {
- return objects;
- }
- return new Object[]{objects[0]};
- }
- }
- } catch (CoreException e) {
- if (single == null) {
- single = e;
- } else if (multiStatus == null) {
- multiStatus = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, new IStatus[]{single.getStatus()}, SourceLookupMessages.Source_Lookup_Error, null);
- multiStatus.add(e.getStatus());
- } else {
- multiStatus.add(e.getStatus());
- }
- }
- }
- if (results == null) {
- if (multiStatus != null) {
- throw new CoreException(multiStatus);
- } else if (single != null) {
- throw single;
- }
- return EMPTY;
- }
- return results.toArray();
- }
-
- /**
- * Creates the source containers in this composite container.
- * Subclasses should override this methods.
- *
- * @throws CoreException if unable to create the containers
- */
- protected abstract ISourceContainer[] createSourceContainers() throws CoreException;
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getSourceContainers()
- */
- public synchronized ISourceContainer[] getSourceContainers() throws CoreException {
- if (fContainers == null) {
- fContainers = createSourceContainers();
- for (int i = 0; i < fContainers.length; i++) {
- ISourceContainer container = fContainers[i];
- container.init(getDirector());
- }
- }
- return fContainers;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
- */
- public void dispose() {
- super.dispose();
- if (fContainers != null) {
- for (int i = 0; i < fContainers.length; i++) {
- ISourceContainer container = fContainers[i];
- container.dispose();
- }
- }
- fContainers = null;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
deleted file mode 100644
index fc9ea661b..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ContainerSourceContainer.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * QNX Software Systems - Mikhail Khodjaiants - Bug 80857
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-
-/**
- * A source container for a container in the workspace. Source elements are searched
- * for within this container and optionally nested containers.
- * <p>
- * Names specified in <code>findSourceElements</code> method can
- * be simple or qualified. When a name is qualified, a file will
- * be searched for relative to this container, and optionally
- * nested containers.
- * </p>
- * @since 3.2
- * @noextend This class is not intended to be subclassed by clients.
- */
-public abstract class ContainerSourceContainer extends CompositeSourceContainer {
-
- private IContainer fContainer = null;
- private boolean fSubfolders = false;
-
- private URI fRootURI = null;
- private IFileStore fRootFile = null;
- private IWorkspaceRoot fRoot = null;
-
- /**
- * Constructs a source container on the given workspace container.
- *
- * @param container the container to search for source in
- * @param subfolders whether nested folders should be searched
- * for source elements
- */
- public ContainerSourceContainer(IContainer container, boolean subfolders) {
- fContainer = container;
- fSubfolders = subfolders;
- fRootURI = fContainer.getLocationURI();
- if (fRootURI != null) {
- try {
- fRootFile = EFS.getStore(fRootURI);
- } catch (CoreException e) {
- }
- fRoot = ResourcesPlugin.getWorkspace().getRoot();
- }
- }
-
- /**
- * Returns the workspace container this source container is
- * rooted at.
- *
- * @return the workspace container this source container is
- * rooted at
- */
- public IContainer getContainer() {
- return fContainer;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
- */
- public Object[] findSourceElements(String name) throws CoreException {
- ArrayList sources = new ArrayList();
-
- // An IllegalArgumentException is thrown from the "getFile" method
- // if the path created by appending the file name to the container
- // path doesn't conform with Eclipse resource restrictions.
- // To prevent the interruption of the search procedure we check
- // if the path is valid before passing it to "getFile".
- if ( validateFile(name) ) {
- IFile file = fContainer.getFile(new Path(name));
- if (file.exists()) {
- sources.add(file);
- } else {
- // See bug 82627 - perform case insensitive source lookup
- if (fRootURI == null) {
- return EMPTY;
- }
- // See bug 98090 - we need to handle relative path names
- IFileStore target = fRootFile.getFileStore(new Path(name));
- if (target.fetchInfo().exists()) {
- // We no longer have to account for bug 95832, and URIs take care
- // of canonical paths (fix to bug 95679 was removed).
- IFile[] files = fRoot.findFilesForLocationURI(target.toURI());
- if (isFindDuplicates() && files.length > 1) {
- for (int i = 0; i < files.length; i++) {
- sources.add(files[i]);
- }
- } else if (files.length > 0) {
- sources.add(files[0]);
- }
- }
- }
- }
-
- //check sub-folders
- if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
- ISourceContainer[] containers = getSourceContainers();
- for (int i=0; i < containers.length; i++) {
- Object[] objects = containers[i].findSourceElements(name);
- if (objects == null || objects.length == 0) {
- continue;
- }
- if (isFindDuplicates()) {
- for(int j=0; j < objects.length; j++)
- sources.add(objects[j]);
- } else {
- sources.add(objects[0]);
- break;
- }
- }
- }
-
- if(sources.isEmpty())
- return EMPTY;
- return sources.toArray();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return getContainer().getName();
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj != null && obj instanceof ContainerSourceContainer) {
- ContainerSourceContainer loc = (ContainerSourceContainer) obj;
- return loc.getContainer().equals(getContainer());
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getContainer().hashCode();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainer#isComposite()
- */
- public boolean isComposite() {
- return fSubfolders;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
- */
- protected ISourceContainer[] createSourceContainers() throws CoreException {
- if(fSubfolders) {
- IResource[] resources = getContainer().members();
- List list = new ArrayList(resources.length);
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- if (resource.getType() == IResource.FOLDER) {
- list.add(new FolderSourceContainer((IFolder)resource, fSubfolders));
- }
- }
- ISourceContainer[] containers = (ISourceContainer[]) list.toArray(new ISourceContainer[list.size()]);
- for (int i = 0; i < containers.length; i++) {
- ISourceContainer container = containers[i];
- container.init(getDirector());
- }
- return containers;
- }
- return new ISourceContainer[0];
- }
-
- /**
- * Validates the given string as a path for a file in this container.
- *
- * @param name path name
- */
- private boolean validateFile(String name) {
- IContainer container = getContainer();
- IPath path = container.getFullPath().append(name);
- return ResourcesPlugin.getWorkspace().validatePath(path.toOSString(), IResource.FILE).isOK();
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
deleted file mode 100644
index 957655ad0..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DefaultSourceContainer.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * A source container that computer the default source lookup path
- * for a launch configuration on each launch using a launch configuration's
- * associated source path computer.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class DefaultSourceContainer extends CompositeSourceContainer {
-
- /**
- * Unique identifier for the default source container type
- * (value <code>org.eclipse.debug.core.containerType.default</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.default"; //$NON-NLS-1$
-
- /**
- * Constructs a default source container.
- */
- public DefaultSourceContainer() {
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- return obj instanceof DefaultSourceContainer;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getClass().hashCode();
- }
-
- /**
- * Returns the launch configuration for which a default source lookup
- * path will be computed, or <code>null</code> if none.
- *
- * @return the launch configuration for which a default source lookup
- * path will be computed, or <code>null</code>
- */
- protected ILaunchConfiguration getLaunchConfiguration() {
- ISourceLookupDirector director = getDirector();
- if (director != null) {
- return director.getLaunchConfiguration();
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /**
- * Returns the source path computer to use, or <code>null</code>
- * if none.
- *
- * @return the source path computer to use, or <code>null</code>
- * if none
- */
- private ISourcePathComputer getSourcePathComputer() {
- ISourceLookupDirector director = getDirector();
- if (director != null) {
- return director.getSourcePathComputer();
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return SourceLookupMessages.DefaultSourceContainer_0;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
- */
- protected ISourceContainer[] createSourceContainers() throws CoreException {
- ISourcePathComputer sourcePathComputer = getSourcePathComputer();
- if (sourcePathComputer != null) {
- ILaunchConfiguration config= getLaunchConfiguration();
- if (config != null) {
- return sourcePathComputer.computeSourceContainers(config, null);
- }
- }
-
- return new ISourceContainer[0];
- }
-} \ No newline at end of file
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
deleted file mode 100644
index 311dba478..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/DirectorySourceContainer.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A directory in the local file system. Source elements returned
- * from <code>findSourceElements(...)</code> are instances
- * of <code>LocalFileStorage</code>.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-
-public class DirectorySourceContainer extends CompositeSourceContainer {
-
- // root directory
- private File fDirectory;
- // whether to search sub-folders
- private boolean fSubfolders = false;
- /**
- * Unique identifier for the directory source container type
- * (value <code>org.eclipse.debug.core.containerType.directory</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.directory"; //$NON-NLS-1$
-
- /**
- * Constructs an external folder container for the
- * directory identified by the given path.
- *
- * @param dirPath path to a directory in the local file system
- * @param subfolders whether folders within the root directory
- * should be searched for source elements
- */
- public DirectorySourceContainer(IPath dirPath, boolean subfolders) {
- this(dirPath.toFile(), subfolders);
- }
-
- /**
- * Constructs an external folder container for the
- * directory identified by the given file.
- *
- * @param dir a directory in the local file system
- * @param subfolders whether folders within the root directory
- * should be searched for source elements
- */
- public DirectorySourceContainer(File dir, boolean subfolders) {
- fDirectory = dir;
- fSubfolders = subfolders;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return fDirectory.getName();
- }
-
- /**
- * Returns the root directory in the local file system associated
- * with this source container.
- *
- * @return the root directory in the local file system associated
- * with this source container
- */
- public File getDirectory() {
- return fDirectory;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
- */
- public Object[] findSourceElements(String name) throws CoreException {
- ArrayList sources = new ArrayList();
- File directory = getDirectory();
- File file = new File(directory, name);
- if (file.exists() && file.isFile()) {
- sources.add(new LocalFileStorage(file));
- }
-
- //check sub-folders
- if ((isFindDuplicates() && fSubfolders) || (sources.isEmpty() && fSubfolders)) {
- ISourceContainer[] containers = getSourceContainers();
- for (int i=0; i < containers.length; i++) {
- Object[] objects = containers[i].findSourceElements(name);
- if (objects == null || objects.length == 0) {
- continue;
- }
- if (isFindDuplicates()) {
- for(int j=0; j < objects.length; j++)
- sources.add(objects[j]);
- } else {
- sources.add(objects[0]);
- break;
- }
- }
- }
-
- if(sources.isEmpty())
- return EMPTY;
- return sources.toArray();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
- */
- public boolean isComposite() {
- return fSubfolders;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj instanceof DirectorySourceContainer) {
- DirectorySourceContainer container = (DirectorySourceContainer) obj;
- return container.getDirectory().equals(getDirectory());
- }
- return false;
- }
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getDirectory().hashCode();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
- */
- protected ISourceContainer[] createSourceContainers() throws CoreException {
- if (isComposite()) {
- String[] files = fDirectory.list();
- if (files != null) {
- List dirs = new ArrayList();
- for (int i = 0; i < files.length; i++) {
- String name = files[i];
- File file = new File(getDirectory(), name);
- if (file.exists() && file.isDirectory()) {
- dirs.add(new DirectorySourceContainer(file, true));
- }
- }
- ISourceContainer[] containers = (ISourceContainer[]) dirs.toArray(new ISourceContainer[dirs.size()]);
- for (int i = 0; i < containers.length; i++) {
- ISourceContainer container = containers[i];
- container.init(getDirector());
- }
- return containers;
- }
- }
- return new ISourceContainer[0];
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
deleted file mode 100644
index d1bb037e9..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ExternalArchiveSourceContainer.java
+++ /dev/null
@@ -1,276 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.IOException;
-import com.ibm.icu.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupUtils;
-
-/**
- * An archive in the local file system. Returns instances
- * of <code>ZipEntryStorage</code> as source elements.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ExternalArchiveSourceContainer extends AbstractSourceContainer {
-
- private boolean fDetectRoots = false;
- private Set fPotentialRoots = null;
- private List fRoots = new ArrayList();
- private String fArchivePath = null;
- /**
- * Unique identifier for the external archive source container type
- * (value <code>org.eclipse.debug.core.containerType.externalArchive</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.externalArchive"; //$NON-NLS-1$
-
- /**
- * Creates an archive source container on the archive at the
- * specified location in the local file system.
- *
- * @param archivePath path to the archive in the local file system
- * @param detectRootPaths whether root container paths should be detected. When
- * <code>true</code>, searching is performed relative to a root path
- * within the archive based on fully qualified file names. A root
- * path is automatically determined for when the first
- * successful search is performed. For example, when searching for a file
- * named <code>a/b/c.d</code>, and an entry in the archive named
- * <code>r/a/b/c.d</code> exists, a root path is set to <code>r</code>.
- * When searching for an unqualified file name, root containers are not
- * considered.
- * When <code>false</code>, searching is performed by
- * matching file names as suffixes to the entries in the archive.
- */
- public ExternalArchiveSourceContainer(String archivePath, boolean detectRootPaths) {
- fArchivePath = archivePath;
- fDetectRoots = detectRootPaths;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#findSourceElements(java.lang.String)
- */
- public Object[] findSourceElements(String name) throws CoreException {
- name = name.replace('\\', '/');
- ZipFile file = getArchive();
- // NOTE: archive can be closed between get (above) and synchronized block (below)
- synchronized (file) {
- boolean isQualfied = name.indexOf('/') > 0;
- if (fDetectRoots && isQualfied) {
- ZipEntry entry = searchRoots(file, name);
- if (entry != null) {
- return new Object[]{new ZipEntryStorage(file, entry)};
- }
- } else {
- // try exact match
- ZipEntry entry = null;
- try {
- entry = file.getEntry(name);
- } catch (IllegalStateException e) {
- // archive was closed between retrieving and locking
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- e.getMessage(), e));
- }
- if (entry != null) {
- // can't be any duplicates if there is an exact match
- return new Object[]{new ZipEntryStorage(file, entry)};
- }
- // search
- Enumeration entries = file.entries();
- List matches = null;
- while (entries.hasMoreElements()) {
- entry = (ZipEntry)entries.nextElement();
- String entryName = entry.getName();
- if (entryName.endsWith(name)) {
- if (isQualfied || entryName.length() == name.length() || entryName.charAt(entryName.length() - name.length() - 1) == '/') {
- if (isFindDuplicates()) {
- if (matches == null) {
- matches = new ArrayList();
- }
- matches.add(new ZipEntryStorage(file, entry));
- } else {
- return new Object[]{new ZipEntryStorage(file, entry)};
- }
- }
- }
- }
- if (matches != null) {
- return matches.toArray();
- }
- }
- }
- return EMPTY;
- }
-
- /**
- * Returns the root path in this archive for the given file name, based
- * on its type, or <code>null</code> if none. Detects a root if a root has
- * not yet been detected for the given file type.
- *
- * @param file zip file to search in
- * @param name file name
- * @exception CoreException if an exception occurs while detecting the root
- */
- private ZipEntry searchRoots(ZipFile file, String name) throws CoreException {
- if (fPotentialRoots == null) {
- fPotentialRoots = new HashSet();
- fPotentialRoots.add(""); //$NON-NLS-1$
- // all potential roots are the directories
- try {
- Enumeration entries = file.entries();
- while (entries.hasMoreElements()) {
- ZipEntry entry = (ZipEntry) entries.nextElement();
- if (entry.isDirectory()) {
- fPotentialRoots.add(entry.getName());
- } else {
- String entryName = entry.getName();
- int index = entryName.lastIndexOf("/"); //$NON-NLS-1$
- while (index > 0) {
- if (fPotentialRoots.add(entryName.substring(0, index + 1))) {
- entryName = entryName.substring(0, index);
- index = entryName.lastIndexOf("/"); //$NON-NLS-1$
- } else {
- break;
- }
- }
- }
- }
- } catch (IllegalStateException e) {
- // archive was closed between retrieving and locking
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- e.getMessage(), e));
- }
- }
- int i = 0;
- while (i < fRoots.size()) {
- String root = (String) fRoots.get(i);
- ZipEntry entry = file.getEntry(root+name);
- if (entry != null) {
- return entry;
- }
- i++;
- }
- if (!fPotentialRoots.isEmpty()) {
- Iterator roots = fPotentialRoots.iterator();
- String root = null;
- ZipEntry entry = null;
- while (roots.hasNext()) {
- root = (String) roots.next();
- entry = file.getEntry(root+name);
- if (entry != null) {
- break;
- }
- }
- if (entry != null) {
- if (root != null) {
- fRoots.add(root);
- fPotentialRoots.remove(root);
- // remove any roots that begin with the new root, as roots cannot be nested
- Iterator rs = fPotentialRoots.iterator();
- while (rs.hasNext()) {
- String r = (String) rs.next();
- if (r.startsWith(root)) {
- rs.remove();
- }
- }
- }
- return entry;
- }
- }
- return null;
- }
-
- /**
- * Returns the archive to search in.
- *
- * @throws CoreException if unable to access the archive
- */
- private ZipFile getArchive() throws CoreException {
- try {
- return SourceLookupUtils.getZipFile(fArchivePath);
- } catch (IOException e) {
- File file = new File(fArchivePath);
- if (file.exists()) {
- abort(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_2, new String[]{fArchivePath}), e);
- } else {
- warn(MessageFormat.format(SourceLookupMessages.ExternalArchiveSourceContainer_1, new String[]{fArchivePath}), e);
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return fArchivePath;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /**
- * Returns whether root paths are automatically detected in this
- * archive source container.
- *
- * @return whether root paths are automatically detected in this
- * archive source container
- */
- public boolean isDetectRoot() {
- return fDetectRoots;
- }
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- return obj instanceof ExternalArchiveSourceContainer &&
- ((ExternalArchiveSourceContainer)obj).getName().equals(getName());
- }
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getName().hashCode();
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#dispose()
- */
- public void dispose() {
- super.dispose();
- if (fPotentialRoots != null) {
- fPotentialRoots.clear();
- }
- fRoots.clear();
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
deleted file mode 100644
index d43b9e289..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/FolderSourceContainer.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A folder in the workspace.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class FolderSourceContainer extends ContainerSourceContainer {
-
- /**
- * Unique identifier for the folder source container type
- * (value <code>org.eclipse.debug.core.containerType.folder</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.folder"; //$NON-NLS-1$
-
-
- /**
- * Constructs a source container on the given folder.
- *
- * @param folder the folder to search for source in
- * @param subfolders whether to search nested folders
- */
- public FolderSourceContainer(IContainer folder, boolean subfolders) {
- super(folder, subfolders);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
deleted file mode 100644
index 454c06a54..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/LocalFileStorage.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * Implementation of storage for a local file
- * (<code>java.io.File</code>).
- * <p>
- * This class may be instantiated.
- * </p>
- * @see IStorage
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class LocalFileStorage extends PlatformObject implements IStorage {
-
- /**
- * The file this storage refers to.
- */
- private File fFile;
-
- /**
- * Constructs and returns storage for the given file.
- *
- * @param file a local file
- */
- public LocalFileStorage(File file){
- setFile(file);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getContents()
- */
- public InputStream getContents() throws CoreException {
- try {
- return new FileInputStream(getFile());
- } catch (IOException e){
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.LocalFileStorage_0, e));
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getFullPath()
- */
- public IPath getFullPath() {
- try {
- return new Path(getFile().getCanonicalPath());
- } catch (IOException e) {
- DebugPlugin.log(e);
- return null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getName()
- */
- public String getName() {
- return getFile().getName();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#isReadOnly()
- */
- public boolean isReadOnly() {
- return true;
- }
-
- /**
- * Sets the file associated with this storage
- *
- * @param file a local file
- */
- private void setFile(File file) {
- fFile = file;
- }
-
- /**
- * Returns the file associated with this storage
- *
- * @return file
- */
- public File getFile() {
- return fFile;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object object) {
- return object instanceof LocalFileStorage &&
- getFile().equals(((LocalFileStorage)object).getFile());
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getFile().hashCode();
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
deleted file mode 100644
index be8f9ddb3..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ProjectSourceContainer.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Mikhail Khodjaiants, QNX - Bug 110227: Possible infinite loop in ProjectSourceContainer
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-
-/**
- * A project in the workspace. Source is searched for in the root project
- * folder and all folders within the project recursively. Optionally,
- * referenced projects may be searched as well.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ProjectSourceContainer extends ContainerSourceContainer {
-
- boolean fReferencedProjects=false;
- /**
- * Unique identifier for the project source container type
- * (value <code>org.eclipse.debug.core.containerType.project</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.project"; //$NON-NLS-1$
-
- /**
- * Constructs a project source container.
- *
- * @param project the project to search for source in
- * @param referenced whether referenced projects should be considered
- */
- public ProjectSourceContainer(IProject project, boolean referenced) {
- super(project, true);
- fReferencedProjects = referenced;
- }
-
- /**
- * Returns whether referenced projects are considered.
- *
- * @return whether referenced projects are considered
- */
- public boolean isSearchReferencedProjects() {
- return fReferencedProjects;
- }
-
- /**
- * Returns the project this source container references.
- *
- * @return the project this source container references
- */
- public IProject getProject() {
- return (IProject) getContainer();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#isComposite()
- */
- public boolean isComposite() {
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
- */
- protected ISourceContainer[] createSourceContainers() throws CoreException {
- if (getProject().isOpen()) {
- if (isSearchReferencedProjects()) {
- IProject project = getProject();
- IProject[] projects = getAllReferencedProjects(project);
- ISourceContainer[] folders = super.createSourceContainers();
- List all = new ArrayList(folders.length + projects.length);
- for (int i = 0; i < folders.length; i++) {
- all.add(folders[i]);
- }
- for (int i = 0; i < projects.length; i++) {
- if (project.exists() && project.isOpen()) {
- ProjectSourceContainer container = new ProjectSourceContainer(projects[i], false);
- container.init(getDirector());
- all.add(container);
- }
- }
- return (ISourceContainer[]) all.toArray(new ISourceContainer[all.size()]);
- }
- return super.createSourceContainers();
- }
- return new ISourceContainer[0];
- }
-
- private IProject[] getAllReferencedProjects(IProject project) throws CoreException {
- Set all = new HashSet();
- getAllReferencedProjects(all, project);
- return (IProject[]) all.toArray(new IProject[all.size()]);
- }
-
- private void getAllReferencedProjects(Set all, IProject project) throws CoreException {
- IProject[] refs = project.getReferencedProjects();
- for (int i = 0; i < refs.length; i++) {
- if (!all.contains(refs[i]) && refs[i].exists() && refs[i].isOpen()) {
- all.add(refs[i]);
- getAllReferencedProjects(all, refs[i]);
- }
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
deleted file mode 100644
index 9bed84fb7..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/WorkspaceSourceContainer.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * All projects in the workspace.
- * <p>
- * Clients may instantiate this class.
- * </p>
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class WorkspaceSourceContainer extends CompositeSourceContainer {
-
- /**
- * Unique identifier for the workspace source container type
- * (value <code>org.eclipse.debug.core.containerType.workspace</code>).
- */
- public static final String TYPE_ID = DebugPlugin.getUniqueIdentifier() + ".containerType.workspace"; //$NON-NLS-1$
-
- public WorkspaceSourceContainer() {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getName()
- */
- public String getName() {
- return SourceLookupMessages.WorkspaceSourceContainer_0;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- return obj instanceof WorkspaceSourceContainer;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return ResourcesPlugin.getWorkspace().hashCode();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourceContainer#getType()
- */
- public ISourceContainerType getType() {
- return getSourceContainerType(TYPE_ID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.containers.CompositeSourceContainer#createSourceContainers()
- */
- protected ISourceContainer[] createSourceContainers() throws CoreException {
- IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();
- ISourceContainer[] containers = new ISourceContainer[projects.length];
- for (int i = 0; i < projects.length; i++) {
- ISourceContainer container = new ProjectSourceContainer(projects[i], false);
- container.init(getDirector());
- containers[i] = container;
- }
- return containers;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
deleted file mode 100644
index 205d91566..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/ZipEntryStorage.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.core.sourcelookup.containers;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-
-/**
- * Storage implementation for zip entries.
- * <p>
- * This class may be instantiated.
- * </p>
- * @see IStorage
- * @since 3.0
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class ZipEntryStorage extends PlatformObject implements IStorage {
-
- /**
- * Zip file associated with zip entry
- */
- private ZipFile fArchive;
-
- /**
- * Zip entry
- */
- private ZipEntry fZipEntry;
-
- /**
- * Constructs a new storage implementation for the
- * given zip entry in the specified zip file
- *
- * @param archive zip file
- * @param entry zip entry
- */
- public ZipEntryStorage(ZipFile archive, ZipEntry entry) {
- setArchive(archive);
- setZipEntry(entry);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getContents()
- */
- public InputStream getContents() throws CoreException {
- try {
- return getArchive().getInputStream(getZipEntry());
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.ZipEntryStorage_0, e));
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getFullPath()
- */
- public IPath getFullPath() {
- return new Path(getArchive().getName()).append(getZipEntry().getName());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#getName()
- */
- public String getName() {
- int index = getZipEntry().getName().lastIndexOf('\\');
- if (index == -1) {
- index = getZipEntry().getName().lastIndexOf('/');
- }
- if (index == -1) {
- return getZipEntry().getName();
- }
- return getZipEntry().getName().substring(index + 1);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IStorage#isReadOnly()
- */
- public boolean isReadOnly() {
- return true;
- }
-
- /**
- * Sets the archive containing the zip entry.
- *
- * @param archive a zip file
- */
- private void setArchive(ZipFile archive) {
- fArchive = archive;
- }
-
- /**
- * Returns the archive containing the zip entry.
- *
- * @return zip file
- */
- public ZipFile getArchive() {
- return fArchive;
- }
-
- /**
- * Sets the entry that contains the source.
- *
- * @param entry the entry that contains the source
- */
- private void setZipEntry(ZipEntry entry) {
- fZipEntry = entry;
- }
-
- /**
- * Returns the entry that contains the source
- *
- * @return zip entry
- */
- public ZipEntry getZipEntry() {
- return fZipEntry;
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object object) {
- return object instanceof ZipEntryStorage &&
- getArchive().equals(((ZipEntryStorage)object).getArchive()) &&
- getZipEntry().getName().equals(((ZipEntryStorage)object).getZipEntry().getName());
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return getZipEntry().getName().hashCode();
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
deleted file mode 100644
index 7125fb5a2..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/containers/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides implementations of common source containers supporting source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides implementations of common source containers, such as
- archives, folders, and projects.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html b/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
deleted file mode 100644
index 8866be6cc..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/core/sourcelookup/package.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<title>Eclipse Debug Platform</title>
-</head>
-
-<body bgcolor="#FFFFFF">
-
-<p>Provides support for source lookup.</p>
-
-<h2>Package Specification</h2>
-
-<p>This package provides classes and interfaces to support source lookup. A source
- lookup director is a persistable source locator that directs source lookup among
- a collection of source lookup participants and a collection of source containers.
- Each source lookup participant is a source locator itself, which allows more
- than one source locator to participate in source lookup for a launch. Each source
- lookup participant searches for source in the source containers managed by its
- director, and each participant is notified of changes in the set of source containers
- being searched.</p>
-<p>A source lookup participant participates in source lookup by searching an ordered
- list of source containers for source elements corresponding to a debug artifact.
- For example, a participant may be asked to find source corresponding to a stack
- frame or breakpoint. An implementation of a source lookup participant is debug
- model specific, since it must convert the debug model artifact (stack frame,
- breakpoint, etc.), into a source name that can be recognized by a source container,
- to search for source elements. Source containers are generally debug model independent,
- whereas source lookup participants are debug model specific.</p>
-
-<blockquote>&nbsp;</blockquote>
-</body>
-</html>
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java
deleted file mode 100644
index 6bd2824e2..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointImportParticipantDelegate.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.model.IBreakpointImportParticipant;
-
-/**
- * Proxy to a breakpointImportParticipant extension.
- * Client can contribute participant through the <code>breakpointImportParticipant</code> extension point
- *
- * Example contribution:
- * <pre>
- * <extension
- point="org.eclipse.debug.core.breakpointImportParticipant">
- <ImportParticipant
- participant="x.y.z.BreakpointImportParticipant"
- type="org.eclipse.jdt.debug.javaLineBreakpointMarker">
- </ImportParticipant>
- </extension>
- * </pre>
- *
- * @noextend This class is not intended to be subclassed by clients.
- * @noinstantiate This class is not intended to be instantiated by clients.
- *
- * @since 3.5
- */
-public class BreakpointImportParticipantDelegate {
-
- /**
- * The configuration element for this delegate
- */
- private IConfigurationElement fElement = null;
- private IBreakpointImportParticipant fParticipant = null;
-
- /**
- * Constructor
- * @param element the element this proxy is created on
- */
- public BreakpointImportParticipantDelegate(IConfigurationElement element) {
- fElement = element;
- }
-
- /**
- * Returns the {@link IBreakpointImportParticipant} delegate or <code>null</code> of there was
- * a problem loading the delegate
- *
- * @return the {@link IBreakpointImportParticipant} or <code>null</code>
- * @throws CoreException
- */
- public IBreakpointImportParticipant getDelegate() throws CoreException {
- if(fParticipant == null) {
- fParticipant = (IBreakpointImportParticipant) fElement.createExecutableExtension(IConfigurationElementConstants.PARTICIPANT);
- }
- return fParticipant;
- }
-
- /**
- * Returns the marker type this participant is registered for.
- *
- * @return the marker type this participant is registered for
- * @throws CoreException
- */
- public String getType() throws CoreException {
- return fElement.getAttribute(IConfigurationElementConstants.TYPE);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
deleted file mode 100644
index a369fad3e..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/BreakpointManager.java
+++ /dev/null
@@ -1,1192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Vector;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IBreakpointListener;
-import org.eclipse.debug.core.IBreakpointManager;
-import org.eclipse.debug.core.IBreakpointManagerListener;
-import org.eclipse.debug.core.IBreakpointsListener;
-import org.eclipse.debug.core.model.IBreakpoint;
-import org.eclipse.debug.core.model.IBreakpointImportParticipant;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The breakpoint manager manages all registered breakpoints
- * for the debug plug-in. It is instantiated by the debug plug-in at startup.
- *
- * @see IBreakpointManager
- */
-public class BreakpointManager implements IBreakpointManager, IResourceChangeListener {
-
- /**
- * Constants for breakpoint add/remove/change updates
- */
- private final static int ADDED = 0;
- private final static int REMOVED = 1;
- private final static int CHANGED = 2;
-
- /**
- * A collection of breakpoints registered with this manager.
- */
- private Vector fBreakpoints= null;
-
- /**
- * Map of breakpoint import participants.
- * Map has the form:
- * <pre>Map(String - markerid, List of {@link IBreakpointImportParticipantDelegate})</pre>
- */
- private HashMap fImportParticipants = null;
-
- /**
- * A system default import participant that performs legacy comparison support
- * when no participants are provided for a given type.
- *
- * @since 3.5
- */
- private IBreakpointImportParticipant fDefaultParticipant = null;
-
- /**
- * A collection of breakpoint markers that have received a POST_CHANGE notification
- * that they have changed before a POST_BUILD notification of add. This allows us
- * to tell if a marker has been created & changed since the breakpoint has been
- * registered (see bug 138473).
- */
- private Set fPostChangMarkersChanged = new HashSet();
-
- /**
- * A collection of breakpoint markers that have received a POST_BUILD notification
- * of being added.
- */
- private Set fPostBuildMarkersAdded = new HashSet();
-
- /**
- * Collection of breakpoints being added currently. Used to
- * suppress change notification of "REGISTERED" attribute when
- * being added.
- */
- private List fSuppressChange = new ArrayList();
-
- /**
- * A table of breakpoint extension points, keyed by
- * marker type
- * key: a marker type
- * value: the breakpoint extension which corresponds to that marker type
- */
- private HashMap fBreakpointExtensions;
-
- /**
- * Collection of markers that associates markers to breakpoints
- * key: a marker
- * value: the breakpoint which contains that marker
- */
- private HashMap fMarkersToBreakpoints;
-
- /**
- * Collection of breakpoint listeners.
- */
- private ListenerList fBreakpointListeners= new ListenerList();
-
- /**
- * Collection of (plural) breakpoint listeners.
- */
- private ListenerList fBreakpointsListeners= new ListenerList();
-
- /**
- * Singleton resource delta visitor which handles marker
- * additions, changes, and removals.
- */
- private static BreakpointManagerVisitor fgVisitor;
-
- /**
- * Collection of breakpoint manager listeners which are
- * notified when this manager's state changes.
- */
- private ListenerList fBreakpointManagerListeners= new ListenerList();
-
- /**
- * Listens to POST_CHANGE notifications of breakpoint markers to detect when
- * a breakpoint is added & changed before the POST_BUILD add notification is
- * sent.
- */
- class PostChangeListener implements IResourceChangeListener {
-
- private PostChangeVisitor fVisitor = new PostChangeVisitor();
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
- */
- public void resourceChanged(IResourceChangeEvent event) {
- IResourceDelta delta= event.getDelta();
- if (delta != null) {
- try {
- delta.accept(fVisitor);
- } catch (CoreException ce) {
- DebugPlugin.log(ce);
- }
- }
- }
-
- }
-
- /**
- * Default implementation of a breakpoint import participant
- *
- * @since 3.5
- */
- class DefaultImportParticipant implements IBreakpointImportParticipant {
-
- public boolean matches(Map attributes, IBreakpoint breakpoint) throws CoreException {
- //perform legacy comparison
- IMarker marker = breakpoint.getMarker();
- String type = (String) attributes.get("type"); //$NON-NLS-1$
- Integer line = (Integer) attributes.get(IMarker.LINE_NUMBER);
- Object localline = marker.getAttribute(IMarker.LINE_NUMBER);
- String localtype = marker.getType();
- if (type.equals(localtype)) {
- if(line != null && line.equals(localline)) {
- return true;
- }
- else if(line == null) {
- return true;
- }
- }
- return false;
- }
- public void verify(IBreakpoint breakpoint) throws CoreException {}
- }
-
- /**
- * The listener
- */
- private PostChangeListener fPostChangeListener = new PostChangeListener();
-
- class PostChangeVisitor implements IResourceDeltaVisitor {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
- */
- public boolean visit(IResourceDelta delta) throws CoreException {
- if (delta == null) {
- return false;
- }
- IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();
- for (int i= 0; i < markerDeltas.length; i++) {
- IMarkerDelta markerDelta= markerDeltas[i];
- if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
- switch (markerDelta.getKind()) {
- case IResourceDelta.ADDED :
- break;
- case IResourceDelta.REMOVED :
- break;
- case IResourceDelta.CHANGED :
- IMarker marker = markerDelta.getMarker();
- synchronized (fPostChangMarkersChanged) {
- if (!fPostBuildMarkersAdded.contains(marker)) {
- fPostChangMarkersChanged.add(marker);
- }
- }
- break;
- }
- }
- }
- return true;
- }
-
- }
-
- /**
- * Constructs a new breakpoint manager.
- */
- public BreakpointManager() {
- fMarkersToBreakpoints= new HashMap(10);
- fBreakpointExtensions= new HashMap(15);
- }
-
- /**
- * Loads all the breakpoints on the given resource.
- *
- * @param resource the resource which contains the breakpoints
- * @param notify whether to notify of the breakpoint additions
- */
- private void loadBreakpoints(IResource resource, boolean notify) throws CoreException {
- initBreakpointExtensions();
- IMarker[] markers= getPersistedMarkers(resource);
- List added = new ArrayList();
- for (int i = 0; i < markers.length; i++) {
- IMarker marker= markers[i];
- try {
- IBreakpoint breakpoint = createBreakpoint(marker);
- synchronized (fPostChangMarkersChanged) {
- fPostBuildMarkersAdded.add(marker);
- }
- if (breakpoint.isRegistered()) {
- added.add(breakpoint);
- }
- } catch (DebugException e) {
- DebugPlugin.log(e);
- }
- }
- addBreakpoints((IBreakpoint[])added.toArray(new IBreakpoint[added.size()]), notify);
- }
-
- /**
- * Returns the persisted markers associated with the given resource.
- *
- * Delete any invalid breakpoint markers. This is done at startup rather
- * than shutdown, since the changes made at shutdown are not persisted as
- * the workspace state has already been saved. See bug 7683.
- *
- * Since the <code>TRANSIENT</code> marker attribute/feature has been added,
- * we no longer have to manually delete non-persisted markers - the platform
- * does this for us (at shutdown, transient markers are not saved). However,
- * the code is still present to delete non-persisted markers from old
- * workspaces.
- */
- protected IMarker[] getPersistedMarkers(IResource resource) throws CoreException {
- IMarker[] markers= resource.findMarkers(IBreakpoint.BREAKPOINT_MARKER, true, IResource.DEPTH_INFINITE);
- final List delete = new ArrayList();
- List persisted= new ArrayList();
- for (int i = 0; i < markers.length; i++) {
- IMarker marker= markers[i];
- // ensure the marker has a valid model identifier attribute
- // and delete the breakpoint if not
- String modelId = marker.getAttribute(IBreakpoint.ID, null);
- if (modelId == null) {
- // marker with old/invalid format - delete
- delete.add(marker);
- } else if (!marker.getAttribute(IBreakpoint.PERSISTED, true)) {
- // the breakpoint is marked as not to be persisted,
- // schedule for deletion
- delete.add(marker);
- } else {
- persisted.add(marker);
- }
- }
- // delete any markers that are not to be restored
- if (!delete.isEmpty()) {
- final IMarker[] delMarkers = (IMarker[])delete.toArray(new IMarker[delete.size()]);
- IWorkspaceRunnable wr = new IWorkspaceRunnable() {
- public void run(IProgressMonitor pm) throws CoreException {
- for (int i = 0; i < delMarkers.length; i++) {
- IMarker marker = delMarkers[i];
- marker.delete();
- }
- }
- };
- new BreakpointManagerJob(wr).schedule();
- }
- return (IMarker[])persisted.toArray(new IMarker[persisted.size()]);
- }
-
- /**
- * Removes this manager as a resource change listener
- * and removes all breakpoint listeners.
- */
- public void shutdown() {
- getWorkspace().removeResourceChangeListener(this);
- getWorkspace().removeResourceChangeListener(fPostChangeListener);
- fBreakpointListeners = null;
- fBreakpointsListeners = null;
- fBreakpointManagerListeners = null;
- if(fImportParticipants != null) {
- fImportParticipants.clear();
- fImportParticipants = null;
- fDefaultParticipant = null;
- }
- }
-
- /**
- * Find the defined breakpoint extensions and cache them for use in recreating
- * breakpoints from markers.
- */
- private void initBreakpointExtensions() {
- IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_BREAKPOINTS);
- IConfigurationElement[] elements = ep.getConfigurationElements();
- for (int i= 0; i < elements.length; i++) {
- String markerType = elements[i].getAttribute(IConfigurationElementConstants.MARKER_TYPE);
- String className = elements[i].getAttribute(IConfigurationElementConstants.CLASS);
- if (markerType == null) {
- DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + elements[i].getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: markerType", null)); //$NON-NLS-1$ //$NON-NLS-2$
- } else if (className == null){
- DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + elements[i].getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: class", null)); //$NON-NLS-1$ //$NON-NLS-2$
- } else {
- fBreakpointExtensions.put(markerType, elements[i]);
- }
- }
- }
-
- /**
- * Convenience method to get the workspace
- */
- private IWorkspace getWorkspace() {
- return ResourcesPlugin.getWorkspace();
- }
-
- /**
- * @see IBreakpointManager#getBreakpoint(IMarker)
- */
- public IBreakpoint getBreakpoint(IMarker marker) {
- // ensure that breakpoints are initialized
- getBreakpoints0();
- return (IBreakpoint)fMarkersToBreakpoints.get(marker);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#getBreakpoints()
- */
- public IBreakpoint[] getBreakpoints() {
- IBreakpoint[] temp = new IBreakpoint[0];
- Vector breakpoints = getBreakpoints0();
- synchronized (breakpoints) {
- temp = new IBreakpoint[breakpoints.size()];
- breakpoints.copyInto(temp);
- }
- return temp;
- }
-
- /**
- * The BreakpointManager waits to load the breakpoints
- * of the workspace until a request is made to retrieve the
- * breakpoints.
- */
- private synchronized Vector getBreakpoints0() {
- if (fBreakpoints == null) {
- initializeBreakpoints();
- }
- return fBreakpoints;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#getBreakpoints(java.lang.String)
- */
- public IBreakpoint[] getBreakpoints(String modelIdentifier) {
- Vector allBreakpoints= getBreakpoints0();
- synchronized (allBreakpoints) {
- ArrayList temp = new ArrayList(allBreakpoints.size());
- Iterator breakpoints= allBreakpoints.iterator();
- while (breakpoints.hasNext()) {
- IBreakpoint breakpoint= (IBreakpoint) breakpoints.next();
- String id= breakpoint.getModelIdentifier();
- if (id != null && id.equals(modelIdentifier)) {
- temp.add(breakpoint);
- }
- }
- return (IBreakpoint[]) temp.toArray(new IBreakpoint[temp.size()]);
- }
- }
-
- /**
- * Loads the list of breakpoints from the breakpoint markers in the
- * workspace. Start listening to resource deltas.
- */
- private void initializeBreakpoints() {
- setBreakpoints(new Vector(10));
- try {
- loadBreakpoints(getWorkspace().getRoot(), false);
- getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_BUILD);
- getWorkspace().addResourceChangeListener(fPostChangeListener, IResourceChangeEvent.POST_CHANGE);
- } catch (CoreException ce) {
- DebugPlugin.log(ce);
- setBreakpoints(new Vector(0));
- }
- }
-
- /**
- * @see IBreakpointManager#isRegistered(IBreakpoint)
- */
- public boolean isRegistered(IBreakpoint breakpoint) {
- return getBreakpoints0().contains(breakpoint);
- }
-
-
- /**
- * @see IBreakpointManager#removeBreakpoint(IBreakpoint, boolean)
- */
- public void removeBreakpoint(IBreakpoint breakpoint, boolean delete) throws CoreException {
- removeBreakpoints(new IBreakpoint[]{breakpoint}, delete);
- }
-
- /**
- * @see IBreakpointManager#removeBreakpoints(IBreakpoint[], boolean)
- */
- public void removeBreakpoints(IBreakpoint[] breakpoints, final boolean delete) throws CoreException {
- final List remove = new ArrayList(breakpoints.length);
- for (int i = 0; i < breakpoints.length; i++) {
- IBreakpoint breakpoint = breakpoints[i];
- if (getBreakpoints0().contains(breakpoint)) {
- remove.add(breakpoint);
- }
- }
- if (!remove.isEmpty()) {
- Iterator iter = remove.iterator();
- while (iter.hasNext()) {
- IBreakpoint breakpoint = (IBreakpoint)iter.next();
- getBreakpoints0().remove(breakpoint);
- fMarkersToBreakpoints.remove(breakpoint.getMarker());
- }
- fireUpdate(remove, null, REMOVED);
- IWorkspaceRunnable r = new IWorkspaceRunnable() {
- public void run(IProgressMonitor montitor) throws CoreException {
- Iterator innerIter = remove.iterator();
- while (innerIter.hasNext()) {
- IBreakpoint breakpoint = (IBreakpoint)innerIter.next();
- if (delete) {
- breakpoint.delete();
- } else {
- // if the breakpoint is being removed from the manager
- // because the project is closing, the breakpoint should
- // remain as registered, otherwise, the breakpoint should
- // be marked as unregistered
- IMarker marker = breakpoint.getMarker();
- if (marker.exists()) {
- IProject project = breakpoint.getMarker().getResource().getProject();
- if (project == null || project.isOpen()) {
- breakpoint.setRegistered(false);
- }
- }
- }
- }
- }
- };
- getWorkspace().run(r, null, 0, null);
- }
- }
-
- /**
- * Create a breakpoint for the given marker. The created breakpoint
- * is of the type specified in the breakpoint extension associated
- * with the given marker type.
- *
- * @param marker marker to create a breakpoint for
- * @return a breakpoint on this marker
- * @exception DebugException if breakpoint creation fails. Reasons for
- * failure include:
- * <ol>
- * <li>The breakpoint manager cannot determine what kind of breakpoint
- * to instantiate for the given marker type</li>
- * <li>A lower level exception occurred while accessing the given marker</li>
- * </ol>
- */
- public IBreakpoint createBreakpoint(IMarker marker) throws DebugException {
- IBreakpoint breakpoint= (IBreakpoint) fMarkersToBreakpoints.get(marker);
- if (breakpoint != null) {
- return breakpoint;
- }
- try {
- IConfigurationElement config = (IConfigurationElement)fBreakpointExtensions.get(marker.getType());
- if (config == null) {
- throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.CONFIGURATION_INVALID, MessageFormat.format(DebugCoreMessages.BreakpointManager_Missing_breakpoint_definition, new String[] {marker.getType()}), null));
- }
- Object object = config.createExecutableExtension(IConfigurationElementConstants.CLASS);
- if (object instanceof IBreakpoint) {
- breakpoint = (IBreakpoint)object;
- breakpoint.setMarker(marker);
- } else {
- DebugPlugin.log(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "Breakpoint extension " + config.getDeclaringExtension().getUniqueIdentifier() + " missing required attribute: class", null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return breakpoint;
- } catch (CoreException e) {
- throw new DebugException(e.getStatus());
- }
- }
-
- /**
- * @see IBreakpointManager#addBreakpoint(IBreakpoint)
- */
- public void addBreakpoint(IBreakpoint breakpoint) throws CoreException {
- addBreakpoints(new IBreakpoint[]{breakpoint});
- }
-
- /**
- * @see IBreakpointManager#addBreakpoints(IBreakpoint[])
- */
- public void addBreakpoints(IBreakpoint[] breakpoints) throws CoreException {
- addBreakpoints(breakpoints, true);
- }
-
- /**
- * Registers the given breakpoints and notifies listeners if specified.
- *
- * @param breakpoints the breakpoints to register
- * @param notify whether to notify listeners of the add
- * @param loading whether the given breakpoints are being automatically loaded
- * from previously persisted markers
- */
- private void addBreakpoints(IBreakpoint[] breakpoints, boolean notify) throws CoreException {
- List added = new ArrayList(breakpoints.length);
- final List update = new ArrayList();
- for (int i = 0; i < breakpoints.length; i++) {
- IBreakpoint breakpoint = breakpoints[i];
- if (!getBreakpoints0().contains(breakpoint)) {
- verifyBreakpoint(breakpoint);
- if (breakpoint.isRegistered()) {
- // If notify == false, the breakpoints are just being added at startup
- added.add(breakpoint);
- getBreakpoints0().add(breakpoint);
- fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
- } else {
- // need to update the 'registered' and/or 'group' attributes
- update.add(breakpoint);
- }
- }
- }
- if (notify) {
- fireUpdate(added, null, ADDED);
- }
- if (!update.isEmpty()) {
- IWorkspaceRunnable r = new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- Iterator iter = update.iterator();
- while (iter.hasNext()) {
- IBreakpoint breakpoint = (IBreakpoint)iter.next();
- getBreakpoints0().add(breakpoint);
- breakpoint.setRegistered(true);
- fMarkersToBreakpoints.put(breakpoint.getMarker(), breakpoint);
- }
- }
- };
- // Need to suppress change notification, since this is really
- // an add notification
- fSuppressChange.addAll(update);
- getWorkspace().run(r, null, 0, null);
- fSuppressChange.removeAll(update);
- if (notify) {
- fireUpdate(update, null, ADDED);
- }
- }
- }
-
- /**
- * Returns whether change notification is to be suppressed for the given breakpoint.
- * Used when adding breakpoints and changing the "REGISTERED" attribute.
- *
- * @param breakpoint
- * @return boolean whether change notification is suppressed
- */
- protected boolean isChangeSuppressed(IBreakpoint breakpoint) {
- return fSuppressChange.contains(breakpoint);
- }
-
- /**
- * @see IBreakpointManager#fireBreakpointChanged(IBreakpoint)
- */
- public void fireBreakpointChanged(IBreakpoint breakpoint) {
- if (getBreakpoints0().contains(breakpoint)) {
- List changed = new ArrayList();
- changed.add(breakpoint);
- fireUpdate(changed, null, CHANGED);
- }
- }
-
- /**
- * Verifies that the breakpoint marker has the minimal required attributes,
- * and throws a debug exception if not.
- */
- private void verifyBreakpoint(IBreakpoint breakpoint) throws DebugException {
- try {
- String id= breakpoint.getModelIdentifier();
- if (id == null) {
- throw new DebugException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.CONFIGURATION_INVALID, DebugCoreMessages.BreakpointManager_Missing_model_identifier, null));
- }
- } catch (CoreException e) {
- throw new DebugException(e.getStatus());
- }
- }
-
- /**
- * A resource has changed. Traverses the delta for breakpoint changes.
- *
- * @param event resource change event
- */
- public void resourceChanged(IResourceChangeEvent event) {
- IResourceDelta delta= event.getDelta();
- if (delta != null) {
- try {
- if (fgVisitor == null) {
- fgVisitor= new BreakpointManagerVisitor();
- }
- delta.accept(fgVisitor);
- fgVisitor.update();
- } catch (CoreException ce) {
- DebugPlugin.log(ce);
- }
- }
- }
-
- /**
- * Visitor for handling resource deltas
- */
- class BreakpointManagerVisitor implements IResourceDeltaVisitor {
- /**
- * Moved markers
- */
- private List fMoved = new ArrayList();
- /**
- * Removed breakpoints
- */
- private List fRemoved = new ArrayList();
- /**
- * Changed breakpoints and associated marker deltas
- */
- private List fChanged = new ArrayList();
- private List fChangedDeltas = new ArrayList();
-
- /**
- * Resets the visitor for a delta traversal - empties
- * collections of removed/changed breakpoints.
- */
- protected void reset() {
- fMoved.clear();
- fRemoved.clear();
- fChanged.clear();
- fChangedDeltas.clear();
- }
-
- /**
- * Performs updates on accumulated changes, and fires change notification after
- * a traversal. Accumulated updates are reset.
- */
- public void update() {
- if (!fMoved.isEmpty()) {
- // delete moved markers
- IWorkspaceRunnable wRunnable= new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- IMarker[] markers = (IMarker[])fMoved.toArray(new IMarker[fMoved.size()]);
- for (int i = 0; i < markers.length; i++) {
- markers[i].delete();
- }
- }
- };
- try {
- getWorkspace().run(wRunnable, null, 0, null);
- } catch (CoreException e) {
- }
- }
- if (!fRemoved.isEmpty()) {
- try {
- removeBreakpoints((IBreakpoint[])fRemoved.toArray(new IBreakpoint[fRemoved.size()]), false);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- if (!fChanged.isEmpty()) {
- fireUpdate(fChanged, fChangedDeltas, CHANGED);
- }
- reset();
- }
-
- /**
- * @see IResourceDeltaVisitor#visit(IResourceDelta)
- */
- public boolean visit(IResourceDelta delta) {
- if (delta == null) {
- return false;
- }
- if (0 != (delta.getFlags() & IResourceDelta.OPEN) && 0 == (delta.getFlags() & IResourceDelta.MOVED_FROM)) {
- handleProjectResourceOpenStateChange(delta.getResource());
- return false;
- }
- IMarkerDelta[] markerDeltas= delta.getMarkerDeltas();
- for (int i= 0; i < markerDeltas.length; i++) {
- IMarkerDelta markerDelta= markerDeltas[i];
- if (markerDelta.isSubtypeOf(IBreakpoint.BREAKPOINT_MARKER)) {
- switch (markerDelta.getKind()) {
- case IResourceDelta.ADDED :
- handleAddBreakpoint(delta, markerDelta.getMarker(), markerDelta);
- break;
- case IResourceDelta.REMOVED :
- handleRemoveBreakpoint(markerDelta.getMarker());
- break;
- case IResourceDelta.CHANGED :
- handleChangeBreakpoint(markerDelta.getMarker(), markerDelta);
- break;
- }
- }
- }
-
- return true;
- }
-
- /**
- * Wrapper for handling adds
- */
- protected void handleAddBreakpoint(IResourceDelta rDelta, IMarker marker, IMarkerDelta mDelta) {
- if (0 != (rDelta.getFlags() & IResourceDelta.MOVED_FROM)) {
- // This breakpoint has actually been moved - already removed
- // from the Breakpoint manager during the remove callback.
- // Schedule the marker associated with the new resource for deletion.
- if (getBreakpoint(marker) == null) {
- fMoved.add(marker);
- }
- } else {
- // check if the an add & change have be combined into one add notification
- synchronized (fPostChangMarkersChanged) {
- if (fPostChangMarkersChanged.contains(marker)) {
- handleChangeBreakpoint(marker, mDelta);
- fPostChangMarkersChanged.remove(marker);
- }
- fPostBuildMarkersAdded.add(marker);
- }
- }
- }
-
- /**
- * Wrapper for handling removes
- */
- protected void handleRemoveBreakpoint(IMarker marker) {
- synchronized (fPostChangMarkersChanged) {
- fPostChangMarkersChanged.remove(marker);
- fPostBuildMarkersAdded.remove(marker);
- }
- IBreakpoint breakpoint= getBreakpoint(marker);
- if (breakpoint != null) {
- fRemoved.add(breakpoint);
- }
- }
-
- /**
- * Wrapper for handling changes
- */
- protected void handleChangeBreakpoint(IMarker marker, IMarkerDelta delta) {
- IBreakpoint breakpoint= getBreakpoint(marker);
- if (breakpoint != null && isRegistered(breakpoint) && !isChangeSuppressed(breakpoint)) {
- fChanged.add(breakpoint);
- fChangedDeltas.add(delta);
- }
- }
-
- /**
- * A project has been opened or closed. Updates the breakpoints for
- * that project
- */
- private void handleProjectResourceOpenStateChange(final IResource project) {
- if (!project.isAccessible()) {
- //closed
- Enumeration breakpoints= ((Vector)getBreakpoints0().clone()).elements();
- while (breakpoints.hasMoreElements()) {
- IBreakpoint breakpoint= (IBreakpoint) breakpoints.nextElement();
- IResource markerResource= breakpoint.getMarker().getResource();
- if (project.getFullPath().isPrefixOf(markerResource.getFullPath())) {
- fRemoved.add(breakpoint);
- }
- }
- return;
- }
- try {
- loadBreakpoints(project, true);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- }
-
- /**
- * @see IBreakpointManager#addBreakpointListener(IBreakpointListener)
- */
- public void addBreakpointListener(IBreakpointListener listener) {
- fBreakpointListeners.add(listener);
- }
-
- /**
- * @see IBreakpointManager#removeBreakpointListener(IBreakpointListener)
- */
- public void removeBreakpointListener(IBreakpointListener listener) {
- fBreakpointListeners.remove(listener);
- }
-
- /**
- * Notifies listeners of the adds/removes/changes
- *
- * @param breakpoints associated breakpoints
- * @param deltas or <code>null</code>
- * @param update type of change
- */
- private void fireUpdate(List breakpoints, List deltas, int update) {
- if (breakpoints.isEmpty()) {
- return;
- }
- IBreakpoint[] bpArray = (IBreakpoint[])breakpoints.toArray(new IBreakpoint[breakpoints.size()]);
- IMarkerDelta[] deltaArray = new IMarkerDelta[bpArray.length];
- if (deltas != null) {
- deltaArray = (IMarkerDelta[])deltas.toArray(deltaArray);
- }
- // single listeners
- getBreakpointNotifier().notify(bpArray, deltaArray, update);
-
- // plural listeners
- getBreakpointsNotifier().notify(bpArray, deltaArray, update);
- }
-
- protected void setBreakpoints(Vector breakpoints) {
- fBreakpoints = breakpoints;
- }
-
- /**
- * @see IBreakpointManager#hasBreakpoints()
- */
- public boolean hasBreakpoints() {
- return !getBreakpoints0().isEmpty();
- }
-
- /**
- * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
- */
- public void addBreakpointListener(IBreakpointsListener listener) {
- fBreakpointsListeners.add(listener);
- }
-
- /**
- * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointListener(org.eclipse.debug.core.IBreakpointsListener)
- */
- public void removeBreakpointListener(IBreakpointsListener listener) {
- fBreakpointsListeners.remove(listener);
- }
-
- private BreakpointNotifier getBreakpointNotifier() {
- return new BreakpointNotifier();
- }
-
- /**
- * Notifies breakpoint listener (single breakpoint) in a safe runnable to
- * handle exceptions.
- */
- class BreakpointNotifier implements ISafeRunnable {
-
- private IBreakpointListener fListener;
- private int fType;
- private IMarkerDelta fDelta;
- private IBreakpoint fBreakpoint;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.breakpointAdded(fBreakpoint);
- break;
- case REMOVED:
- fListener.breakpointRemoved(fBreakpoint, fDelta);
- break;
- case CHANGED:
- fListener.breakpointChanged(fBreakpoint, fDelta);
- break;
- }
- }
-
- /**
- * Notifies the listeners of the add/change/remove
- *
- * @param breakpoints the breakpoints that changed
- * @param deltas the deltas associated with the change
- * @param update the type of change
- */
- public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
- fType = update;
- Object[] copiedListeners= fBreakpointListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IBreakpointListener)copiedListeners[i];
- for (int j = 0; j < breakpoints.length; j++) {
- fBreakpoint = breakpoints[j];
- fDelta = deltas[j];
- SafeRunner.run(this);
- }
- }
- fListener = null;
- fDelta = null;
- fBreakpoint = null;
- }
- }
-
- private BreakpointsNotifier getBreakpointsNotifier() {
- return new BreakpointsNotifier();
- }
-
- /**
- * Notifies breakpoint listener (multiple breakpoints) in a safe runnable to
- * handle exceptions.
- */
- class BreakpointsNotifier implements ISafeRunnable {
-
- private IBreakpointsListener fListener;
- private int fType;
- private IMarkerDelta[] fDeltas;
- private IBreakpoint[] fNotifierBreakpoints;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.breakpointsAdded(fNotifierBreakpoints);
- break;
- case REMOVED:
- fListener.breakpointsRemoved(fNotifierBreakpoints, fDeltas);
- break;
- case CHANGED:
- fListener.breakpointsChanged(fNotifierBreakpoints, fDeltas);
- break;
- }
- }
-
- /**
- * Notifies the listeners of the adds/changes/removes
- *
- * @param breakpoints the breakpoints that changed
- * @param deltas the deltas associated with the changed breakpoints
- * @param update the type of change
- */
- public void notify(IBreakpoint[] breakpoints, IMarkerDelta[] deltas, int update) {
- fType = update;
- fNotifierBreakpoints = breakpoints;
- fDeltas = deltas;
- Object[] copiedListeners = fBreakpointsListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IBreakpointsListener)copiedListeners[i];
- SafeRunner.run(this);
- }
- fDeltas = null;
- fNotifierBreakpoints = null;
- fListener = null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#isEnabled()
- */
- public boolean isEnabled() {
- return Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(), IInternalDebugCoreConstants.PREF_BREAKPOINT_MANAGER_ENABLED_STATE, true, null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#setEnabled(boolean)
- */
- public void setEnabled(final boolean enabled) {
- if (isEnabled() != enabled) {
- Preferences.setBoolean(DebugPlugin.getUniqueIdentifier(), IInternalDebugCoreConstants.PREF_BREAKPOINT_MANAGER_ENABLED_STATE, enabled, null);
- IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
- public void run(IProgressMonitor monitor) throws CoreException {
- IBreakpoint[] breakpoints = getBreakpoints();
- for (int i = 0; i < breakpoints.length; i++) {
- IBreakpoint breakpoint = breakpoints[i];
- // Touch the marker (but don't actually change anything) so that the icon in
- // the editor ruler will be updated (editors listen to marker changes).
- breakpoint.getMarker().setAttribute(IBreakpoint.ENABLED, breakpoint.isEnabled());
- }
- }
- };
- try {
- ResourcesPlugin.getWorkspace().run(runnable, null, IWorkspace.AVOID_UPDATE ,null);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- new BreakpointManagerNotifier().notify(enabled);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#addBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
- */
- public void addBreakpointManagerListener(IBreakpointManagerListener listener) {
- fBreakpointManagerListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#removeBreakpointManagerListener(org.eclipse.debug.core.IBreakpointManagerListener)
- */
- public void removeBreakpointManagerListener(IBreakpointManagerListener listener) {
- fBreakpointManagerListeners.remove(listener);
- }
-
- /**
- * Notifies breakpoint manager listeners in a safe runnable to
- * handle exceptions.
- */
- class BreakpointManagerNotifier implements ISafeRunnable {
-
- private IBreakpointManagerListener fListener;
- private boolean fManagerEnabled;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during breakpoint change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- fListener.breakpointManagerEnablementChanged(fManagerEnabled);
- }
-
- /**
- * Notifies the listeners of the enabled state change
- *
- * @param enabled whether the manager is enabled
- */
- public void notify(boolean enabled) {
- fManagerEnabled= enabled;
- Object[] copiedListeners = fBreakpointManagerListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IBreakpointManagerListener)copiedListeners[i];
- SafeRunner.run(this);
- }
- fListener = null;
- }
- }
-
- class BreakpointManagerJob extends Job {
-
- private final IWorkspaceRunnable fRunnable;
-
- public BreakpointManagerJob (IWorkspaceRunnable wRunnable) {
- super("breakpoint manager job"); //$NON-NLS-1$
- fRunnable= wRunnable;
- setSystem(true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
- */
- protected IStatus run(IProgressMonitor monitor) {
- try {
- getWorkspace().run(fRunnable, null, 0, null);
- } catch (CoreException ce) {
- DebugPlugin.log(ce);
- }
- return new Status(IStatus.OK, DebugPlugin.getUniqueIdentifier(), IStatus.OK, "", null); //$NON-NLS-1$
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#getTypeName(org.eclipse.debug.core.model.IBreakpoint)
- */
- public String getTypeName(IBreakpoint breakpoint) {
- String typeName= null;
- IMarker marker = breakpoint.getMarker();
- if (marker != null) {
- try {
- IConfigurationElement element = (IConfigurationElement) fBreakpointExtensions.get(marker.getType());
- if (element != null) {
- typeName= element.getAttribute(IConfigurationElementConstants.NAME);
- }
- }
- catch (CoreException e) {}
- }
- return typeName;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IBreakpointManager#getImportParticipants(java.lang.String)
- */
- public IBreakpointImportParticipant[] getImportParticipants(String markertype) throws CoreException {
- initializeImportParticipants();
- ArrayList list = (ArrayList) fImportParticipants.get(markertype);
- if(list == null) {
- return new IBreakpointImportParticipant[] {fDefaultParticipant};
- }
- IBreakpointImportParticipant[] participants = new IBreakpointImportParticipant[list.size()];
- BreakpointImportParticipantDelegate delegate = null;
- for(int i = 0; i < list.size(); i++) {
- delegate = (BreakpointImportParticipantDelegate) list.get(i);
- participants[i] = delegate.getDelegate();
- }
- if(participants.length == 0) {
- return new IBreakpointImportParticipant[] {fDefaultParticipant};
- }
- return participants;
- }
-
- /**
- * Initializes the cache of breakpoint import participants. Does no work if the cache
- * has already been initialized
- */
- private synchronized void initializeImportParticipants() {
- if(fImportParticipants == null) {
- fImportParticipants = new HashMap();
- fDefaultParticipant = new DefaultImportParticipant();
- IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_BREAKPOINT_IMPORT_PARTICIPANTS);
- IConfigurationElement[] elements = ep.getConfigurationElements();
- String type = null;
- ArrayList list = null;
- for(int i = 0; i < elements.length; i++) {
- type = elements[i].getAttribute(IConfigurationElementConstants.TYPE);
- if(type != null) {
- list = (ArrayList) fImportParticipants.get(type);
- if(list == null) {
- list = new ArrayList();
- fImportParticipants.put(type, list);
- }
- list.add(new BreakpointImportParticipantDelegate(elements[i]));
- }
- }
- }
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
deleted file mode 100644
index 452c06345..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.osgi.util.NLS;
-
-public class DebugCoreMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.DebugCoreMessages";//$NON-NLS-1$
-
- public static String Breakpoint_no_associated_marker;
- public static String BreakpointManager_Missing_breakpoint_definition;
- public static String BreakpointManager_Missing_model_identifier;
- public static String DebugEvent_illegal_detail;
- public static String DebugEvent_illegal_kind;
-
- public static String DebugPlugin_0;
- public static String DebugPlugin_1;
- public static String DebugPlugin_2;
- public static String DebugPlugin_3;
- public static String DebugPlugin_4;
- public static String DebugPlugin_5;
- public static String DebugPlugin_6;
- public static String DebugPlugin_7;
- public static String DebugPlugin_8;
- public static String DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2;
-
- public static String EnvironmentVariableResolver_0;
-
- public static String LaunchConfiguration_0;
- public static String LaunchConfiguration_11;
- public static String LaunchConfiguration_13;
- public static String LaunchConfiguration_14;
- public static String LaunchConfiguration_16;
- public static String LaunchConfiguration_17;
- public static String LaunchConfiguration_18;
- public static String LaunchConfiguration_19;
- public static String LaunchConfiguration_2;
- public static String LaunchConfiguration_3;
- public static String LaunchConfiguration_4;
- public static String LaunchConfiguration_5;
- public static String LaunchConfiguration_6;
- public static String LaunchConfiguration_7;
- public static String LaunchConfiguration_8;
- public static String LaunchConfiguration_9;
- public static String LaunchConfigurationInfo_35;
- public static String LaunchConfigurationType_0;
-
- public static String LaunchConfigurationType_1;
-
- public static String LaunchConfigurationType_2;
-
- public static String LaunchConfigurationType_7;
-
- public static String LaunchConfigurationWorkingCopy_0;
- public static String LaunchConfigurationWorkingCopy_1;
- public static String LaunchConfigurationWorkingCopy_2;
- public static String LaunchConfigurationWorkingCopy_3;
-
- public static String LaunchDelegate_0;
- public static String LaunchDelegate_1;
- public static String LaunchDelegate_2;
- public static String LaunchDelegate_3;
- public static String LaunchManager_26;
- public static String LaunchManager_27;
- public static String LaunchManager_28;
- public static String LaunchManager_29;
- public static String LaunchManager_31;
-
- public static String LaunchMode_1;
-
- public static String LogicalStructureProvider_0;
-
- public static String LogicalStructureProvider_1;
-
- public static String LogicalStructureType_1;
- public static String SystemPropertyResolver_0;
- public static String InputStreamMonitor_label;
- public static String Launch_terminate_failed;
- public static String LaunchConfiguration_Failed_to_delete_launch_configuration__1;
- public static String LaunchConfigurationDelegate_6;
- public static String LaunchConfigurationDelegate_7;
-
- public static String LaunchConfigurationDelegate_scoped_incremental_build;
- public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3;
- public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2;
- public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1;
- public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1;
- public static String LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1;
- public static String LaunchConfigurationInfo_Invalid_launch_configuration_XML__10;
- public static String LaunchConfigurationInfo_missing_type;
- public static String LaunchConfigurationInfo_36;
- public static String LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1;
-
- public static String LaunchConfigurationWorkingCopy_4;
- public static String LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2;
- public static String LaunchConfigurationWorkingCopy_5;
-
- public static String LaunchConfigurationWorkingCopy_6;
-
- public static String LaunchConfigurationWorkingCopy_7;
-
- public static String LaunchConfigurationWorkingCopy_8;
- public static String LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1;
- public static String LaunchManager_Invalid_launch_configuration_index__18;
- public static String LaunchManager_does_not_exist;
-
- public static String LaunchManager_does_not_exist_no_store_found;
-
- public static String LaunchManager_invalid_config_name;
-
- public static String LaunchManager_invalid_config_name_char;
- public static String LaunchManager_Source_locator_does_not_exist___0__13;
- public static String LogicalStructureType_0;
- public static String OutputStreamMonitor_label;
- public static String ProcessMonitorJob_0;
- public static String RuntimeProcess_terminate_failed;
- public static String RuntimeProcess_Exit_value_not_available_until_process_terminates__1;
- public static String WatchExpression_0;
- public static String NullStreamsProxy_0;
-
- public static String RefreshingResources;
- public static String RefreshingResourcesError;
-
- public static String RefreshUtil_0;
-
- public static String RefreshUtil_1;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, DebugCoreMessages.class);
- }
- public static String LaunchMode_0;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
deleted file mode 100644
index 1b96d0c4e..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugCoreMessages.properties
+++ /dev/null
@@ -1,112 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2010 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Breakpoint_no_associated_marker=Breakpoint does not have an associated marker.
-BreakpointManager_Missing_breakpoint_definition=Missing breakpoint definition for marker type {0}
-BreakpointManager_Missing_model_identifier=Breakpoint missing debug model identifier
-DebugEvent_illegal_detail=detail is not one of the allowed constants, see IDebugEventConstants
-DebugEvent_illegal_kind=kind is not one of the allowed constants, see IDebugEventConstants
-DebugPlugin_Eclipse_runtime_does_not_support_working_directory_2=Eclipse runtime does not support working directory
-DebugPlugin_1=Debug Event Dispatch
-DebugPlugin_0=Exception occurred executing command line.
-DebugPlugin_2=Internal message logged from Debug Core: {0}
-DebugPlugin_3=Error logged from Debug Core:
-DebugPlugin_4=Invalid process factory extension contributed by {0}; id: {1}
-DebugPlugin_5=Invalid status handler extension: {0}
-DebugPlugin_6=An exception occurred in asynchronous runnable.
-DebugPlugin_7=An exception occurred while filtering debug events.
-DebugPlugin_8=An exception occurred while dispatching debug events.
-EnvironmentVariableResolver_0=Environment variable not specified
-SystemPropertyResolver_0=System property not specified
-InputStreamMonitor_label=Input Stream Monitor
-Launch_terminate_failed=Terminate failed
-LaunchConfiguration_Failed_to_delete_launch_configuration__1=Failed to delete launch configuration.
-LaunchConfiguration_9=Preparing launch delegate...
-LaunchConfiguration_8=Performing pre-launch check...
-LaunchConfiguration_7=Build before launch -
-LaunchConfiguration_6=Performing required build...
-LaunchConfiguration_5=Performing incremental workspace build...
-LaunchConfiguration_4=Performing final launch validation...
-LaunchConfiguration_3=Initializing source locator...
-LaunchConfiguration_2=Launching delegate...
-LaunchConfiguration_0=Launch configuration has corrupt resource mapping attributes
-LaunchConfiguration_11=No launch delegate found - launch canceled
-LaunchConfiguration_13=Duplicate launcher detected - launch canceled
-LaunchConfiguration_14=Incompatible launch mode: expecting {0} instead of {1}
-LaunchConfiguration_16=Exception occurred creating launch configuration memento
-LaunchConfiguration_17=Exception occurred parsing memento
-LaunchConfiguration_18=Invalid launch configuration memento: missing path attribute
-LaunchConfiguration_19=Invalid launch configuration memento: missing local attribute
-LaunchConfigurationDelegate_6=Searching for errors
-LaunchConfigurationDelegate_7=Searching for errors in {0}
-LaunchConfigurationDelegate_scoped_incremental_build=Scoped incremental build before launch...
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3=Attribute {0} is not of type boolean.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2=Attribute {0} is not of type int.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1=Attribute {0} is not of type java.lang.String.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1=Attribute {0} is not of type java.util.List.
-LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1=Attribute {0} is not of type java.util.Map.
-LaunchConfigurationInfo_Invalid_launch_configuration_XML__10=Invalid launch configuration XML.
-LaunchConfigurationInfo_missing_type=Launch configuration type id \"{0}\" does not exist.\nPossible causes:\n\tMissing specification of a launch type (missing plug-in)\n\tIncorrect launch configuration XML
-LaunchConfigurationInfo_36=A null key has been specified for an attribute in this launch configuration
-LaunchConfigurationInfo_35=Attribute {0} is not of type java.util.Set.
-LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1={0} occurred generating launch configuration XML.
-LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2=Specified container for launch configuration does not exist
-LaunchConfigurationWorkingCopy_5=Unable to save launch configuration.
-LaunchConfigurationWorkingCopy_0=Saving launch configuration [{0}]:
-LaunchConfigurationWorkingCopy_1=Writing local file
-LaunchConfigurationWorkingCopy_2=Creating new file {0}.launch in workspace
-LaunchConfigurationWorkingCopy_3=Setting contents of {0}.launch
-LaunchConfigurationWorkingCopy_4=Unable to obtain storage to write launch configuration
-LaunchConfigurationWorkingCopy_6=Template cannot be a working copy.
-LaunchConfigurationWorkingCopy_7=Templates cannot be nested
-LaunchConfigurationWorkingCopy_8=Specified configuration is not a template
-LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1={0} occurred while reading launch configuration file: {1}.
-LaunchManager_Invalid_launch_configuration_index__18=Invalid launch configuration index.
-LaunchManager_does_not_exist=Launch configuration {0} at {1} does not exist.
-LaunchManager_does_not_exist_no_store_found=Launch configuration {0} does not exist
-LaunchManager_Source_locator_does_not_exist___0__13=Source locator does not exist: {0}
-LaunchManager_26=Import failed
-LaunchManager_27=Failed to import {0}.
-LaunchManager_28=Importing {0}
-LaunchManager_29=Importing launch configurations
-
-# This describes the name of a single launch configuration
-# {0} is the base name of the configuration
-# {1} is the numerical modifier for the name
-# For example if we have a config named 'test' and we created a new one from test
-# we would get 'test (1)', where test is the basename, and 1 is the numerical modifier
-LaunchManager_31={0} ({1})
-LaunchManager_invalid_config_name=''{0}'' is an invalid configuration name
-LaunchManager_invalid_config_name_char=''{0}'' is an invalid character in a configuration name
-LaunchDelegate_0=No description provided.
-LaunchDelegate_1={0} Launcher
-LaunchDelegate_2={0} launcher
-LaunchDelegate_3=Launch delegate for {0} does not implement required interface ILaunchConfigurationDelegate.
-LaunchMode_0={0} As
-LaunchMode_1=Required attribute {0} missing for launchMode extension.
-LogicalStructureType_0=<Missing Description>
-LogicalStructureType_1=Required attribute {0} missing for logicalStructureType extension.
-LogicalStructureProvider_0=Required attribute modelIdentifier missing for logicalStructureType extension.
-LogicalStructureProvider_1=Required attribute class missing for logicalStructureType extension.
-OutputStreamMonitor_label=Output Stream Monitor
-ProcessMonitorJob_0=Process monitor
-RuntimeProcess_terminate_failed=Terminate failed
-RuntimeProcess_Exit_value_not_available_until_process_terminates__1=Exit value not available until process terminates.
-LaunchConfigurationType_0=Error retrieving template
-LaunchConfigurationType_1=Error setting template
-LaunchConfigurationType_2=Local configuration cannot be nested in a directory.
-LaunchConfigurationType_7=Launch mode not supported: {0}
-WatchExpression_0=(Watch expressions not supported)
-NullStreamsProxy_0=Null Stream Monitor
-RefreshingResources=Refresh resources...
-RefreshingResourcesError=Exception(s) occurred during refresh.
-RefreshUtil_0=Unable to restore resource memento: {0}
-RefreshUtil_1=Refresh scope refers to non-existent resource {0}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java
deleted file mode 100644
index 2345f0556..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugOptions.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-
-/**
- * Access to debug options.
- *
- * @since 3.3
- */
-public class DebugOptions {
-
- // debug option flags
- public static boolean DEBUG = false;
- public static boolean DEBUG_COMMANDS = false;
- public static boolean DEBUG_EVENTS = false;
-
- public static void initDebugOptions() {
- DEBUG = "true".equals(Platform.getDebugOption("org.eclipse.debug.core/debug")); //$NON-NLS-1$//$NON-NLS-2$
- DEBUG_COMMANDS = DEBUG && "true".equals( //$NON-NLS-1$
- Platform.getDebugOption("org.eclipse.debug.core/debug/commands")); //$NON-NLS-1$
- DEBUG_EVENTS = DEBUG && "true".equals( //$NON-NLS-1$
- Platform.getDebugOption("org.eclipse.debug.core/debug/events")); //$NON-NLS-1$
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java
deleted file mode 100644
index 9e2896927..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/DebugPreferenceInitializer.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Initializes preferences for debug.core
- *
- * @since 3.3
- */
-public class DebugPreferenceInitializer extends AbstractPreferenceInitializer {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
- */
- public void initializeDefaultPreferences() {
- // Step filter preferences
- Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), StepFilterManager.PREF_USE_STEP_FILTERS, false);
- //launch configurations preferences
- Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true);
- Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), IInternalDebugCoreConstants.PREF_ENABLE_STATUS_HANDLERS, true);
- Preferences.setDefaultBoolean(DebugPlugin.getUniqueIdentifier(), IInternalDebugCoreConstants.PREF_BREAKPOINT_MANAGER_ENABLED_STATE, true);
- Preferences.savePreferences(DebugPlugin.getUniqueIdentifier());
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
deleted file mode 100644
index b3f1f6c8a..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/EnvironmentVariableResolver.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.Iterator;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.osgi.service.environment.Constants;
-
-/**
- * Resolves the value of environment variables.
- */
-public class EnvironmentVariableResolver implements IDynamicVariableResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
- if (argument == null) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugCoreMessages.EnvironmentVariableResolver_0, null));
- }
- Map map= DebugPlugin.getDefault().getLaunchManager().getNativeEnvironmentCasePreserved();
- String value= (String) map.get(argument);
- if (value == null && Platform.getOS().equals(Constants.OS_WIN32)) {
- // On Win32, env variables are case insensitive, so we search the map
- // for matches manually.
- Iterator iter = map.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry= ((Map.Entry) iter.next());
- String key= (String) entry.getKey();
- if (key.equalsIgnoreCase(argument)) {
- return (String) entry.getValue();
- }
- }
- }
- return value;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
deleted file mode 100644
index 17d3b6106..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ExpressionManager.java
+++ /dev/null
@@ -1,674 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IExpressionListener;
-import org.eclipse.debug.core.IExpressionManager;
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The expression manager manages all registered expressions
- * for the debug plug-in. It is instantiated by the debug plug-in
- * at startup.
- *
- * @see IExpressionManager
- */
-public class ExpressionManager extends PlatformObject implements IExpressionManager {
-
- /**
- * Ordered collection of registered expressions.
- */
- private Vector fExpressions = null;
-
- /**
- * List of expression listeners
- */
- private ListenerList fListeners = null;
-
- /**
- * List of expressions listeners (plural)
- */
- private ListenerList fExpressionsListeners = null;
-
- /**
- * Mapping of debug model identifiers (String) to
- * expression delegate extensions (IConfigurationElement)
- */
- private Map fWatchExpressionDelegates= new HashMap();
-
- // Constants for add/remove/change/insert/move notification
- private static final int ADDED = 1;
- private static final int CHANGED = 2;
- private static final int REMOVED = 3;
- private static final int INSERTED = 4;
- private static final int MOVED = 5;
-
- // Preference for persisted watch expressions
- private static final String PREF_WATCH_EXPRESSIONS= "prefWatchExpressions"; //$NON-NLS-1$
- // Persisted watch expression XML tags
- private static final String WATCH_EXPRESSIONS_TAG= "watchExpressions"; //$NON-NLS-1$
- private static final String EXPRESSION_TAG= "expression"; //$NON-NLS-1$
- private static final String TEXT_TAG= "text"; //$NON-NLS-1$
- private static final String ENABLED_TAG= "enabled"; //$NON-NLS-1$
- // XML values
- private static final String TRUE_VALUE= "true"; //$NON-NLS-1$
- private static final String FALSE_VALUE= "false"; //$NON-NLS-1$
-
- public ExpressionManager() {
- loadPersistedExpressions();
- loadWatchExpressionDelegates();
- }
-
- /**
- * Loads the mapping of debug models to watch expression delegates
- * from the org.eclipse.debug.core.watchExpressionDelegates
- * extension point.
- */
- private void loadWatchExpressionDelegates() {
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), "watchExpressionDelegates"); //$NON-NLS-1$
- IConfigurationElement[] configurationElements = extensionPoint.getConfigurationElements();
- for (int i = 0; i < configurationElements.length; i++) {
- IConfigurationElement element = configurationElements[i];
- if (element.getName().equals("watchExpressionDelegate")) { //$NON-NLS-1$
- String debugModel = element.getAttribute("debugModel"); //$NON-NLS-1$
- if (debugModel == null || debugModel.length() == 0) {
- continue;
- }
- fWatchExpressionDelegates.put(debugModel, element);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#newWatchExpressionDelegate(java.lang.String)
- */
- public IWatchExpressionDelegate newWatchExpressionDelegate(String debugModel) {
- try {
- IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(debugModel);
- if (element != null) {
- return (IWatchExpressionDelegate) element.createExecutableExtension(IConfigurationElementConstants.DELEGATE_CLASS);
- }
- return null;
- } catch (CoreException e) {
- DebugPlugin.log(e);
- return null;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#hasWatchExpressionDelegate(java.lang.String)
- */
- public boolean hasWatchExpressionDelegate(String id) {
- IConfigurationElement element= (IConfigurationElement) fWatchExpressionDelegates.get(id);
- return element != null;
- }
-
- /**
- * Loads any persisted watch expressions from the preferences.
- * NOTE: It's important that no setter methods are called on
- * the watchpoints which will fire change events as this
- * will cause an infinite loop (see Bug 27281).
- */
- private void loadPersistedExpressions() {
- String expressionsString = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_WATCH_EXPRESSIONS, IInternalDebugCoreConstants.EMPTY_STRING, null);
- if (expressionsString.length() == 0) {
- return;
- }
- Element root;
- try {
- root = DebugPlugin.parseDocument(expressionsString);
- } catch (CoreException e) {
- DebugPlugin.logMessage("An exception occurred while loading watch expressions.", e); //$NON-NLS-1$
- return;
- }
- if (!root.getNodeName().equals(WATCH_EXPRESSIONS_TAG)) {
- DebugPlugin.logMessage("Invalid format encountered while loading watch expressions.", null); //$NON-NLS-1$
- return;
- }
- NodeList list= root.getChildNodes();
- for (int i= 0, numItems= list.getLength(); i < numItems; i++) {
- Node node= list.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element= (Element) node;
- if (!element.getNodeName().equals(EXPRESSION_TAG)) {
- DebugPlugin.logMessage(MessageFormat.format("Invalid XML element encountered while loading watch expressions: {0}", new String[] {node.getNodeName()}), null); //$NON-NLS-1$
- continue;
- }
- String expressionText= element.getAttribute(TEXT_TAG);
- if (expressionText.length() > 0) {
- boolean enabled= TRUE_VALUE.equals(element.getAttribute(ENABLED_TAG));
- IWatchExpression expression= newWatchExpression(expressionText, enabled);
- if (fExpressions == null) {
- fExpressions= new Vector(list.getLength());
- }
- fExpressions.add(expression);
- } else {
- DebugPlugin.logMessage("Invalid expression entry encountered while loading watch expressions. Expression text is empty.", null); //$NON-NLS-1$
- }
- }
- }
- }
-
- /**
- * Creates a new watch expression with the given expression
- * and the given enablement;
- *
- * @param expressionText the text of the expression to be evaluated
- * @param enabled whether or not the new expression should be enabled
- * @return the new watch expression
- */
- private IWatchExpression newWatchExpression(String expressionText, boolean enabled) {
- return new WatchExpression(expressionText, enabled);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#newWatchExpression(java.lang.String)
- */
- public IWatchExpression newWatchExpression(String expressionText) {
- return new WatchExpression(expressionText);
- }
-
- /**
- * Persists this manager's watch expressions as XML in the
- * preference store.
- */
- public void storeWatchExpressions() {
- String expressionString = IInternalDebugCoreConstants.EMPTY_STRING;
- try {
- expressionString= getWatchExpressionsAsXML();
- } catch (IOException e) {
- DebugPlugin.log(e);
- } catch (ParserConfigurationException e) {
- DebugPlugin.log(e);
- } catch (TransformerException e) {
- DebugPlugin.log(e);
- }
- Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_WATCH_EXPRESSIONS, expressionString, null);
- }
-
- /**
- * Returns this manager's watch expressions as XML.
- * @return this manager's watch expressions as XML
- * @throws IOException if an exception occurs while creating
- * the XML document.
- * @throws ParserConfigurationException if an exception occurs while creating
- * the XML document.
- * @throws TransformerException if an exception occurs while creating
- * the XML document.
- */
- private String getWatchExpressionsAsXML() throws IOException, ParserConfigurationException, TransformerException {
- IExpression[] expressions= getExpressions();
- Document document= LaunchManager.getDocument();
- Element rootElement= document.createElement(WATCH_EXPRESSIONS_TAG);
- document.appendChild(rootElement);
- for (int i = 0; i < expressions.length; i++) {
- IExpression expression= expressions[i];
- if (expression instanceof IWatchExpression) {
- Element element= document.createElement(EXPRESSION_TAG);
- element.setAttribute(TEXT_TAG, expression.getExpressionText());
- element.setAttribute(ENABLED_TAG, ((IWatchExpression) expression).isEnabled() ? TRUE_VALUE : FALSE_VALUE);
- rootElement.appendChild(element);
- }
- }
- return LaunchManager.serializeDocument(document);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#addExpression(org.eclipse.debug.core.model.IExpression)
- */
- public void addExpression(IExpression expression) {
- addExpressions(new IExpression[]{expression});
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#addExpressions(org.eclipse.debug.core.model.IExpression[])
- */
- public void addExpressions(IExpression[] expressions) {
- if (fExpressions == null) {
- fExpressions = new Vector(expressions.length);
- }
- boolean addedWatchExpression= false;
- List added = new ArrayList(expressions.length);
- for (int i = 0; i < expressions.length; i++) {
- IExpression expression = expressions[i];
- if (fExpressions.indexOf(expression) == -1) {
- added.add(expression);
- fExpressions.add(expression);
- if (expression instanceof IWatchExpression) {
- addedWatchExpression= true;
- }
- }
- }
- if (!added.isEmpty()) {
- fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), ADDED);
- }
- if (addedWatchExpression) {
- storeWatchExpressions();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#getExpressions()
- */
- public IExpression[] getExpressions() {
- if (fExpressions == null) {
- return new IExpression[0];
- }
- IExpression[] temp= new IExpression[fExpressions.size()];
- fExpressions.copyInto(temp);
- return temp;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#getExpressions(java.lang.String)
- */
- public IExpression[] getExpressions(String modelIdentifier) {
- if (fExpressions == null) {
- return new IExpression[0];
- }
- ArrayList temp= new ArrayList(fExpressions.size());
- Iterator iter= fExpressions.iterator();
- while (iter.hasNext()) {
- IExpression expression= (IExpression) iter.next();
- String id= expression.getModelIdentifier();
- if (id != null && id.equals(modelIdentifier)) {
- temp.add(expression);
- }
- }
- return (IExpression[]) temp.toArray(new IExpression[temp.size()]);
- }
-
- /**
- * Adds the given expressions to the collection of registered expressions
- * in the workspace and notifies all registered listeners. The expressions
- * are inserted in the same order as the passed array at the index of the
- * specified expressions (before or after it depending on the boolean argument).
- * If no valid insertion location could be found, the expressions are added
- * to the end of the collection. Has no effect on expressions already registered.
- *
- * @param expressions expressions to insert into the collection
- * @param insertionLocation the expression at the location where expressions will be inserted
- * @param insertBefore whether to insert the expressions before or after the given insertion location
- * @since 3.4
- */
- public void insertExpressions(IExpression[] expressions, IExpression insertionLocation, boolean insertBefore){
- if (fExpressions == null) {
- addExpressions(expressions);
- return;
- }
-
- int insertionIndex = fExpressions.indexOf(insertionLocation);
- if (insertionIndex < 0){
- addExpressions(expressions);
- return;
- }
- if (!insertBefore){
- insertionIndex++;
- }
- boolean addedWatchExpression = false;
- List added = new ArrayList(expressions.length);
- for (int i = 0; i < expressions.length; i++) {
- IExpression expression = expressions[i];
- if (fExpressions.indexOf(expression) == -1) {
- //Insert in the same order as the array is passed
- fExpressions.add(insertionIndex+added.size(), expression);
- added.add(expression);
- if (expression instanceof IWatchExpression) {
- addedWatchExpression= true;
- }
- }
- }
-
- if (!added.isEmpty()) {
- fireUpdate((IExpression[])added.toArray(new IExpression[added.size()]), INSERTED, insertionIndex);
- }
- if (addedWatchExpression) {
- storeWatchExpressions();
- }
- }
-
- /**
- * Moves the given expressions from their location in the collection
- * of registered expressions in the workspace to the specified insertion
- * location. Notifies all registered listeners. This method has no effect
- * if an expression does not exist in the collection or if no valid insertion
- * location could be determined.
- *
- * @param expressions expressions to move
- * @param insertionLocation the expression at the location to insert the moved expressions
- * @param insertBefore whether to insert the moved expressions before or after the given insertion location
- * @since 3.4
- */
- public void moveExpressions(IExpression[] expressions, IExpression insertionLocation, boolean insertBefore){
- if (fExpressions == null){
- return;
- }
- int insertionIndex = fExpressions.indexOf(insertionLocation);
- if (insertionIndex < 0){
- return;
- }
- if (!insertBefore){
- insertionIndex++;
- }
-
- List movedExpressions = new ArrayList(expressions.length);
- for (int i = 0; i < expressions.length; i++) {
- int removeIndex = fExpressions.indexOf(expressions[i]);
- if (removeIndex >= 0){
- movedExpressions.add(expressions[i]);
- if (removeIndex < insertionIndex){
- insertionIndex--;
- }
- fExpressions.remove(removeIndex);
- }
- }
- IExpression[] movedExpressionsArray = (IExpression[])movedExpressions.toArray(new IExpression[movedExpressions.size()]);
- for (int i = 0; i < movedExpressionsArray.length; i++) {
- // Insert the expressions in the same order as the passed array
- fExpressions.add(insertionIndex+i,movedExpressionsArray[i]);
- }
-
- if (!movedExpressions.isEmpty()) {
- fireUpdate(movedExpressionsArray, MOVED, insertionIndex);
- storeWatchExpressions();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#removeExpression(org.eclipse.debug.core.model.IExpression)
- */
- public void removeExpression(IExpression expression) {
- removeExpressions(new IExpression[] {expression});
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#removeExpressions(org.eclipse.debug.core.model.IExpression[])
- */
- public void removeExpressions(IExpression[] expressions) {
- if (fExpressions == null) {
- return;
- }
- List removed = new ArrayList(expressions.length);
- for (int i = 0; i < expressions.length; i++) {
- IExpression expression = expressions[i];
- if (fExpressions.remove(expression)) {
- removed.add(expression);
- expression.dispose();
- }
- }
- if (!removed.isEmpty()) {
- fireUpdate((IExpression[])removed.toArray(new IExpression[removed.size()]), REMOVED);
- storeWatchExpressions();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionListener)
- */
- public void addExpressionListener(IExpressionListener listener) {
- if (fListeners == null) {
- fListeners = new ListenerList();
- }
- fListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#removeExpressionListener(org.eclipse.debug.core.IExpressionListener)
- */
- public void removeExpressionListener(IExpressionListener listener) {
- if (fListeners == null) {
- return;
- }
- fListeners.remove(listener);
- }
-
- /**
- * The given watch expression has changed. Update the persisted
- * expressions to store this change as indicated
- *
- * @param expression the changed expression
- * @param persist whether to persist the expressions
- */
- protected void watchExpressionChanged(IWatchExpression expression, boolean persist) {
- if (fExpressions != null && fExpressions.contains(expression)) {
- if (persist) {
- storeWatchExpressions();
- }
- fireUpdate(new IExpression[]{expression}, CHANGED);
- }
- }
-
- /**
- * Notifies listeners of the adds/removes/changes
- *
- * @param expressions expressions that were modified
- * @param update update flags
- */
- private void fireUpdate(IExpression[] expressions, int update){
- fireUpdate(expressions, update, -1);
- }
-
- /**
- * Notifies listeners of the adds/removes/changes/insertions/moves
- *
- * @param expressions expressions that were modified
- * @param update update flags
- * @param index index where expressions were inserted/moved to or <code>-1</code>
- */
- private void fireUpdate(IExpression[] expressions, int update, int index){
- // single listeners
- getExpressionNotifier().notify(expressions, update);
-
- // multi listeners
- getExpressionsNotifier().notify(expressions, update, index);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#hasExpressions()
- */
- public boolean hasExpressions() {
- return fExpressions != null && !fExpressions.isEmpty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#addExpressionListener(org.eclipse.debug.core.IExpressionsListener)
- */
- public void addExpressionListener(IExpressionsListener listener) {
- if (fExpressionsListeners == null) {
- fExpressionsListeners = new ListenerList();
- }
- fExpressionsListeners.add(listener);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IExpressionManager#removeExpressionListener(org.eclipse.debug.core.IExpressionsListener)
- */
- public void removeExpressionListener(IExpressionsListener listener) {
- if (fExpressionsListeners == null) {
- return;
- }
- fExpressionsListeners.remove(listener);
- }
-
- private ExpressionNotifier getExpressionNotifier() {
- return new ExpressionNotifier();
- }
-
- /**
- * Notifies an expression listener (single expression) in a safe runnable to
- * handle exceptions.
- */
- class ExpressionNotifier implements ISafeRunnable {
-
- private IExpressionListener fListener;
- private int fType;
- private IExpression fExpression;
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during expression change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.expressionAdded(fExpression);
- break;
- case REMOVED:
- fListener.expressionRemoved(fExpression);
- break;
- case CHANGED:
- fListener.expressionChanged(fExpression);
- break;
- }
- }
-
- /**
- * Notifies listeners of the add/change/remove
- *
- * @param expressions the expressions that have changed
- * @param update the type of change
- */
- public void notify(IExpression[] expressions, int update) {
- if (fListeners != null) {
- fType = update;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IExpressionListener)copiedListeners[i];
- for (int j = 0; j < expressions.length; j++) {
- fExpression = expressions[j];
- SafeRunner.run(this);
- }
- }
- }
- fListener = null;
- fExpression = null;
- }
- }
-
- /**
- * Returns the expressions notifier
- * @return the expressions notifier
- */
- private ExpressionsNotifier getExpressionsNotifier() {
- return new ExpressionsNotifier();
- }
-
- /**
- * Notifies an expression listener (multiple expressions) in a safe runnable
- * to handle exceptions.
- */
- class ExpressionsNotifier implements ISafeRunnable {
-
- private IExpressionsListener fListener;
- private int fType;
- private int fIndex;
- private IExpression[] fNotifierExpressions;
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during expression change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case MOVED:
- // If the listener doesn't know about moves or the insertion location is unknown, do nothing.
- if (fIndex >= 0 && fListener instanceof IExpressionsListener2){
- ((IExpressionsListener2)fListener).expressionsMoved(fNotifierExpressions, fIndex);
- }
- break;
- case INSERTED:
- // If the listener doesn't know about insertions or the insertion location is unknown, notify of an ADD
- if (fIndex >= 0 && fListener instanceof IExpressionsListener2){
- ((IExpressionsListener2)fListener).expressionsInserted(fNotifierExpressions, fIndex);
- } else {
- fListener.expressionsAdded(fNotifierExpressions);
- }
- break;
- case ADDED:
- fListener.expressionsAdded(fNotifierExpressions);
- break;
- case REMOVED:
- fListener.expressionsRemoved(fNotifierExpressions);
- break;
- case CHANGED:
- fListener.expressionsChanged(fNotifierExpressions);
- break;
- }
- }
-
- /**
- * Notifies listeners of the adds/changes/removes
- *
- * @param expressions the expressions that changed
- * @param update the type of change
- * @param index the index of the first change
- */
- public void notify(IExpression[] expressions, int update, int index) {
- if (fExpressionsListeners != null) {
- fNotifierExpressions = expressions;
- fType = update;
- fIndex = index;
- Object[] copiedListeners = fExpressionsListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IExpressionsListener)copiedListeners[i];
- SafeRunner.run(this);
- }
- }
- fNotifierExpressions = null;
- fListener = null;
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
deleted file mode 100644
index 34dbb7eee..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IConfigurationElementConstants.java
+++ /dev/null
@@ -1,344 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-/**
- * This interface provides a repository for the names of <code>IConfigurationElement</code> child node ids.
- * @since 3.3
- */
-public interface IConfigurationElementConstants {
-
- /**
- * The id node name for a configuration element.
- * <p>Equal to the word: <code>id</code></p>
- */
- public static final String ID = "id"; //$NON-NLS-1$
-
- /**
- * The name node name for a configuration element.
- * <p>Equal to the word: <code>name</code></p>
- */
- public static final String NAME = "name"; //$NON-NLS-1$
-
- /**
- * The category node name for a configuration element.
- * <p>Equal to the word: <code>category</code></p>
- */
- public static final String CATEGORY = "category"; //$NON-NLS-1$
-
- /**
- * The local node name for a configuration element.
- * <p>Equal to the word: <code>local</code></p>
- */
- public static final String LOCAL = "local"; //$NON-NLS-1$
-
- /**
- * The shortcutId node name for a configuration element.
- * <p>Equal to the word: <code>shortcutID</code></p>
- */
- public static final String LAUNCH_SHORTCUT_ID = "shortcutID"; //$NON-NLS-1$
-
- /**
- * The launchPerspectives node name for a configuration element.
- * <p>Equal to the word: <code>launchPerspectives</code></p>
- */
- public static final String LAUNCH_PERSPECTIVES = "launchPerspectives"; //$NON-NLS-1$
-
- /**
- * The launchPerspective node name for a configuration element.
- * <p>Equal to the word: <code>launchPerspective</code></p>
- */
- public static final String LAUNCH_PERSPECTIVE = "launchPerspective"; //$NON-NLS-1$
-
- /**
- * The markerType node name for a configuration element.
- * <p>Equal to the word: <code>markerType</code></p>
- *
- * @since 3.4
- */
- public static final String MARKER_TYPE = "markerType"; //$NON-NLS-1$
-
- /**
- * The delegateClass node name for a configuration element.
- * <p>Equal to the word: <code>delegateClass</code></p>
- *
- * @since 3.4
- */
- public static final String DELEGATE_CLASS = "delegateClass"; //$NON-NLS-1$
-
- /**
- * The launchConfiguration node name for a configuration element.
- * <p>Equal to the word: <code>launchConfiguration</code></p>
- */
- public static final String LAUNCH_CONFIGURATION = "launchConfiguration"; //$NON-NLS-1$
-
- /**
- * The launchMode node name for a configuration element.
- * <p>Equal to the word: <code>launchMode</code></p>
- */
- public static final String LAUNCH_MODE = "launchMode"; //$NON-NLS-1$
-
- /**
- * The lastLaunch node name for a configuration element.
- * <p>Equal to the word: <code>lastLaunch</code></p>
- */
- public static final String LAST_LAUNCH = "lastLaunch"; //$NON-NLS-1$
-
- /**
- * The launch node name for a configuration element.
- * <p>Equal to the word: <code>launch</code></p>
- */
- public static final String LAUNCH = "launch"; //$NON-NLS-1$
-
- /**
- * The launch as label node name for a configuration element.
- * <p>Equal to the word: <code>launchAsLabel</code></p>
- *
- * @since 3.4
- */
- public static final String LAUNCH_AS_LABEL = "launchAsLabel"; //$NON-NLS-1$
-
- /**
- * The launchHistory node name for a configuration element.
- * <p>Equal to the word: <code>launchHistory</code></p>
- */
- public static final String LAUNCH_HISTORY = "launchHistory"; //$NON-NLS-1$
-
- /**
- * The node name for a launch group configuration element.
- * <p>Equal to the word: <code>launchGroup</code></p>
- */
- public static final String LAUNCH_GROUP = "launchGroup"; //$NON-NLS-1$
-
- /**
- * The node name for a launch history MRU list configuration element.
- * <p>Equal to the word: <code>mruHistory</code></p>
- */
- public static final String MRU_HISTORY = "mruHistory"; //$NON-NLS-1$
-
- /**
- * The node name for a launch favorites list configuration element.
- * <p>Equal to the word: <code>favorites</code></p>
- */
- public static final String FAVORITES = "favorites"; //$NON-NLS-1$
-
- /**
- * The after node name for a configuration element.
- * <p>Equal to the word: <code>after</code></p>
- */
- public static final String AFTER = "after"; //$NON-NLS-1$
-
- /**
- * The path node name for a configuration element.
- * <p>Equal to the word: <code>path</code></p>
- */
- public static final String PATH = "path"; //$NON-NLS-1$
-
- /**
- * The placement node name for a configuration element.
- * <p>Equal to the word: <code>placement</code></p>
- */
- public static final String PLACEMENT = "placement"; //$NON-NLS-1$
-
- /**
- * The associated launch delegate node name for a configuration element
- * <p>Equal to the word: <code>associatedDelegate</code></p>
- */
- public static final String ASSOCIATED_DELEGATE = "associatedDelegate"; //$NON-NLS-1$
-
- /**
- * The label node name for a configuration element.
- * <p>Equal to the word: <code>label</code></p>
- */
- public static final String LABEL = "label"; //$NON-NLS-1$
-
- /**
- * The description node name for a configuration element.
- * <p>Equal to the word: <code>description</code></p>
- */
- public static final String DESCRIPTION = "description"; //$NON-NLS-1$
-
- /**
- * The helpContextId node name for a configuration element.
- * <p>Equal to the word: <code>helpContextId</code></p>
- */
- public static final String HELP_CONTEXT_ID = "helpContextId"; //$NON-NLS-1$
-
- /**
- * The icon node name for a configuration element.
- * <p>Equal to the word: <code>icon</code></p>
- */
- public static final String ICON = "icon"; //$NON-NLS-1$
-
- /**
- * The public node name for a configuration element
- * <p>Equal to the word: <code>public</code></p>
- */
- public static final String PUBLIC = "public"; //$NON-NLS-1$
-
- /**
- * The perspective node name for a configuration element.
- * <p>Equal to the word: <code>perspective</code></p>
- */
- public static final String PERSPECTIVE = "perspective"; //$NON-NLS-1$
-
- /**
- * The preferredDelegates node name for a configuration element.
- * <p>Equal to the word: <code>preferredDelegates</code></p>
- */
- public static final String PREFERRED_DELEGATES = "preferredDelegates"; //$NON-NLS-1$
-
- /**
- * The modes node name for a configuration element.
- * <p>Equal to the word: <code>modes</code></p>
- */
- public static final String MODES = "modes"; //$NON-NLS-1$
-
- /**
- * The modesCombination node name for a configuration element.
- * <p>Equal to the word: <code>modeCombination</code></p>
- */
- public static final String MODE_COMBINATION = "modeCombination"; //$NON-NLS-1$
-
- /**
- * The mode node name for a configuration element.
- * <p>Equal to the word: <code>mode</code></p>
- */
- public static final String MODE = "mode"; //$NON-NLS-1$
-
- /**
- * The type node name for a configuration element.
- * <p>Equal to the word: <code>type</code></p>
- */
- public static final String TYPE = "type"; //$NON-NLS-1$
-
- /**
- * The typeid node name for a configuration element.
- * <p>Equal to the word: <code>typeid</code></p>
- */
- public static final String TYPE_ID = "typeid"; //$NON-NLS-1$
-
- /**
- * The option node name for a configuration element.
- * <p>Equal to the word: <code>options</code></p>
- */
- public static final String OPTIONS = "options"; //$NON-NLS-1$
-
- /**
- * The delegate node name for a configuration element.
- * <p>Equal to the word: <code>delegate</code></p>
- */
- public static final String DELEGATE = "delegate"; //$NON-NLS-1$
-
- /**
- * The participant node name for a configuration element.
- * <p>Equal to the word: <code>participant</code></p>
- */
- public static final String PARTICIPANT = "participant"; //$NON-NLS-1$
-
- /**
- * The defaultShortcut node name for a configuration element.
- * <p>Equal to the word: <code>defaultShortcut</code></p>
- */
- public static final String DEFAULT_LAUNCH_SHORTCUT = "defaultShortcut"; //$NON-NLS-1$
-
- /**
- * The delegateName node name for a configuration element.
- * <p>Equal to the word: <code>delegateName</code></p>
- */
- public static final String DELEGATE_NAME = "delegateName"; //$NON-NLS-1$
-
- /**
- * The group node name for a configuration element.
- * <p>Equal to the word: <code>group</code></p>
- */
- public static final String GROUP = "group"; //$NON-NLS-1$
-
- /**
- * The class node name for a configuration element.
- * <p>Equal to the word: <code>class</code></p>
- */
- public static final String CLASS = "class"; //$NON-NLS-1$
-
- /**
- * The modelIdentifier node name for a configuration element.
- * <p>Equal to the word: <code>modelIdentifier</code></p>
- *
- * @since 3.4
- */
- public static final String MODEL_IDENTIFIER = "modelIdentifier"; //$NON-NLS-1$
-
- /**
- * The configurationTypes node name for a configuration element.
- * <p>Equal to the word: <code>configurationType</code></p>
- */
- public static final String CONFIGURATION_TYPES = "configurationType"; //$NON-NLS-1$
-
- /**
- * The contextLabel node name for a configuration element.
- * <p>Equal to the word: <code>contextLabel</code></p>
- */
- public static final String CONTEXT_LABEL = "contextLabel"; //$NON-NLS-1$
-
- /**
- * The contextualLaunch node name for a configuration element.
- * <p>Equal to the word: <code>contextualLaunch</code></p>
- */
- public static final String CONTEXTUAL_LAUNCH = "contextualLaunch"; //$NON-NLS-1$
-
- /**
- * The sourcePathComputerId node name for a configuration element.
- * <p>Equal to the word: <code>sourcePathComputerId</code></p>
- */
- public static final String SOURCE_PATH_COMPUTER = "sourcePathComputerId"; //$NON-NLS-1$
-
- /**
- * The delegateDescription node name for a configuration element.
- * <p>Equal to the word: <code>delegateDescription</code></p>
- */
- public static final String DELEGATE_DESCRIPTION = "delegateDescription"; //$NON-NLS-1$
-
- /**
- * The sourceLocatorId node name for a configuration element.
- * <p>Equal to the word: <code>sourceLocatorId</code></p>
- */
- public static final String SOURCE_LOCATOR = "sourceLocatorId"; //$NON-NLS-1$
-
- /**
- * The migrationDelegate node name for a configuration element.
- * <p>Equal to the word: <code>migrationDelegate</code></p>
- */
- public static final String MIGRATION_DELEGATE = "migrationDelegate"; //$NON-NLS-1$
-
- /**
- * The memento node name for a configuration element.
- * <p>Equal to the word: <code>memento</code></p>
- */
- public static final String MEMENTO = "memento"; //$NON-NLS-1$
-
- /**
- * The selection node name for a configuration element.
- * <p>Equal to the word: <code>selection</code></p>
- */
- public static final String SELECTION = "selection"; //$NON-NLS-1$
-
- /**
- * The debugContext node name for a configuration element.
- * <p>Equal to the word: <code>debugContext</code></p>
- */
- public static final String DEBUG_CONTEXT = "debugContext"; //$NON-NLS-1$
-
- /**
- * The editorInput node name for a configuration element.
- * <p>Equal to the word: <code>editorInput</code></p>
- */
- public static final String EDITOR_INPUT = "editorInput"; //$NON-NLS-1$
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
deleted file mode 100644
index be3ee7dd8..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IExpressionsListener2.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.debug.core.IExpressionsListener;
-import org.eclipse.debug.core.model.IExpression;
-
-/**
- * Provides call-back methods for expressions that have been moved or inserted
- * @since 3.4
- */
-public interface IExpressionsListener2 extends IExpressionsListener {
-
- /**
- * Fires the model delta necessary to update the viewer after one or more
- * expressions have been moved to a different index in the tree. The
- * expression array must be in the same order as they were added. The given index
- * <strong>must</strong> take into account the removal of the expressions to be removed.
- * Therefore, for each of the expressions being moved with indices lower than the expect
- * insertion index, the passed insertion index must be reduced by one.
- *
- * @param expressions array of expressions to be moved
- * @param index the index the expressions will be added to, adjusted for moved expressions
- */
- public void expressionsMoved(IExpression[] expressions, int index);
-
- /**
- * Fires the model delta necessary to update the viewer after one or more
- * expressions have been inserted into a specific index in the tree. The
- * expression array must be in the same order as they were added.
- *
- * @param expressions array of expressions to be moved
- * @param index the index the expressions will be added to
- */
- public void expressionsInserted(IExpression[] expressions, int index);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java
deleted file mode 100644
index 8fc33db5e..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IInternalDebugCoreConstants.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Contains constants to be used internally in all debug components
- *
- * @since 3.4
- */
-public interface IInternalDebugCoreConstants {
-
- /**
- * Represents the empty string
- */
- public static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /**
- * Boolean preference controlling whether status handler extensions
- * are enabled. Default value is <code>true</code>. When disabled
- * any call to {@link DebugPlugin#getStatusHandler(IStatus)} will return <code>null</code>.
- *
- * @since 3.4.2
- */
- public static final String PREF_ENABLE_STATUS_HANDLERS = DebugPlugin.getUniqueIdentifier() + ".PREF_ENABLE_STATUS_HANDLERS"; //$NON-NLS-1$
-
- /**
- * Persistence of breakpoint manager enabled state.
- *
- * @since 3.6
- */
- public static final String PREF_BREAKPOINT_MANAGER_ENABLED_STATE = DebugPlugin.getUniqueIdentifier() + ".PREF_BREAKPOINT_MANAGER_ENABLED_STATE"; //$NON-NLS-1$
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java
deleted file mode 100644
index ed9f1e870..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/IMementoConstants.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-public interface IMementoConstants {
- // These persistence constant is stored in XML. Do not
- // change it.
- public static final String TAG_FACTORY_ID = "factoryID"; //$NON-NLS-1$
-
- public static final String TAG_EDITOR_STATE = "editorState"; //$NON-NLS-1$
-
- public static final String MEMENTO_ITEM = "item"; //$NON-NLS-1$
-
- public static final String TAG_EDIT_PAGE_ID = "editPageId"; //$NON-NLS-1$
-
- public static final String TAG_NAME = "name"; //$NON-NLS-1$
-
- public static final String TAG_LABEL = "label"; //$NON-NLS-1$
-
- public static final String TAG_ID = "id"; //$NON-NLS-1$
-
- public static final String TAG_LAUNCH_CONFIGURATION_WORKING_SET = "launchConfigurationWorkingSet"; //$NON-NLS-1$
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
deleted file mode 100644
index 933dabf8d..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/InputStreamMonitor.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.Vector;
-
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Writes to the input stream of a system process,
- * queueing output if the stream is blocked.
- *
- * The input stream monitor writes to system in via
- * an output stream.
- */
-public class InputStreamMonitor {
-
- /**
- * The stream which is being written to (connected to system in).
- */
- private OutputStream fStream;
- /**
- * The queue of output.
- */
- private Vector fQueue;
- /**
- * The thread which writes to the stream.
- */
- private Thread fThread;
- /**
- * A lock for ensuring that writes to the queue are contiguous
- */
- private Object fLock;
-
- /**
- * Whether the underlying output stream has been closed
- */
- private boolean fClosed = false;
-
- /**
- * The encoding of the input stream.
- */
- private String fEncoding;
-
- /**
- * Creates an input stream monitor which writes to system in via the given output stream.
- *
- * @param stream output stream
- */
- public InputStreamMonitor(OutputStream stream) {
- this(stream, null);
- }
-
- /**
- * Creates an input stream monitor which writes to system in via the given output stream.
- *
- * @param stream output stream
- * @param encoding stream encoding or <code>null</code> for system default
- */
- public InputStreamMonitor(OutputStream stream, String encoding) {
- fStream= stream;
- fQueue= new Vector();
- fLock= new Object();
- fEncoding= encoding;
- }
-
- /**
- * Appends the given text to the stream, or
- * queues the text to be written at a later time
- * if the stream is blocked.
- *
- * @param text text to append
- */
- public void write(String text) {
- synchronized(fLock) {
- fQueue.add(text);
- fLock.notifyAll();
- }
- }
-
- /**
- * Starts a thread which writes the stream.
- */
- public void startMonitoring() {
- if (fThread == null) {
- fThread= new Thread(new Runnable() {
- public void run() {
- write();
- }
- }, DebugCoreMessages.InputStreamMonitor_label);
- fThread.setDaemon(true);
- fThread.start();
- }
- }
-
- /**
- * Close all communications between this
- * monitor and the underlying stream.
- */
- public void close() {
- if (fThread != null) {
- Thread thread= fThread;
- fThread= null;
- thread.interrupt();
- }
- }
-
- /**
- * Continuously writes to the stream.
- */
- protected void write() {
- while (fThread != null) {
- writeNext();
- }
- if (!fClosed) {
- try {
- fStream.close();
- } catch (IOException e) {
- DebugPlugin.log(e);
- }
- }
- }
-
- /**
- * Write the text in the queue to the stream.
- */
- protected void writeNext() {
- while (!fQueue.isEmpty() && !fClosed) {
- String text = (String)fQueue.firstElement();
- fQueue.removeElementAt(0);
- try {
- if (fEncoding != null)
- fStream.write(text.getBytes(fEncoding));
- else
- fStream.write(text.getBytes());
- fStream.flush();
- } catch (IOException e) {
- DebugPlugin.log(e);
- }
- }
- try {
- synchronized(fLock) {
- fLock.wait();
- }
- } catch (InterruptedException e) {
- }
- }
-
- /**
- * Closes the output stream attached to the standard input stream of this
- * monitor's process.
- *
- * @exception IOException if an exception occurs closing the input stream
- */
- public void closeInputStream() throws IOException {
- if (!fClosed) {
- fClosed = true;
- fStream.close();
- } else {
- throw new IOException();
- }
-
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
deleted file mode 100644
index 3f6e6ae38..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfiguration.java
+++ /dev/null
@@ -1,961 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Sascha Radike - bug 56642
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.StringReader;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubProgressMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.IStatusHandler;
-import org.eclipse.debug.core.Launch;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate2;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.sourcelookup.IPersistableSourceLocator2;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Launch configuration handle.
- *
- * @see ILaunchConfiguration
- */
-public class LaunchConfiguration extends PlatformObject implements ILaunchConfiguration {
-
- /**
- * Launch configuration attribute that specifies the resources paths mapped to it.
- * Not all launch configurations will have a mapped resource unless migrated.
- * Value is a list of resource paths stored as portable strings, or <code>null</code>
- * if none.
- *
- * @since 3.2
- */
- public static final String ATTR_MAPPED_RESOURCE_PATHS = DebugPlugin.getUniqueIdentifier() + ".MAPPED_RESOURCE_PATHS"; //$NON-NLS-1$
-
- /**
- * Launch configuration attribute that specifies the resources types mapped to it.
- * Not all launch configurations will have a mapped resource unless migrated.
- * Value is a list of resource type integers, or <code>null</code> if none.
- *
- * @since 3.2
- */
- public static final String ATTR_MAPPED_RESOURCE_TYPES = DebugPlugin.getUniqueIdentifier() + ".MAPPED_RESOURCE_TYPES"; //$NON-NLS-1$
-
- /**
- * The launch modes set on this configuration.
- *
- * @since 3.3
- */
- public static final String ATTR_LAUNCH_MODES = DebugPlugin.getUniqueIdentifier() + ".LAUNCH_MODES"; //$NON-NLS-1$
-
- /**
- * Launch configuration attribute storing a list
- * of preferred launchers for associated mode sets.
- * This attribute is a list of launchers stored by mode set
- * and relating to the id of the preferred launcher, which happens to be an <code>ILaunchDelegate</code>
- *
- * @since 3.3
- */
- public static final String ATTR_PREFERRED_LAUNCHERS = DebugPlugin.getUniqueIdentifier() + ".preferred_launchers"; //$NON-NLS-1$
-
- /**
- * Status handler to prompt in the UI thread
- *
- * @since 3.3
- */
- protected static final IStatus promptStatus = new Status(IStatus.INFO, "org.eclipse.debug.ui", 200, "", null); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * Status handler to prompt the user to resolve the missing launch delegate issue
- * @since 3.3
- */
- protected static final IStatus delegateNotAvailable = new Status(IStatus.INFO, "org.eclipse.debug.core", 226, "", null); //$NON-NLS-1$ //$NON-NLS-2$
-
- /**
- * Status handle to prompt the user to resolve duplicate launch delegates being detected
- *
- * @since 3.3
- */
- protected static final IStatus duplicateDelegates = new Status(IStatus.INFO, "org.eclipse.debug.core", 227, "", null); //$NON-NLS-1$//$NON-NLS-2$
-
- /**
- * This configuration's name
- * @since 3.5
- */
- private String fName;
-
- /**
- * The container this configuration is stored in or <code>null</code> if stored locally
- * with workspace metadata.
- * @since 3.5
- */
- private IContainer fContainer;
-
- /**
- * Constructs a launch configuration with the given name. The configuration
- * is stored in the given container or locally with workspace metadata if
- * the specified container is <code>null</code>.
- *
- * @param name launch configuration name
- * @param container parent container or <code>null</code>
- * @since 3.5
- */
- protected LaunchConfiguration(String name, IContainer container) {
- initialize();
- setName(name);
- setContainer(container);
- }
-
- /**
- * Initialize any state variables - called first in the constructor.
- * Subclasses must override as appropriate.
- */
- protected void initialize() {
- }
-
- /**
- * Constructs a launch configuration on the given workspace file.
- *
- * @param file workspace .launch file
- * @since 3.5
- */
- protected LaunchConfiguration(IFile file) {
- this(getSimpleName(file.getName()), file.getParent());
- }
-
- /**
- * Given a name that ends with .launch, return the simple name of the configuration.
- *
- * @param fileName
- * @return simple name
- * @since 3.5
- */
- protected static String getSimpleName(String fileName) {
- if (fileName.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION)) {
- return fileName.substring(0, fileName.length() - ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.length() - 1);
- }
- return fileName;
- }
-
- /**
- * Constructs a launch configuration from the given
- * memento.
- *
- * @param memento launch configuration memento
- * @exception CoreException if the memento is invalid or
- * an exception occurs reading the memento
- */
- protected LaunchConfiguration(String memento) throws CoreException {
- Exception ex = null;
- try {
- Element root = null;
- DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- parser.setErrorHandler(new DefaultHandler());
- StringReader reader = new StringReader(memento);
- InputSource source = new InputSource(reader);
- root = parser.parse(source).getDocumentElement();
-
- String localString = root.getAttribute(IConfigurationElementConstants.LOCAL);
- String path = root.getAttribute(IConfigurationElementConstants.PATH);
-
- String message = null;
- if (path == null || IInternalDebugCoreConstants.EMPTY_STRING.equals(path)) {
- message = DebugCoreMessages.LaunchConfiguration_18;
- } else if (localString == null || IInternalDebugCoreConstants.EMPTY_STRING.equals(localString)) {
- message = DebugCoreMessages.LaunchConfiguration_19;
- }
- if (message != null) {
- throw new CoreException(newStatus(message, DebugException.INTERNAL_ERROR, null));
- }
-
-
- boolean local = (Boolean.valueOf(localString)).booleanValue();
- IPath iPath = new Path(path);
- String name = getSimpleName(iPath.lastSegment());
- IContainer container = null;
- if (!local) {
- container = ResourcesPlugin.getWorkspace().getRoot().getFile(iPath).getParent();
- }
- setName(name);
- setContainer(container);
- return;
- } catch (ParserConfigurationException e) {
- ex = e;
- } catch (SAXException e) {
- ex = e;
- } catch (IOException e) {
- ex = e;
- }
- IStatus s = newStatus(DebugCoreMessages.LaunchConfiguration_17, DebugException.INTERNAL_ERROR, ex);
- throw new CoreException(s);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#contentsEqual(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public boolean contentsEqual(ILaunchConfiguration object) {
- try {
- if (object instanceof LaunchConfiguration) {
- LaunchConfiguration otherConfig = (LaunchConfiguration) object;
- return getName().equals(otherConfig.getName())
- && getType().equals(otherConfig.getType())
- && equalOrNull(getContainer(), otherConfig.getContainer())
- && getInfo().equals(otherConfig.getInfo());
- }
- return false;
- } catch (CoreException ce) {
- return false;
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#copy(java.lang.String)
- */
- public ILaunchConfigurationWorkingCopy copy(String name) throws CoreException {
- ILaunchConfigurationWorkingCopy copy = new LaunchConfigurationWorkingCopy(this, name);
- return copy;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#delete()
- */
- public void delete() throws CoreException {
- if (exists()) {
- IFile file = getFile();
- if (file == null) {
- IFileStore store = getFileStore();
- if (store != null) {
- store.delete(EFS.NONE, null);
- if ((store.fetchInfo().exists())) {
- throw new DebugException(
- new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfiguration_Failed_to_delete_launch_configuration__1, null)
- );
- }
- }
- } else {
- // Delete the resource using IFile API such that
- // resource deltas are fired.
- // First do validate edit to ensure the resource is local
- if (file.isReadOnly()) {
- IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
- if (!status.isOK()) {
- throw new CoreException(status);
- }
- }
- file.delete(true, null);
- }
- // update the launch manager cache synchronously
- getLaunchManager().launchConfigurationDeleted(this);
- }
- }
-
- /**
- * Returns whether this configuration is equal to the
- * given configuration. Two configurations are equal if
- * they are stored in the same location (and neither one
- * is a working copy).
- *
- * @return whether this configuration is equal to the
- * given configuration
- * @see Object#equals(Object)
- */
- public boolean equals(Object object) {
- if (object instanceof ILaunchConfiguration) {
- if (isWorkingCopy()) {
- return this == object;
- }
- LaunchConfiguration config = (LaunchConfiguration) object;
- if (!config.isWorkingCopy()) {
- return getName().equals(config.getName()) &&
- equalOrNull(getContainer(), config.getContainer());
- }
- }
- return false;
- }
-
- /**
- * Returns whether the given objects are equal or both <code>null</code>.
- *
- * @param o1
- * @param o2
- * @return whether the given objects are equal or both <code>null</code>
- * @since 3.5
- */
- protected boolean equalOrNull(Object o1, Object o2) {
- if (o1 == null) {
- return o2 == null;
- } else if (o2 != null) {
- return o1.equals(o2);
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#exists()
- */
- public boolean exists() {
- IFile file = getFile();
- if (file != null) {
- return file.exists();
- }
- try {
- IFileStore store = getFileStore();
- if (store != null) {
- return store.fetchInfo().exists();
- }
- } catch (CoreException e) {
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, boolean)
- */
- public boolean getAttribute(String attributeName, boolean defaultValue) throws CoreException {
- return getInfo().getBooleanAttribute(attributeName, defaultValue);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, int)
- */
- public int getAttribute(String attributeName, int defaultValue) throws CoreException {
- return getInfo().getIntAttribute(attributeName, defaultValue);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.List)
- */
- public List getAttribute(String attributeName, List defaultValue) throws CoreException {
- return getInfo().getListAttribute(attributeName, defaultValue);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.Set)
- */
- public Set getAttribute(String attributeName, Set defaultValue) throws CoreException {
- return getInfo().getSetAttribute(attributeName, defaultValue);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.util.Map)
- */
- public Map getAttribute(String attributeName, Map defaultValue) throws CoreException {
- return getInfo().getMapAttribute(attributeName, defaultValue);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttribute(java.lang.String, java.lang.String)
- */
- public String getAttribute(String attributeName, String defaultValue) throws CoreException {
- return getInfo().getStringAttribute(attributeName, defaultValue);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getAttributes()
- */
- public Map getAttributes() throws CoreException {
- LaunchConfigurationInfo info = getInfo();
- return info.getAttributes();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getCategory()
- */
- public String getCategory() throws CoreException {
- return getType().getCategory();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getFile()
- */
- public IFile getFile() {
- IContainer container = getContainer();
- if (container != null) {
- return container.getFile(new Path(getFileName()));
- }
- return null;
- }
-
- /**
- * Returns the simple file name of this launch configuration.
- *
- * @return the simple file name of this launch configuration - for example
- * "Abc.launch"
- */
- protected String getFileName() {
- StringBuffer buf = new StringBuffer(getName());
- buf.append('.');
- buf.append(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
- return buf.toString();
- }
-
- /**
- * Returns the info object containing the attributes
- * of this configuration
- *
- * @return info for this handle
- * @exception CoreException if unable to retrieve the
- * info object
- */
- protected LaunchConfigurationInfo getInfo() throws CoreException {
- return getLaunchManager().getInfo(this);
- }
-
- /**
- * Returns the launch manager
- *
- * @return launch manager
- */
- protected LaunchManager getLaunchManager() {
- return (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getLocation()
- */
- public IPath getLocation() {
- try {
- IFileStore store = getFileStore();
- if (store != null) {
- File localFile = store.toLocalFile(EFS.NONE, null);
- if (localFile != null) {
- return new Path(localFile.getAbsolutePath());
- }
- }
- } catch (CoreException e) {
- }
- return null;
- }
-
- /**
- * Returns the file store this configuration is persisted in or <code>null</code> if
- * a file store cannot be derived. The file may or may not exist. If this configuration
- * is in a project that is closed or does not exist, <code>null</code> is returned.
- *
- * @return file store this configuration is persisted in or <code>null</code>
- * @throws CoreException
- * @since 3.5
- */
- public IFileStore getFileStore() throws CoreException {
- if (isLocal()) {
- return EFS.getLocalFileSystem().fromLocalFile(
- LaunchManager.LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.append(getFileName()).toFile());
- }
- URI uri = getFile().getLocationURI();
- if (uri != null) {
- return EFS.getStore(uri);
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getResource()
- */
- public IResource[] getMappedResources() throws CoreException {
- List paths = getAttribute(ATTR_MAPPED_RESOURCE_PATHS, (List)null);
- if (paths == null || paths.size() == 0) {
- return null;
- }
- List types = getAttribute(ATTR_MAPPED_RESOURCE_TYPES, (List)null);
- if (types == null || types.size() != paths.size()) {
- throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, null));
- }
- ArrayList list = new ArrayList();
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- for(int i = 0; i < paths.size(); i++) {
- String pathStr = (String) paths.get(i);
- String typeStr= (String) types.get(i);
- int type = -1;
- try {
- type = Integer.decode(typeStr).intValue();
- } catch (NumberFormatException e) {
- throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, e));
- }
- IPath path = Path.fromPortableString(pathStr);
- IResource res = null;
- switch (type) {
- case IResource.FILE:
- res = root.getFile(path);
- break;
- case IResource.PROJECT:
- res = root.getProject(pathStr);
- break;
- case IResource.FOLDER:
- res = root.getFolder(path);
- break;
- case IResource.ROOT:
- res = root;
- break;
- default:
- throw new CoreException(newStatus(DebugCoreMessages.LaunchConfiguration_0, DebugPlugin.ERROR, null));
- }
- if(res != null) {
- list.add(res);
- }
- }
- if (list.isEmpty()) {
- return null;
- }
- return (IResource[])list.toArray(new IResource[list.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getMemento()
- */
- public String getMemento() throws CoreException {
- IPath relativePath = null;
- IFile file = getFile();
- boolean local = true;
- if (file == null) {
- relativePath = new Path(getName());
- } else {
- local = false;
- relativePath = file.getFullPath();
- }
- Exception e= null;
- try {
- Document doc = LaunchManager.getDocument();
- Element node = doc.createElement(IConfigurationElementConstants.LAUNCH_CONFIGURATION);
- doc.appendChild(node);
- node.setAttribute(IConfigurationElementConstants.LOCAL, (Boolean.valueOf(local)).toString());
- node.setAttribute(IConfigurationElementConstants.PATH, relativePath.toString());
- return LaunchManager.serializeDocument(doc);
- } catch (IOException ioe) {
- e= ioe;
- } catch (ParserConfigurationException pce) {
- e= pce;
- } catch (TransformerException te) {
- e= te;
- }
- IStatus status = newStatus(DebugCoreMessages.LaunchConfiguration_16, DebugException.INTERNAL_ERROR, e);
- throw new CoreException(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getName()
- */
- public String getName() {
- return fName;
- }
-
- /**
- * Returns the container this configuration is stored in, or <code>null</code>
- * if this configuration is local.
- *
- * @return the container this configuration is stored in, or <code>null</code>
- * if this configuration is local
- * @since 3.5
- */
- protected IContainer getContainer() {
- return fContainer;
- }
-
- public Set getModes() throws CoreException {
- Set options = getAttribute(ATTR_LAUNCH_MODES, (Set)null);
- return (options != null ? new HashSet(options) : new HashSet(0));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getType()
- */
- public ILaunchConfigurationType getType() throws CoreException {
- return getInfo().getType();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#getWorkingCopy()
- */
- public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
- return new LaunchConfigurationWorkingCopy(this);
- }
-
- /* (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- IContainer container = getContainer();
- if (container == null) {
- return getName().hashCode();
- } else {
- return getName().hashCode() + container.hashCode();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#hasAttribute(java.lang.String)
- */
- public boolean hasAttribute(String attributeName) throws CoreException {
- return getInfo().hasAttribute(attributeName);
- }
-
- /**
- * Set the source locator to use with the launch, if specified
- * by this configuration.
- *
- * @param launch the launch on which to set the source locator
- */
- protected void initializeSourceLocator(ILaunch launch) throws CoreException {
- if (launch.getSourceLocator() == null) {
- String type = getAttribute(ATTR_SOURCE_LOCATOR_ID, (String)null);
- if (type == null) {
- type = getType().getSourceLocatorId();
- }
- if (type != null) {
- IPersistableSourceLocator locator = getLaunchManager().newSourceLocator(type);
- String memento = getAttribute(ATTR_SOURCE_LOCATOR_MEMENTO, (String)null);
- if (memento == null) {
- locator.initializeDefaults(this);
- } else {
- if(locator instanceof IPersistableSourceLocator2)
- ((IPersistableSourceLocator2)locator).initializeFromMemento(memento, this);
- else
- locator.initializeFromMemento(memento);
- }
- launch.setSourceLocator(locator);
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#isLocal()
- */
- public boolean isLocal() {
- return getContainer() == null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#isMigrationCandidate()
- */
- public boolean isMigrationCandidate() throws CoreException {
- return ((LaunchConfigurationType)getType()).isMigrationCandidate(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#isWorkingCopy()
- */
- public boolean isWorkingCopy() {
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor)
- */
- public ILaunch launch(String mode, IProgressMonitor monitor) throws CoreException {
- return launch(mode, monitor, false);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean)
- */
- public ILaunch launch(String mode, IProgressMonitor monitor, boolean build) throws CoreException {
- return launch(mode, monitor, build, true);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#launch(java.lang.String, org.eclipse.core.runtime.IProgressMonitor, boolean, boolean)
- */
- public ILaunch launch(String mode, IProgressMonitor monitor, boolean build, boolean register) throws CoreException {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
- /* Setup progress monitor
- * - Prepare delegate (0)
- * - Pre-launch check (1)
- * - [Build before launch (7)] if build
- * - [Incremental build before launch (3)] if build
- * - Final launch validation (1)
- * - Initialize source locator (1)
- * - Launch delegate (10) */
- if (build) {
- monitor.beginTask("", 23); //$NON-NLS-1$
- }
- else {
- monitor.beginTask("", 13); //$NON-NLS-1$
- }
- monitor.subTask(DebugCoreMessages.LaunchConfiguration_9);
- try {
- // bug 28245 - force the delegate to load in case it is interested in launch notifications
- Set modes = getModes();
- modes.add(mode);
- ILaunchDelegate[] delegates = getType().getDelegates(modes);
- ILaunchConfigurationDelegate delegate = null;
- if (delegates.length == 1) {
- delegate = delegates[0].getDelegate();
- } else if (delegates.length == 0) {
- IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(promptStatus);
- if (handler != null) {
- handler.handleStatus(delegateNotAvailable, new Object[] {this, mode});
- }
- IStatus status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_11, null);
- throw new CoreException(status);
- } else {
- ILaunchDelegate del = getPreferredDelegate(modes);
- if(del == null) {
- del = getType().getPreferredDelegate(modes);
- }
- if(del == null) {
- IStatusHandler handler = DebugPlugin.getDefault().getStatusHandler(promptStatus);
- IStatus status = null;
- if (handler != null) {
- status = (IStatus) handler.handleStatus(duplicateDelegates, new Object[] {this, mode});
- }
- if(status != null && status.isOK()) {
- del = getPreferredDelegate(modes);
- if(del == null) {
- del = getType().getPreferredDelegate(modes);
- }
- if(del != null) {
- delegate = del.getDelegate();
- }
- else {
- status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_13, null);
- throw new CoreException(status);
- }
- }
- else {
- status = new Status(IStatus.CANCEL, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchConfiguration_13, null);
- throw new CoreException(status);
- }
- }
- else {
- delegate = del.getDelegate();
- }
- }
-
- ILaunchConfigurationDelegate2 delegate2 = null;
- if (delegate instanceof ILaunchConfigurationDelegate2) {
- delegate2 = (ILaunchConfigurationDelegate2) delegate;
- }
- // allow the delegate to provide a launch implementation
- ILaunch launch = null;
- if (delegate2 != null) {
- launch = delegate2.getLaunch(this, mode);
- }
- if (launch == null) {
- launch = new Launch(this, mode, null);
- } else {
- // ensure the launch mode is valid
- if (!mode.equals(launch.getLaunchMode())) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR,
- MessageFormat.format(DebugCoreMessages.LaunchConfiguration_14, new String[]{mode, launch.getLaunchMode()}), null);
- throw new CoreException(status);
- }
- }
- launch.setAttribute(DebugPlugin.ATTR_LAUNCH_TIMESTAMP, Long.toString(System.currentTimeMillis()));
- boolean captureOutput = getAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, true);
- if(!captureOutput) {
- launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, "false"); //$NON-NLS-1$
- } else {
- launch.setAttribute(DebugPlugin.ATTR_CAPTURE_OUTPUT, null);
- }
- launch.setAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, getLaunchManager().getEncoding(this));
-
- // perform initial pre-launch sanity checks
- monitor.subTask(DebugCoreMessages.LaunchConfiguration_8);
-
- if (delegate2 != null) {
- if (!(delegate2.preLaunchCheck(this, mode, new SubProgressMonitor(monitor, 1)))) {
- return launch;
- }
- }
- else {
- monitor.worked(1); /* No pre-launch-check */
- }
- // perform pre-launch build
- if (build) {
- IProgressMonitor buildMonitor = new SubProgressMonitor(monitor, 10, SubProgressMonitor.PREPEND_MAIN_LABEL_TO_SUBTASK);
- buildMonitor.beginTask(DebugCoreMessages.LaunchConfiguration_7, 10);
- buildMonitor.subTask(DebugCoreMessages.LaunchConfiguration_6);
- if (delegate2 != null) {
- build = delegate2.buildForLaunch(this, mode, new SubProgressMonitor(buildMonitor, 7));
- }
- if (build) {
- buildMonitor.subTask(DebugCoreMessages.LaunchConfiguration_5);
- ResourcesPlugin.getWorkspace().build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(buildMonitor, 3));
- }
- else {
- buildMonitor.worked(3); /* No incremental build required */
- }
- }
- // final validation
- monitor.subTask(DebugCoreMessages.LaunchConfiguration_4);
- if (delegate2 != null) {
- if (!(delegate2.finalLaunchCheck(this, mode, new SubProgressMonitor(monitor, 1)))) {
- return launch;
- }
- }
- else {
- monitor.worked(1); /* No validation */
- }
- if (register) {
- getLaunchManager().addLaunch(launch);
- }
-
- try {
- //initialize the source locator
- monitor.subTask(DebugCoreMessages.LaunchConfiguration_3);
- initializeSourceLocator(launch);
- monitor.worked(1);
-
- /* Launch the delegate */
- monitor.subTask(DebugCoreMessages.LaunchConfiguration_2);
- delegate.launch(this, mode, launch, new SubProgressMonitor(monitor, 10));
- } catch (CoreException e) {
- // if there was an exception, and the launch is empty, remove it
- if (!launch.hasChildren()) {
- getLaunchManager().removeLaunch(launch);
- }
- throw e;
- } catch (RuntimeException e) {
- // if there was a runtime exception, and the launch is empty, remove it
- if (!launch.hasChildren()) {
- getLaunchManager().removeLaunch(launch);
- }
- throw e;
- }
- if (monitor.isCanceled()) {
- getLaunchManager().removeLaunch(launch);
- }
- return launch;
- }
- finally {
- monitor.done();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#migrate()
- */
- public void migrate() throws CoreException {
- ((LaunchConfigurationType)getType()).migrate(this);
- }
-
- /**
- * Creates and returns a new error status based on
- * the given message, code, and exception.
- *
- * @param message error message
- * @param code error code
- * @param e exception or <code>null</code>
- * @return status
- */
- protected IStatus newStatus(String message, int code, Throwable e) {
- return new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), code, message, e);
- }
-
- /**
- * Sets the new name for this configuration.
- *
- * @param name the new name for this configuration
- * @since 3.5
- */
- protected void setName(String name) {
- fName = name;
- }
-
- /**
- * Sets this configurations container or <code>null</code> if stored in the
- * local metadata.
- *
- * @param container or <code>null</code>
- * @since 3.5
- */
- protected void setContainer(IContainer container) {
- fContainer = container;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#supportsMode(java.lang.String)
- */
- public boolean supportsMode(String mode) throws CoreException {
- return getType().supportsMode(mode);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfiguration#isReadOnly()
- */
- public boolean isReadOnly() {
- try {
- IFileStore fileStore = getFileStore();
- if (fileStore != null) {
- return fileStore.fetchInfo().getAttribute(EFS.ATTRIBUTE_READ_ONLY);
- }
- } catch (CoreException e) {
- }
- return true;
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfiguration#getPreferredDelegate(java.util.Set)
- */
- public ILaunchDelegate getPreferredDelegate(Set modes) throws CoreException {
- Map delegates = getAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, (Map)null);
- if(delegates != null) {
- String id = (String) delegates.get(modes.toString());
- if(id != null) {
- return getLaunchManager().getLaunchDelegate(id);
- }
- }
- return null;
- }
-
- /**
- * @see java.lang.Object#toString()
- */
- public String toString() {
- return getName();
- }
-
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
deleted file mode 100644
index 810ffeb31..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationComparator.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.util.Comparator;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Proxy to a runtime classpath entry resolver extension.
- *
- * @see IConfigurationElementConstants
- */
-public class LaunchConfigurationComparator implements Comparator {
-
- private IConfigurationElement fConfigurationElement;
-
- private Comparator fDelegate;
-
- /**
- * Constructs a new resolver on the given configuration element
- *
- * @param element configuration element
- */
- public LaunchConfigurationComparator(IConfigurationElement element) {
- fConfigurationElement = element;
- }
-
- /**
- * Returns the resolver delegate (and creates if required)
- */
- protected Comparator getComparator() {
- if (fDelegate == null) {
- try {
- fDelegate = (Comparator)fConfigurationElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- return fDelegate;
- }
-
-
- /**
- * @see Comparator#compare(Object, Object)
- */
- public int compare(Object o1, Object o2) {
- return getComparator().compare(o1, o2);
- }
-
- /**
- * @see Object#equals(Object)
- */
- public boolean equals(Object obj) {
- return getComparator().equals(obj);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
deleted file mode 100644
index 0b9cde3f6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationInfo.java
+++ /dev/null
@@ -1,801 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.TransformerException;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * The information associated with a launch configuration handle.
- */
-public class LaunchConfigurationInfo {
-
- /**
- * Constants for XML element names and attributes
- */
- private static final String KEY = "key"; //$NON-NLS-1$
- private static final String VALUE = "value"; //$NON-NLS-1$
- private static final String SET_ENTRY = "setEntry"; //$NON-NLS-1$
- private static final String LAUNCH_CONFIGURATION = "launchConfiguration"; //$NON-NLS-1$
- private static final String MAP_ENTRY = "mapEntry"; //$NON-NLS-1$
- private static final String LIST_ENTRY = "listEntry"; //$NON-NLS-1$
- private static final String SET_ATTRIBUTE = "setAttribute"; //$NON-NLS-1$
- private static final String MAP_ATTRIBUTE = "mapAttribute"; //$NON-NLS-1$
- private static final String LIST_ATTRIBUTE = "listAttribute"; //$NON-NLS-1$
- private static final String BOOLEAN_ATTRIBUTE = "booleanAttribute"; //$NON-NLS-1$
- private static final String INT_ATTRIBUTE = "intAttribute"; //$NON-NLS-1$
- private static final String STRING_ATTRIBUTE = "stringAttribute"; //$NON-NLS-1$
- private static final String TYPE = "type"; //$NON-NLS-1$
-
- /**
- * This configurations attribute table. Keys are <code>String</code>s and
- * values are one of <code>String</code>, <code>Integer</code>, or
- * <code>Boolean</code>.
- */
- private TreeMap fAttributes;
-
- /**
- * This launch configuration's type
- */
- private ILaunchConfigurationType fType;
-
- /**
- * Whether running on Sun 1.4 VM - see bug 110215
- */
- private static boolean fgIsSun14x = false;
-
- static {
- String vendor = System.getProperty("java.vm.vendor"); //$NON-NLS-1$
- if (vendor.startsWith("Sun Microsystems")) { //$NON-NLS-1$
- String version = System.getProperty("java.vm.version"); //$NON-NLS-1$
- if (version.startsWith("1.4")) { //$NON-NLS-1$
- fgIsSun14x = true;
- }
- }
- }
-
- /**
- * Constructs a new empty info
- */
- protected LaunchConfigurationInfo() {
- setAttributeTable(new TreeMap());
- }
-
- /**
- * Returns this configuration's attribute table.
- *
- * @return attribute table
- */
- private TreeMap getAttributeTable() {
- return fAttributes;
- }
-
- /**
- * Sets this configuration's attribute table.
- *
- * @param table
- * attribute table
- */
- private void setAttributeTable(TreeMap table) {
- fAttributes = table;
- }
-
- /**
- * Sets the attributes in this info to those in the given map.
- *
- * @param map
- */
- protected void setAttributes(Map map) {
- if (map == null) {
- setAttributeTable(new TreeMap());
- return;
- }
- setAttributeTable(new TreeMap(map));
- }
-
- /**
- * Returns the <code>String</code> attribute with the given key or the
- * given default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not a
- * <code>String</code>
- */
- protected String getStringAttribute(String key, String defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof String) {
- return (String)attr;
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_lang_String__1, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Returns the <code>int</code> attribute with the given key or the given
- * default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not an
- * <code>int</code>
- */
- protected int getIntAttribute(String key, int defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof Integer) {
- return ((Integer)attr).intValue();
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_int__2, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Returns the <code>boolean</code> attribute with the given key or the
- * given default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not a
- * <code>boolean</code>
- */
- protected boolean getBooleanAttribute(String key, boolean defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof Boolean) {
- return ((Boolean)attr).booleanValue();
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_boolean__3, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Returns the <code>java.util.List</code> attribute with the given key or
- * the given default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not a
- * <code>java.util.List</code>
- */
- protected List getListAttribute(String key, List defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof List) {
- return (List)attr;
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_List__1, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Returns the <code>java.util.Set</code> attribute with the given key or
- * the given default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not a
- * <code>java.util.Set</code>
- *
- * @since 3.3
- */
- protected Set getSetAttribute(String key, Set defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof Set) {
- return (Set)attr;
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_35, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Returns the <code>java.util.Map</code> attribute with the given key or
- * the given default value if undefined.
- *
- * @return attribute specified by given key or the defaultValue if undefined
- * @throws CoreException
- * if the attribute with the given key exists but is not a
- * <code>java.util.Map</code>
- */
- protected Map getMapAttribute(String key, Map defaultValue) throws CoreException {
- Object attr = getAttributeTable().get(key);
- if (attr != null) {
- if (attr instanceof Map) {
- return (Map)attr;
- }
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_Attribute__0__is_not_of_type_java_util_Map__1, new String[] {key}), null
- )
- );
- }
- return defaultValue;
- }
-
- /**
- * Sets this configuration's type.
- *
- * @param type
- * launch configuration type
- */
- protected void setType(ILaunchConfigurationType type) {
- fType = type;
- }
-
- /**
- * Returns this configuration's type.
- *
- * @return launch configuration type
- */
- protected ILaunchConfigurationType getType() {
- return fType;
- }
-
-
- /**
- * Returns a copy of this info object
- *
- * @return copy of this info
- */
- protected LaunchConfigurationInfo getCopy() {
- LaunchConfigurationInfo copy = new LaunchConfigurationInfo();
- copy.setType(getType());
- copy.setAttributeTable(getAttributes());
- return copy;
- }
-
- /**
- * Returns a copy of this info's attribute map.
- *
- * @return a copy of this info's attribute map
- */
- protected TreeMap getAttributes() {
- return (TreeMap)getAttributeTable().clone();
- }
-
- /**
- * Sets the given attribute to the given value. Only working copy's should
- * use this API.
- *
- * @param key
- * attribute key
- * @param value
- * attribute value
- */
- protected void setAttribute(String key, Object value) {
- if (value == null) {
- getAttributeTable().remove(key);
- } else {
- getAttributeTable().put(key, value);
- }
- }
-
- /**
- * Returns the content of this info as XML
- *
- * @return the content of this info as XML
- * @throws CoreException
- * if a attribute has been set with a null key
- * @throws IOException
- * if an exception occurs creating the XML
- * @throws ParserConfigurationException
- * if an exception occurs creating the XML
- * @throws TransformerException
- * if an exception occurs creating the XML
- */
- protected String getAsXML() throws CoreException, IOException, ParserConfigurationException, TransformerException {
-
- Document doc = LaunchManager.getDocument();
- Element configRootElement = doc.createElement(LAUNCH_CONFIGURATION);
- doc.appendChild(configRootElement);
-
- configRootElement.setAttribute(TYPE, getType().getIdentifier());
-
- Iterator keys = getAttributeTable().keySet().iterator();
- while (keys.hasNext()) {
- String key = (String)keys.next();
- if (key == null) {
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_36, null
- )
- );
- }
- Object value = getAttributeTable().get(key);
- if (value == null) {
- continue;
- }
- Element element = null;
- String valueString = null;
- if (value instanceof String) {
- valueString = (String)value;
- element = createKeyValueElement(doc, STRING_ATTRIBUTE, key, valueString);
- } else if (value instanceof Integer) {
- valueString = ((Integer)value).toString();
- element = createKeyValueElement(doc, INT_ATTRIBUTE, key, valueString);
- } else if (value instanceof Boolean) {
- valueString = ((Boolean)value).toString();
- element = createKeyValueElement(doc, BOOLEAN_ATTRIBUTE, key, valueString);
- } else if (value instanceof List) {
- element = createListElement(doc, LIST_ATTRIBUTE, key, (List)value);
- } else if (value instanceof Map) {
- element = createMapElement(doc, MAP_ATTRIBUTE, key, (Map)value);
- } else if(value instanceof Set) {
- element = createSetElement(doc, SET_ATTRIBUTE, key, (Set)value);
- }
- configRootElement.appendChild(element);
- }
-
- return LaunchManager.serializeDocument(doc);
- }
-
- /**
- * Helper method that creates a 'key value' element of the specified type
- * with the specified attribute values.
- */
- protected Element createKeyValueElement(Document doc, String elementType, String key, String value) {
- Element element = doc.createElement(elementType);
- element.setAttribute(KEY, key);
- element.setAttribute(VALUE, value);
- return element;
- }
-
- /**
- * Creates a new <code>Element</code> for the specified
- * <code>java.util.List</code>
- *
- * @param doc the doc to add the element to
- * @param elementType the type of the element
- * @param setKey the key for the element
- * @param list the list to fill the new element with
- * @return the new element
- */
- protected Element createListElement(Document doc, String elementType, String listKey, List list) {
- Element listElement = doc.createElement(elementType);
- listElement.setAttribute(KEY, listKey);
- Iterator iterator = list.iterator();
- while (iterator.hasNext()) {
- String value = (String) iterator.next();
- Element element = doc.createElement(LIST_ENTRY);
- element.setAttribute(VALUE, value);
- listElement.appendChild(element);
- }
- return listElement;
- }
-
- /**
- * Creates a new <code>Element</code> for the specified
- * <code>java.util.Set</code>
- *
- * @param doc the doc to add the element to
- * @param elementType the type of the element
- * @param setKey the key for the element
- * @param set the set to fill the new element with
- * @return the new element
- *
- * @since 3.3
- */
- protected Element createSetElement(Document doc, String elementType, String setKey, Set set) {
- Element setElement = doc.createElement(elementType);
- setElement.setAttribute(KEY, setKey);
- // persist in sorted order
- List list = new ArrayList(set);
- Collections.sort(list);
- Element element = null;
- for(Iterator iter = list.iterator(); iter.hasNext();) {
- element = doc.createElement(SET_ENTRY);
- element.setAttribute(VALUE, (String) iter.next());
- setElement.appendChild(element);
- }
- return setElement;
- }
-
- /**
- * Creates a new <code>Element</code> for the specified
- * <code>java.util.Map</code>
- *
- * @param doc the doc to add the element to
- * @param elementType the type of the element
- * @param setKey the key for the element
- * @param map the map to fill the new element with
- * @return the new element
- *
- */
- protected Element createMapElement(Document doc, String elementType, String mapKey, Map map) {
- Element mapElement = doc.createElement(elementType);
- mapElement.setAttribute(KEY, mapKey);
- // persist in sorted order based on keys
- List keys = new ArrayList(map.keySet());
- Collections.sort(keys);
- Iterator iterator = keys.iterator();
- while (iterator.hasNext()) {
- String key = (String) iterator.next();
- String value = (String) map.get(key);
- Element element = doc.createElement(MAP_ENTRY);
- element.setAttribute(KEY, key);
- element.setAttribute(VALUE, value);
- mapElement.appendChild(element);
- }
- return mapElement;
- }
-
- /**
- * Initializes the mapping of attributes from the XML file
- * @param root the root node from the XML document
- * @throws CoreException
- */
- protected void initializeFromXML(Element root) throws CoreException {
- if (!root.getNodeName().equalsIgnoreCase(LAUNCH_CONFIGURATION)) {
- throw getInvalidFormatDebugException();
- }
-
- // read type
- String id = root.getAttribute(TYPE);
- if (id == null) {
- throw getInvalidFormatDebugException();
- }
-
- ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
- if (type == null) {
- String message= MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_missing_type, new Object[]{id});
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, message, null)
- );
- }
- setType(type);
-
- NodeList list = root.getChildNodes();
- Node node = null;
- Element element = null;
- String nodeName = null;
- for (int i = 0; i < list.getLength(); ++i) {
- node = list.item(i);
- short nodeType = node.getNodeType();
- if (nodeType == Node.ELEMENT_NODE) {
- element = (Element) node;
- nodeName = element.getNodeName();
- if (nodeName.equalsIgnoreCase(STRING_ATTRIBUTE)) {
- setStringAttribute(element);
- } else if (nodeName.equalsIgnoreCase(INT_ATTRIBUTE)) {
- setIntegerAttribute(element);
- } else if (nodeName.equalsIgnoreCase(BOOLEAN_ATTRIBUTE)) {
- setBooleanAttribute(element);
- } else if (nodeName.equalsIgnoreCase(LIST_ATTRIBUTE)) {
- setListAttribute(element);
- } else if (nodeName.equalsIgnoreCase(MAP_ATTRIBUTE)) {
- setMapAttribute(element);
- } else if(nodeName.equalsIgnoreCase(SET_ATTRIBUTE)) {
- setSetAttribute(element);
- }
- }
- }
- }
-
- /**
- * Loads a <code>String</code> from the specified element into the local attribute mapping
- * @param element the element to load from
- * @throws CoreException
- */
- protected void setStringAttribute(Element element) throws CoreException {
- setAttribute(getKeyAttribute(element), getValueAttribute(element));
- }
-
- /**
- * Loads an <code>Integer</code> from the specified element into the local attribute mapping
- * @param element the element to load from
- * @throws CoreException
- */
- protected void setIntegerAttribute(Element element) throws CoreException {
- setAttribute(getKeyAttribute(element), new Integer(getValueAttribute(element)));
- }
-
- /**
- * Loads a <code>Boolean</code> from the specified element into the local attribute mapping
- * @param element the element to load from
- * @throws CoreException
- */
- protected void setBooleanAttribute(Element element) throws CoreException {
- setAttribute(getKeyAttribute(element), Boolean.valueOf(getValueAttribute(element)));
- }
-
- /**
- * Reads a <code>List</code> attribute from the specified XML node and
- * loads it into the mapping of attributes
- *
- * @param element the element to read the list attribute from
- * @throws CoreException if the element has an invalid format
- */
- protected void setListAttribute(Element element) throws CoreException {
- String listKey = element.getAttribute(KEY);
- NodeList nodeList = element.getChildNodes();
- int entryCount = nodeList.getLength();
- List list = new ArrayList(entryCount);
- Node node = null;
- Element selement = null;
- for (int i = 0; i < entryCount; i++) {
- node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- selement = (Element) node;
- if (!selement.getNodeName().equalsIgnoreCase(LIST_ENTRY)) {
- throw getInvalidFormatDebugException();
- }
- list.add(getValueAttribute(selement));
- }
- }
- setAttribute(listKey, list);
- }
-
- /**
- * Reads a <code>Set</code> attribute from the specified XML node and
- * loads it into the mapping of attributes
- *
- * @param element the element to read the set attribute from
- * @throws CoreException if the element has an invalid format
- *
- * @since 3.3
- */
- protected void setSetAttribute(Element element) throws CoreException {
- String setKey = element.getAttribute(KEY);
- NodeList nodeList = element.getChildNodes();
- int entryCount = nodeList.getLength();
- Set set = new HashSet(entryCount);
- Node node = null;
- Element selement = null;
- for(int i = 0; i < entryCount; i++) {
- node = nodeList.item(i);
- if(node.getNodeType() == Node.ELEMENT_NODE) {
- selement = (Element)node;
- if(!selement.getNodeName().equalsIgnoreCase(SET_ENTRY)) {
- throw getInvalidFormatDebugException();
- }
- set.add(getValueAttribute(selement));
- }
- }
- setAttribute(setKey, set);
- }
-
- /**
- * Reads a <code>Map</code> attribute from the specified XML node and
- * loads it into the mapping of attributes
- *
- * @param element the element to read the map attribute from
- * @throws CoreException if the element has an invalid format
- */
- protected void setMapAttribute(Element element) throws CoreException {
- String mapKey = element.getAttribute(KEY);
- NodeList nodeList = element.getChildNodes();
- int entryCount = nodeList.getLength();
- Map map = new HashMap(entryCount);
- Node node = null;
- Element selement = null;
- for (int i = 0; i < entryCount; i++) {
- node = nodeList.item(i);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- selement = (Element) node;
- if (!selement.getNodeName().equalsIgnoreCase(MAP_ENTRY)) {
- throw getInvalidFormatDebugException();
- }
- map.put(getKeyAttribute(selement), getValueAttribute(selement));
- }
- }
- setAttribute(mapKey, map);
- }
-
- /**
- * Returns the <code>String</code> representation of the 'key' attribute from the specified element
- * @param element the element to read from
- * @return the value
- * @throws CoreException
- */
- protected String getKeyAttribute(Element element) throws CoreException {
- String key = element.getAttribute(KEY);
- if (key == null) {
- throw getInvalidFormatDebugException();
- }
- return key;
- }
-
- /**
- * Returns the <code>String</code> representation of the 'value' attribute from the specified element
- * @param element the element to read from
- * @return the value
- * @throws CoreException
- */
- protected String getValueAttribute(Element element) throws CoreException {
- String value = element.getAttribute(VALUE);
- if (value == null) {
- throw getInvalidFormatDebugException();
- }
- return value;
- }
-
- /**
- * Returns an invalid format exception for reuse
- * @return an invalid format exception
- */
- protected DebugException getInvalidFormatDebugException() {
- return
- new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationInfo_Invalid_launch_configuration_XML__10, null
- )
- );
- }
-
- /**
- * Two <code>LaunchConfigurationInfo</code> objects are equal if and only
- * if they have the same type and they have the same set of attributes with
- * the same values.
- *
- * @see Object#equals(Object)
- */
- public boolean equals(Object obj) {
-
- // Make sure it's a LaunchConfigurationInfo object
- if (!(obj instanceof LaunchConfigurationInfo)) {
- return false;
- }
-
- // Make sure the types are the same
- LaunchConfigurationInfo other = (LaunchConfigurationInfo) obj;
- if (!fType.getIdentifier().equals(other.getType().getIdentifier())) {
- return false;
- }
-
- // Make sure the attributes are the same
- return compareAttributes(fAttributes, other.getAttributeTable());
- }
-
- /**
- * Returns whether the two attribute maps are equal, consulting registered
- * comparator extensions.
- *
- * @param map1 attribute map
- * @param map2 attribute map
- * @return whether the two attribute maps are equal
- */
- protected boolean compareAttributes(TreeMap map1, TreeMap map2) {
- LaunchManager manager = (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
- if (map1.size() == map2.size()) {
- Iterator attributes = map1.keySet().iterator();
- while (attributes.hasNext()) {
- String key = (String)attributes.next();
- Object attr1 = map1.get(key);
- Object attr2 = map2.get(key);
- if (attr2 == null) {
- return false;
- }
- Comparator comp = manager.getComparator(key);
- if (comp == null) {
- if (fgIsSun14x) {
- if(attr2 instanceof String & attr1 instanceof String) {
- // this is a hack for bug 110215, on SUN 1.4.x, \r
- // is stripped off when the stream is written to the
- // DOM
- // this is not the case for 1.5.x, so to be safe we
- // are stripping \r off all strings before we
- // compare for equality
- attr1 = ((String)attr1).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
- attr2 = ((String)attr2).replaceAll("\\r", ""); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- if (!attr1.equals(attr2)) {
- return false;
- }
- } else {
- if (comp.compare(attr1, attr2) != 0) {
- return false;
- }
- }
- }
- return true;
- }
- return false;
- }
-
- /**
- * @see java.lang.Object#hashCode()
- */
- public int hashCode() {
- return fType.hashCode() + fAttributes.size();
- }
-
- /**
- * Returns if the attribute map contains the specified key
- * @param attributeName
- * @return true if the attribute map contains the specified key, false otherwise
- *
- * @since 3.4.0
- */
- protected boolean hasAttribute(String attributeName) {
- return fAttributes.containsKey(attributeName);
- }
-
- /**
- * Removes the specified attribute from the mapping and returns
- * its value, or <code>null</code> if none. Does nothing
- * if the attribute name is <code>null</code>
- * @param attributeName
- * @return attribute value or <code>null</code>
- *
- * @since 3.4.0
- */
- protected Object removeAttribute(String attributeName) {
- if(attributeName != null) {
- return fAttributes.remove(attributeName);
- }
- return null;
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
deleted file mode 100644
index f3d3a555f..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationType.java
+++ /dev/null
@@ -1,516 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationMigrationDelegate;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * A launch configuration type wrappers a configuration
- * element for a <code>launchConfigurationType</code>
- * extension.
- */
-public class LaunchConfigurationType extends PlatformObject implements ILaunchConfigurationType {
-
- /**
- * The configuration element of the extension.
- */
- private IConfigurationElement fElement;
-
- /**
- * a listing of modes contributed to this launch configuration type
- *
- * @since 3.3
- */
- private Set fModes = null;
-
- /**
- * A set of sets containing all of the supported mode combinations of this type
- *
- * @since 3.3
- */
- private Set fModeCombinations = null;
-
- /**
- * the default source path computer for this config type
- *
- * @since 3.3
- */
- private ISourcePathComputer fSourcePathComputer = null;
-
- /**
- * Cache for the migration delegate
- *
- * @since 3.3
- */
- private ILaunchConfigurationMigrationDelegate fMigrationDelegate = null;
-
- /**
- * The source locator id for this config type
- */
- private String fSourceLocator = null;
-
- /**
- * The delegates for launch configurations of this type.
- * Delegates are instantiated lazily as required. There may
- * be different delegates for different modes (since 3.0).
- * Map of modes (Set of modes) to list of delegates
- */
- private Map fDelegates = null;
-
- /**
- * The source provider cache entry
- */
- private LaunchDelegate fSourceProvider = null;
-
- /**
- * A map of preferred launch delegates for mode combinations
- *
- * @since 3.3
- */
- private Map fPreferredDelegates = null;
-
- /**
- * Constructs a new launch configuration type on the
- * given configuration element.
- *
- * @param element configuration element
- */
- protected LaunchConfigurationType(IConfigurationElement element) {
- fElement = element;
- initializePreferredDelegates();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getAttribute(java.lang.String)
- */
- public String getAttribute(String attributeName) {
- return fElement.getAttribute(attributeName);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getCategory()
- */
- public String getCategory() {
- return fElement.getAttribute(IConfigurationElementConstants.CATEGORY);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate()
- */
- public ILaunchConfigurationDelegate getDelegate() throws CoreException {
- return getDelegate(ILaunchManager.RUN_MODE);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegate(java.lang.String)
- */
- public ILaunchConfigurationDelegate getDelegate(String mode) throws CoreException {
- Set modes = new HashSet();
- modes.add(mode);
- ILaunchDelegate[] delegates = getDelegates(modes);
- if (delegates.length > 0) {
- return delegates[0].getDelegate();
- }
- IStatus status = null;
- ILaunchMode launchMode = DebugPlugin.getDefault().getLaunchManager().getLaunchMode(mode);
- if (launchMode == null) {
- status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_7,
- new String[]{mode}));
- } else {
- status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- MessageFormat.format(DebugCoreMessages.LaunchConfigurationType_7,
- new String[]{((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).getLaunchModeName(mode)}));
- }
- throw new CoreException(status);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getDelegates(java.util.Set)
- */
- public ILaunchDelegate[] getDelegates(Set modes) throws CoreException {
- initializeDelegates();
- Set delegates = (Set) fDelegates.get(modes);
- if (delegates == null) {
- delegates = Collections.EMPTY_SET;
- }
- return (ILaunchDelegate[]) delegates.toArray(new ILaunchDelegate[delegates.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#setPreferredDelegate(java.util.Set, org.eclipse.debug.core.ILaunchDelegate)
- */
- public void setPreferredDelegate(Set modes, ILaunchDelegate delegate) {
- if(fPreferredDelegates == null) {
- fPreferredDelegates = new HashMap();
- }
- if (delegate == null) {
- fPreferredDelegates.remove(modes);
- } else {
- fPreferredDelegates.put(modes, delegate);
- }
- ((LaunchManager)DebugPlugin.getDefault().getLaunchManager()).persistPreferredLaunchDelegate(this);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getPreferredDelegate(java.util.Set)
- */
- public ILaunchDelegate getPreferredDelegate(Set modes) {
- initializePreferredDelegates();
- return (ILaunchDelegate) fPreferredDelegates.get(modes);
- }
-
- /**
- * Internal use method to allow access to the listing of preferred delegates. Delegates are stored in the map by their mode set combinations.
- * <p>
- * preferred delegates are stored as:
- * <pre>
- * Map&lt;modeset, delegate&gt;
- * </pre>
- * </p>
- * @return the <code>java.util.Map</code> of preferred delegates or an empty <code>java.util.Map</code> if no preferred delegates are specified, never <code>null</code>
- *
- * @since 3.3
- */
- public Map getPreferredDelegates() {
- initializePreferredDelegates();
- return fPreferredDelegates;
- }
-
- /**
- * This method is used to initialize the listing of preferred launch delegates for this type
- *
- * <p>
- * Undecided if this code should live in the launch manager and have it load a listing of all preferred launch
- * delegates that each config type could then query as needed when looking for their preferred delegate.
- * Seems like it would be alot less work...
- * </p>
- * @since 3.3
- */
- private synchronized void initializePreferredDelegates() {
- if(fPreferredDelegates == null) {
- fPreferredDelegates = new HashMap();
- initializeDelegates();
- LaunchManager lm = (LaunchManager) DebugPlugin.getDefault().getLaunchManager();
- ILaunchDelegate delegate = null;
- Set modes = null;
- for(Iterator iter = fDelegates.keySet().iterator(); iter.hasNext();) {
- modes = (Set) iter.next();
- delegate = lm.getPreferredDelegate(getIdentifier(), modes);
- if(delegate != null) {
- fPreferredDelegates.put(modes, delegate);
- }
- }
- }
- }
-
- /**
- * Initializes the listing of launch delegates for this type
- */
- private synchronized void initializeDelegates() {
- if (fDelegates == null) {
- // initialize delegate
- fDelegates = new Hashtable();
- LaunchDelegate[] launchDelegates = getLaunchDelegateExtensions();
- LaunchDelegate delegate = null;
- List modelist = null;
- Set modes = null, tmp = null;
- for (int i = 0; i < launchDelegates.length; i++) {
- delegate = launchDelegates[i];
- modelist = delegate.getModes();
- for(int j = 0; j < modelist.size(); j++) {
- //cache the delegate based on its set of modes and delegate
- modes = (Set) modelist.get(j);
- tmp = (Set) fDelegates.get(modes);
- if (tmp == null) {
- tmp = new HashSet();
- fDelegates.put(modes, tmp);
- }
- tmp.add(delegate);
- }
- }
- }
- }
-
- /**
- * Returns all launch delegate extensions registered for this configuration type.
- *
- * @return all launch delegate extensions
- */
- private LaunchDelegate[] getLaunchDelegateExtensions() {
- return ((LaunchManager) DebugPlugin.getDefault().getLaunchManager()).getLaunchDelegates(getIdentifier());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getIdentifier()
- */
- public String getIdentifier() {
- return fElement.getAttribute(IConfigurationElementConstants.ID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getName()
- */
- public String getName() {
- return fElement.getAttribute(IConfigurationElementConstants.NAME);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getPluginId()
- */
- public String getPluginIdentifier() {
- return fElement.getContributor().getName();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourceLocatorId()
- */
- public String getSourceLocatorId() {
- if(fSourceLocator == null) {
- fSourceLocator = getAttribute(IConfigurationElementConstants.SOURCE_LOCATOR);
- //see if the cached source provider knows about it
- if(fSourceProvider != null) {
- fSourceLocator = fSourceProvider.getSourceLocatorId();
- }
- //if not provided check all the applicable delegates for one and record the delegate if found,
- //so it can be reused to try and find the source path computer
- if(fSourceLocator == null) {
- LaunchDelegate[] delegates = getLaunchDelegateExtensions();
- for(int i = 0; i < delegates.length; i++) {
- fSourceLocator = delegates[i].getSourceLocatorId();
- if(fSourceLocator != null) {
- fSourceProvider = delegates[i];
- return fSourceLocator;
- }
- }
- fSourceProvider = null;
- }
- }
- return fSourceLocator;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getSourcePathComputer()
- */
- public ISourcePathComputer getSourcePathComputer() {
- if(fSourcePathComputer == null) {
- //get the id
- String id = fElement.getAttribute(IConfigurationElementConstants.SOURCE_PATH_COMPUTER);
- //ask if the source provider knows about it
- if(fSourceProvider != null) {
- id = fSourceProvider.getSourcePathComputerId();
- }
- if(id != null) {
- fSourcePathComputer = DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
- }
- else {
- //if not provided check all the applicable delegates for one and record the delegate if found,
- //so it can be reused to try and find the source path computer
- LaunchDelegate[] delegates = getLaunchDelegateExtensions();
- for(int i = 0; i < delegates.length; i++) {
- id = delegates[i].getSourcePathComputerId();
- if(id != null) {
- fSourceProvider = delegates[i];
- fSourcePathComputer = DebugPlugin.getDefault().getLaunchManager().getSourcePathComputer(id);
- if(fSourcePathComputer != null) {
- return fSourcePathComputer;
- }
- }
- }
- fSourceProvider = null;
- }
-
- }
- return fSourcePathComputer;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getSupportedModes()
- */
- public Set getSupportedModes() {
- if(fModes == null) {
- fModes = new HashSet();
- LaunchDelegate[] delegates = getLaunchDelegateExtensions();
- List modesets = null;
- for(int i= 0; i < delegates.length; i++) {
- modesets = delegates[i].getModes();
- for(Iterator iter = modesets.iterator(); iter.hasNext();) {
- fModes.addAll((Set) iter.next());
- }
- }
- }
- return fModes;
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getSupportedModeCombinations()
- */
- public Set getSupportedModeCombinations() {
- if(fModeCombinations == null) {
- initializeDelegates();
- fModeCombinations = new HashSet();
- fModeCombinations = fDelegates.keySet();
- }
- //return a clone or bad things happen
- HashSet set = new HashSet();
- for(Iterator iter = fModeCombinations.iterator(); iter.hasNext();) {
- set.add(new HashSet((Set) iter.next()));
- }
- return set;
- }
-
- /**
- * determines if the specified candidate is suitable for migration by loading its delegate.
- * if we initialize the delegate and it has not been provided, return false instead of failing
- * @param candidate the candidate to inspect for migration suitability
- * @return true if the specified launch configuration is suitable for migration, false otherwise
- * @throws CoreException
- *
- * @since 3.2
- */
- public boolean isMigrationCandidate(ILaunchConfiguration candidate) throws CoreException {
- initializeMigrationDelegate();
- if(fMigrationDelegate != null) {
- return fMigrationDelegate.isCandidate(candidate);
- }
- return false;
- }
-
- /**
- * This method initializes the migration delegate
- * @throws CoreException
- */
- private synchronized void initializeMigrationDelegate() throws CoreException {
- if(fElement.getAttribute(IConfigurationElementConstants.MIGRATION_DELEGATE) != null && fMigrationDelegate == null) {
- fMigrationDelegate = (ILaunchConfigurationMigrationDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.MIGRATION_DELEGATE);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#isPublic()
- */
- public boolean isPublic() {
- String publicString = fElement.getAttribute(IConfigurationElementConstants.PUBLIC);
- if (publicString != null) {
- if (publicString.equalsIgnoreCase("false")) { //$NON-NLS-1$
- return false;
- }
- }
- return true;
- }
-
- /**
- * Migrates the specified launch configuration by loading its delegate.
- * In the event the migration delegate has not been provided do nothing.
- * @param candidate the candidate launch configuration to migrate
- * @throws CoreException
- *
- * @since 3.2
- */
- public void migrate(ILaunchConfiguration candidate) throws CoreException {
- initializeMigrationDelegate();
- if(fMigrationDelegate != null) {
- fMigrationDelegate.migrate(candidate);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#newInstance(org.eclipse.core.resources.IContainer, java.lang.String)
- */
- public ILaunchConfigurationWorkingCopy newInstance(IContainer container, String name) throws CoreException {
- // validate the configuration name - see bug 275741
- IPath path = new Path(name);
- if (container == null) {
- // not allowed to nest in sub directory when local
- if (path.segmentCount() > 1) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugCoreMessages.LaunchConfigurationType_2));
- }
- }
- // validate the name (last segment)
- try {
- DebugPlugin.getDefault().getLaunchManager().isValidLaunchConfigurationName(path.lastSegment());
- } catch (IllegalArgumentException e) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), e.getMessage(), e));
- }
- return new LaunchConfigurationWorkingCopy(container, name, this);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationType#supportsMode(java.lang.String)
- */
- public boolean supportsMode(String mode) {
- if(fModeCombinations == null) {
- getSupportedModeCombinations();
- }
- Set modes = null;
- for(Iterator iter = fModeCombinations.iterator(); iter.hasNext();) {
- modes = (Set) iter.next();
- if(modes.size() == 1 && modes.contains(mode)) {
- return true;
- }
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#getContributorName()
- */
- public String getContributorName() {
- return fElement.getContributor().getName();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationType#supportsModeCombination(java.util.Set)
- */
- public boolean supportsModeCombination(Set modes) {
- if(fModeCombinations == null) {
- getSupportedModeCombinations();
- }
- return fModeCombinations.contains(modes);
- }
-
- /**
- * Called on preference import to reset preferred delegates.
- */
- void resetPreferredDelegates() {
- fPreferredDelegates = null;
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
deleted file mode 100644
index fb2820235..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchConfigurationWorkingCopy.java
+++ /dev/null
@@ -1,729 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRunnable;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * A working copy launch configuration
- */
-public class LaunchConfigurationWorkingCopy extends LaunchConfiguration implements ILaunchConfigurationWorkingCopy {
-
- /**
- * Handle of original launch configuration this
- * working copy is based on
- */
- private LaunchConfiguration fOriginal;
-
- /**
- * Handle to a parent working copy
- * @since 3.3
- */
- private LaunchConfigurationWorkingCopy fParent = null;
-
- /**
- * Working copy of attributes.
- */
- private LaunchConfigurationInfo fInfo;
-
- /**
- * Whether this working copy has been modified since
- * it was created
- */
- private boolean fDirty;
-
- /**
- * Indicates whether this working copy has been explicitly renamed.
- */
- private boolean fRenamed;
-
- /**
- * Suppress change notification until created
- */
- private boolean fSuppressChange ;
-
- /**
- * Constructs a working copy of the specified launch
- * configuration.
- *
- * @param original launch configuration to make
- * a working copy of
- * @exception CoreException if unable to initialize this
- * working copy's attributes based on the original configuration
- */
- protected LaunchConfigurationWorkingCopy(LaunchConfiguration original) throws CoreException {
- super(original.getName(), original.getContainer());
- copyFrom(original);
- setOriginal(original);
- fSuppressChange = false;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.LaunchConfiguration#initialize()
- */
- protected void initialize() {
- fDirty = false;
- fRenamed = false;
- fSuppressChange = true;
- super.initialize();
- }
-
- /**
- * Constructs a working copy of the specified launch configuration as its parent.
- *
- * @param parent launch configuration to make
- * a working copy of
- * @exception CoreException if unable to initialize this
- * working copy's attributes based on the original configuration
- */
- protected LaunchConfigurationWorkingCopy(LaunchConfigurationWorkingCopy parent) throws CoreException {
- super(parent.getName(), parent.getContainer());
- copyFrom(parent);
- setOriginal((LaunchConfiguration) parent.getOriginal());
- fParent = parent;
- fSuppressChange = false;
- }
-
- /**
- * Constructs a copy of the specified launch
- * configuration, with the given (new) name.
- *
- * @param original launch configuration to make
- * a working copy of
- * @param name the new name for the copy of the launch
- * configuration
- * @exception CoreException if unable to initialize this
- * working copy's attributes based on the original configuration
- */
- protected LaunchConfigurationWorkingCopy(LaunchConfiguration original, String name) throws CoreException {
- super(name, original.getContainer());
- copyFrom(original);
- fSuppressChange = false;
- }
-
- /**
- * Constructs a new working copy to be created in the specified
- * location.
- *
- * @param container the container that the configuration will be created in
- * or <code>null</code> if to be local
- * @param name the name of the new launch configuration
- * @param type the type of this working copy
- */
- protected LaunchConfigurationWorkingCopy(IContainer container, String name, ILaunchConfigurationType type) {
- super(name, container);
- setInfo(new LaunchConfigurationInfo());
- getInfo().setType(type);
- fSuppressChange = false;
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#isDirty()
- */
- public boolean isDirty() {
- return fDirty;
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#doSave()
- */
- public synchronized ILaunchConfiguration doSave() throws CoreException {
- return doSave(new NullProgressMonitor());
- }
-
- /**
- * Saves with progress.
- *
- * @param monitor
- * @return the saved <code>ILaunchConfiguration</code>
- * @throws CoreException
- *
- * @since 3.3
- */
- public synchronized ILaunchConfiguration doSave(IProgressMonitor monitor) throws CoreException {
- SubMonitor lmonitor = SubMonitor.convert(monitor, 1);
- try {
- if (getParent() != null) {
- // save to parent working copy
- LaunchConfigurationWorkingCopy wc = (LaunchConfigurationWorkingCopy) getParent();
- if(isMoved()) {
- wc.rename(getName());
- wc.setContainer(getContainer());
- }
- wc.setAttributes(getInfo().getAttributes());
- updateMonitor(lmonitor, 1);
- return wc;
- }
- else {
- boolean useRunnable= true;
- if (isLocal()) {
- if (isMoved()) {
- // If this config was moved from a shared location, saving
- // it will delete the original from the workspace. Use runnable.
- useRunnable= !isNew() && !getOriginal().isLocal();
- } else {
- useRunnable= false;
- }
- }
- if (useRunnable) {
- IWorkspaceRunnable wr = new IWorkspaceRunnable() {
- public void run(IProgressMonitor pm) throws CoreException {
- doSave0(pm);
- }
- };
- ResourcesPlugin.getWorkspace().run(wr, null, 0, lmonitor.newChild(1));
- } else {
- //file is persisted in the metadata not the workspace
- doSave0(lmonitor.newChild(1));
- }
- getLaunchManager().setMovedFromTo(null, null);
- }
- }
- finally {
- if(lmonitor != null) {
- lmonitor.done();
- }
- }
- return new LaunchConfiguration(getName(), getContainer());
- }
-
- /**
- * Performs the actual saving of the launch configuration.
- * @throws CoreException
- */
- private void doSave0(IProgressMonitor monitor) throws CoreException {
- SubMonitor lmonitor = SubMonitor.convert(monitor, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_0, new String[] {getName()}), 2);
- try {
- // set up from/to information if this is a move
- boolean moved = (!isNew() && isMoved());
- if (moved) {
- ILaunchConfiguration to = new LaunchConfiguration(getName(), getContainer());
- ILaunchConfiguration from = getOriginal();
- getLaunchManager().setMovedFromTo(from, to);
- }
- ILaunchConfiguration orig = getOriginal();
- updateMonitor(lmonitor, 1);
- writeNewFile(lmonitor.newChild(1));
- // delete the old file if this is not a new configuration
- // or the file was renamed/moved
- if (moved) {
- orig.delete();
- }
- fDirty = false;
- }
- finally {
- if(lmonitor != null) {
- lmonitor.done();
- }
- }
- }
-
- /**
- * Writes the new configuration information to a file.
- *
- * @exception CoreException if writing the file fails
- */
- protected void writeNewFile(IProgressMonitor monitor) throws CoreException {
- String xml = null;
- try {
- xml = getInfo().getAsXML();
- } catch (Exception e) {
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{e.toString()}), null
- )
- );
- }
- SubMonitor lmonitor = SubMonitor.convert(monitor, IInternalDebugCoreConstants.EMPTY_STRING, 5);
- try {
- boolean added = false;
- if (isLocal()) {
- // use java.io to update configuration file
- try {
- lmonitor.subTask(DebugCoreMessages.LaunchConfigurationWorkingCopy_1);
- IFileStore file = getFileStore();
- if (file == null) {
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_4, null
- )
- );
- }
- IFileStore dir = file.getParent();
- dir.mkdir(EFS.SHALLOW, null);
- if (!file.fetchInfo().exists()) {
- added = true;
- updateMonitor(lmonitor, 1);
- }
- BufferedOutputStream stream = null;
- try {
- stream = new BufferedOutputStream(file.openOutputStream(EFS.NONE, null));
- stream.write(xml.getBytes("UTF8")); //$NON-NLS-1$
- }
- finally {
- if(stream != null) {
- stream.close();
- }
- }
- //notify file saved
- updateMonitor(lmonitor, 1);
- } catch (IOException ie) {
- lmonitor.done();
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy__0__occurred_generating_launch_configuration_XML__1, new String[]{ie.toString()}), null
- )
- );
- }
- } else {
- // use resource API to update configuration file
- IFile file = getFile();
- if (file == null) {
- lmonitor.done();
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_5, null
- ));
- }
- IContainer dir = file.getParent();
- if (!dir.exists()) {
- lmonitor.done();
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_Specified_container_for_launch_configuration_does_not_exist_2, null
- )
- );
- }
- ByteArrayInputStream stream = null;
- try {
- stream = new ByteArrayInputStream(xml.getBytes("UTF8")); //$NON-NLS-1$
- } catch (UnsupportedEncodingException ue) {
- lmonitor.done();
- throw new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchConfigurationWorkingCopy_5, ue
- ));
- }
- SubMonitor smonitor = null;
- if (!file.exists()) {
- added = true;
- //create file input stream: work one unit in a sub monitor
- smonitor = lmonitor.newChild(1);
- smonitor.setTaskName(MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_2, new String[] {getName()}));
- file.create(stream, false, smonitor);
- } else {
- // validate edit
- if (file.isReadOnly()) {
- IStatus status = ResourcesPlugin.getWorkspace().validateEdit(new IFile[] {file}, null);
- if (!status.isOK()) {
- lmonitor.done();
- throw new CoreException(status);
- }
- }
- //set the contents of the file: work 1 unit in a sub monitor
- smonitor = lmonitor.newChild(1);
- smonitor.setTaskName(MessageFormat.format(DebugCoreMessages.LaunchConfigurationWorkingCopy_3, new String[] {getName()}));
- file.setContents(stream, true, false, smonitor);
- }
- }
- // notify of add/change for both local and shared configurations - see bug 288368
- if (added) {
- getLaunchManager().launchConfigurationAdded(new LaunchConfiguration(getName(), getContainer()));
- } else {
- getLaunchManager().launchConfigurationChanged(new LaunchConfiguration(getName(), getContainer()));
- }
- }
- finally {
- if(lmonitor != null) {
- lmonitor.done();
- }
- }
- }
-
- /**
- * Updates the given monitor with the given tick count and polls for cancellation. If the monitor
- * is cancelled an {@link OperationCanceledException} is thrown
- * @param monitor
- * @param ticks
- * @throws OperationCanceledException
- */
- private void updateMonitor(IProgressMonitor monitor, int ticks) throws OperationCanceledException {
- if(monitor != null) {
- monitor.worked(ticks);
- if (monitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- }
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setAttribute(String, int)
- */
- public void setAttribute(String attributeName, int value) {
- getInfo().setAttribute(attributeName, new Integer(value));
- setDirty();
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setAttribute(String, String)
- */
- public void setAttribute(String attributeName, String value) {
- getInfo().setAttribute(attributeName, value);
- setDirty();
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setAttribute(String, boolean)
- */
- public void setAttribute(String attributeName, boolean value) {
- getInfo().setAttribute(attributeName, Boolean.valueOf(value));
- setDirty();
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setAttribute(String, List)
- */
- public void setAttribute(String attributeName, List value) {
- getInfo().setAttribute(attributeName, value);
- setDirty();
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setAttribute(String, Map)
- */
- public void setAttribute(String attributeName, Map value) {
- getInfo().setAttribute(attributeName, value);
- setDirty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setAttribute(java.lang.String, java.util.Set)
- */
- public void setAttribute(String attributeName, Set value) {
- getInfo().setAttribute(attributeName, value);
- setDirty();
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#getOriginal()
- */
- public ILaunchConfiguration getOriginal() {
- ILaunchConfiguration config = fOriginal;
- ILaunchConfigurationWorkingCopy parent = fParent;
- while(parent != null) {
- config = parent.getOriginal();
- parent = parent.getParent();
- }
- return config;
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#getParent()
- */
- public ILaunchConfigurationWorkingCopy getParent() {
- return fParent;
- }
-
- /**
- * Sets the launch configuration this working copy
- * is based on. Initializes the attributes of this
- * working copy to the current values of the given
- * configuration.
- *
- * @param original the launch configuration this working
- * copy is based on.
- * @exception CoreException if unable to initialize this
- * working copy based on the original's current attribute
- * set
- */
- private void copyFrom(LaunchConfiguration original) throws CoreException {
- LaunchConfigurationInfo info = original.getInfo();
- setInfo(info.getCopy());
- fDirty = false;
- }
-
- /**
- * Sets the launch configuration this working copy
- * is based on.
- *
- * @param original the launch configuration this working
- * copy is based on.
- */
- private void setOriginal(LaunchConfiguration original) {
- fOriginal = original;
- }
-
- /**
- * Sets the working copy info object for this working copy.
- *
- * @param info a copy of attributes from this working copy's
- * original launch configuration
- */
- protected void setInfo(LaunchConfigurationInfo info) {
- fInfo = info;
- }
-
- /**
- * @see ILaunchConfiguration#isWorkingCopy()
- */
- public boolean isWorkingCopy() {
- return true;
- }
-
- /**
- * A working copy keeps a local info object that is not
- * cached with the launch manager.
- *
- * @see LaunchConfiguration#getInfo()
- */
- protected LaunchConfigurationInfo getInfo() {
- return fInfo;
- }
-
- /**
- * Sets this working copy's state to dirty.
- * Notifies listeners that this working copy has
- * changed.
- */
- private void setDirty() {
- fDirty = true;
- if (!suppressChangeNotification()) {
- getLaunchManager().getConfigurationNotifier().notify(this, LaunchManager.CHANGED);
- }
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setModes(java.util.Set)
- */
- public void setModes(Set modes) {
- getInfo().setAttribute(ATTR_LAUNCH_MODES, (modes.size() > 0 ? modes : null));
- setDirty();
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#addModes(java.util.Set)
- */
- public void addModes(Set modes) {
- try {
- Set opts = getModes();
- if(opts.addAll(modes)) {
- getInfo().setAttribute(ATTR_LAUNCH_MODES, opts);
- setDirty();
- }
- }
- catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#removeModes(java.util.Set)
- */
- public void removeModes(Set options) {
- try {
- Set opts = getModes();
- if(opts.removeAll(options)) {
- getInfo().setAttribute(ATTR_LAUNCH_MODES, (opts.size() < 1 ? null : opts));
- setDirty();
- }
- }
- catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#rename(String)
- */
- public void rename(String name) {
- if (!getName().equals(name)) {
- setName(name);
- fRenamed = isNew() || !(getOriginal().getName().equals(name));
- }
- }
-
- /**
- * Sets the new name for this configuration.
- *
- * @param name the new name for this configuration
- */
- protected void setName(String name) {
- super.setName(name);
- setDirty();
- }
-
- /**
- * Returns whether this working copy is new, or is a
- * working copy of another launch configuration.
- *
- * @return whether this working copy is new, or is a
- * working copy of another launch configuration
- */
- protected boolean isNew() {
- return getOriginal() == null;
- }
-
- /**
- * Returns whether this working copy is new or if its
- * location has changed from that of its original.
- *
- * @return whether this working copy is new or if its
- * location has changed from that of its original
- */
- protected boolean isMoved() {
- if (isNew() || fRenamed) {
- return true;
- }
- IContainer newContainer = getContainer();
- IContainer originalContainer = ((LaunchConfiguration)getOriginal()).getContainer();
- if (newContainer == originalContainer) {
- return false;
- }
- if (newContainer == null) {
- return !originalContainer.equals(newContainer);
- }
- return !newContainer.equals(originalContainer);
- }
-
- /**
- * A working copy cannot generate a memento.
- *
- * @see ILaunchConfiguration#getMemento()
- */
- public String getMemento() {
- return null;
- }
-
- /**
- * Returns whether change notification should be
- * suppressed
- */
- protected boolean suppressChangeNotification() {
- return fSuppressChange;
- }
-
- /**
- * @see ILaunchConfigurationWorkingCopy#setContainer(IContainer)
- */
- public void setContainer(IContainer container) {
- if (equalOrNull(getContainer(), container)) {
- return;
- }
- super.setContainer(container);
- setDirty();
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setAttributes(java.util.Map)
- */
- public void setAttributes(Map attributes) {
- getInfo().setAttributes(attributes);
- setDirty();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setResource(org.eclipse.core.resources.IResource)
- */
- public void setMappedResources(IResource[] resources) {
- ArrayList paths = null;
- ArrayList types = null;
- if(resources != null && resources.length > 0) {
- paths = new ArrayList(resources.length);
- types = new ArrayList(resources.length);
- for (int i = 0; i < resources.length; i++) {
- IResource resource = resources[i];
- if(resource != null) {
- paths.add(resource.getFullPath().toPortableString());
- types.add(new Integer(resource.getType()).toString());
- }
- }
- }
- setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_PATHS, paths);
- setAttribute(LaunchConfiguration.ATTR_MAPPED_RESOURCE_TYPES, types);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#setPreferredLaunchDelegate(java.util.Set, java.lang.String)
- */
- public void setPreferredLaunchDelegate(Set modes, String delegateId) {
- if(modes != null) {
- try {
- Map delegates = getAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, (Map)null);
- //copy map to avoid pointer issues
- Map map = new HashMap();
- if(delegates != null) {
- map.putAll(delegates);
- }
- if(delegateId == null) {
- map.remove(modes.toString());
- }
- else {
- map.put(modes.toString(), delegateId);
- }
- setAttribute(LaunchConfiguration.ATTR_PREFERRED_LAUNCHERS, map);
- }
- catch (CoreException ce) {DebugPlugin.log(ce);}
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.LaunchConfiguration#getWorkingCopy()
- * CONTEXTLAUNCHING
- */
- public ILaunchConfigurationWorkingCopy getWorkingCopy() throws CoreException {
- return new LaunchConfigurationWorkingCopy(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchConfigurationWorkingCopy#removeAttribute(java.lang.String)
- */
- public Object removeAttribute(String attributeName) {
- return getInfo().removeAttribute(attributeName);
- }
-}
-
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java
deleted file mode 100644
index 8ec2e22b9..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchDelegate.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.model.ILaunchConfigurationDelegate;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Proxy to a launch delegate extension
- * Clients can contribute launch delegates through the <code>launchDelegates</code> extension point
- *
- * Example contribution of the local java launch delegate
- * <pre>
- * <extension point="org.eclipse.debug.core.launchDelegates">
- <launchDelegate
- delegate="org.eclipse.jdt.launching.JavaLaunchDelegate"
- id="org.eclipse.jdt.launching.localJavaApplicationDelegate"
- modes="run, debug"
- name="%localJavaApplication"
- type="org.eclipse.jdt.launching.localJavaApplication">
- <modeCombination
- modes="run, profile">
- perspective="com.example.Perspective">
- </modeCombination>
- </launchDelegate>
- * </pre>
- *
- * Clients are NOT intended to subclass this class
- *
- * @see IConfigurationElementConstants
- *
- * @since 3.3
- */
-public final class LaunchDelegate implements ILaunchDelegate {
-
- /**
- * The configuration element for this delegate
- */
- private IConfigurationElement fElement = null;
-
- /**
- * The cached delegate. Remains null until asked for, then persisted
- */
- private ILaunchConfigurationDelegate fDelegate = null;
-
- //a listing of sets of
- private List fLaunchModes = null;
- private String fType = null;
- private HashMap fPerspectiveIds = null;
-
- /**
- * Constructor
- * @param element the configuration element to associate with this launch delegate
- */
- public LaunchDelegate(IConfigurationElement element) {
- fElement = element;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchDelegateProxy#getDelegate()
- */
- public ILaunchConfigurationDelegate getDelegate() throws CoreException {
- if(fDelegate == null) {
- Object obj = fElement.createExecutableExtension(IConfigurationElementConstants.DELEGATE);
- if(obj instanceof ILaunchConfigurationDelegate) {
- fDelegate = (ILaunchConfigurationDelegate)obj;
- } else {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LaunchDelegate_3, new String[]{getId()}), null));
- }
- }
- return fDelegate;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchDelegateProxy#getId()
- */
- public String getId() {
- return fElement.getAttribute(IConfigurationElementConstants.ID);
- }
-
- /**
- * Returns the id of the associated <code>ILaunchConfigurationType</code> or <code>null</code> if none provided
- * @return the id of the <code>ILaunchConfigurationType</code> associated with this delegate
- */
- public String getLaunchConfigurationTypeId() {
- if(fType == null) {
- //fall back to single association if no appliesTo
- fType = fElement.getAttribute(IConfigurationElementConstants.TYPE);
- if(fType == null) {
- //the case when we have passed a launch configuration type to the launch delegate
- fType = fElement.getAttribute(IConfigurationElementConstants.ID);
- }
- }
- return fType;
- }
-
- /**
- * Simple method to parse mode strings (separated by commas)
- * @param element the config element to read the mode string from
- * @return a set of the parsed strings or an empty collection
- * @since 3.3
- */
- private Set parseModes(IConfigurationElement element) {
- HashSet set = new HashSet();
- String modes = element.getAttribute(IConfigurationElementConstants.MODES);
- if (modes != null) {
- String[] strings = modes.split(","); //$NON-NLS-1$
- for (int i = 0; i < strings.length; i++) {
- set.add(strings[i].trim());
- }
- }
- return set;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchDelegateProxy#getModes()
- */
- public List getModes() {
- if(fLaunchModes == null) {
- fLaunchModes = new ArrayList();
- fPerspectiveIds = new HashMap();
- IConfigurationElement[] children = fElement.getChildren(IConfigurationElementConstants.MODE_COMBINATION);
- Set modeset = null;
- for (int i = 0; i < children.length; i++) {
- modeset = parseModes(children[i]);
- fLaunchModes.add(modeset);
- fPerspectiveIds.put(modeset, children[i].getAttribute(IConfigurationElementConstants.PERSPECTIVE));
- }
- //try to get the modes from the old definition and make each one
- //a separate set of one element
- modeset = null;
- String modes = fElement.getAttribute(IConfigurationElementConstants.MODES);
- if (modes != null) {
- String[] strings = modes.split(","); //$NON-NLS-1$
- for (int i = 0; i < strings.length; i++) {
- modeset = new HashSet();
- modeset.add(strings[i].trim());
- fLaunchModes.add(modeset);
- }
- }
- }
- return fLaunchModes;
- }
-
- /**
- * Returns the human readable name for this launch delegate
- * @return the human readable name for this launch delegate, or <code>null</code> if none
- */
- public String getName() {
- //try a delegateName attribute first, in the event this delegate was made from an ILaunchConfigurationType
- String name = fElement.getAttribute(IConfigurationElementConstants.DELEGATE_NAME);
- if(name == null) {
- name = fElement.getAttribute(IConfigurationElementConstants.NAME);
- if (name == null) {
- name = getContributorName();
- }
- name = name.trim();
- if (Character.isUpperCase(name.charAt(0))) {
- name = MessageFormat.format(DebugCoreMessages.LaunchDelegate_1, new String[]{name});
- } else {
- name = MessageFormat.format(DebugCoreMessages.LaunchDelegate_2, new String[]{name});
- }
- }
- return name;
- }
-
- /**
- * Returns the contributor name of this delegate (plug-in name).
- *
- * @return contributor name
- */
- public String getContributorName() {
- return fElement.getContributor().getName();
- }
-
- /**
- * Returns the associated source locator id or <code>null</code>
- * @return the associated source locator id or <code>null</code> if not provided
- */
- public String getSourceLocatorId() {
- return fElement.getAttribute(IConfigurationElementConstants.SOURCE_LOCATOR);
- }
-
- /**
- * Returns the associated source path computer id or <code>null</code>
- * @return the associated source path computer id or <code>null</code> if not provided
- */
- public String getSourcePathComputerId() {
- return fElement.getAttribute(IConfigurationElementConstants.SOURCE_PATH_COMPUTER);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchDelegate#getDescription()
- */
- public String getDescription() {
- String desc = fElement.getAttribute(IConfigurationElementConstants.DELEGATE_DESCRIPTION);
- if(desc == null) {
- return DebugCoreMessages.LaunchDelegate_0;
- }
- return desc;
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchDelegate#getPluginIdentifier()
- */
- public String getPluginIdentifier() {
- return fElement.getContributor().getName();
- }
-
- /**
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if(obj == null) {
- return false;
- }
- return obj instanceof ILaunchDelegate && getId() != null && getId().equals(((ILaunchDelegate)obj).getId());
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchDelegate#getPerspectiveId(java.util.Set)
- */
- public String getPerspectiveId(Set modes) {
- if(fPerspectiveIds == null) {
- getModes();
- }
- return (String) fPerspectiveIds.get(modes);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
deleted file mode 100644
index 6780dfde9..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchManager.java
+++ /dev/null
@@ -1,2685 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Sebastian Davids - bug 50567 Eclipse native environment support on Win98
- * Pawel Piech - Bug 82001: When shutting down the IDE, the debugger should first
- * attempt to disconnect debug targets before terminating them
- * Alena Laskavaia - Bug 259281
- * Marc Khouzam - Bug 313143: Preferred Launch Delegate not recovered from preferences
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileStore;
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-import org.eclipse.core.resources.IResourceDeltaVisitor;
-import org.eclipse.core.resources.IResourceProxy;
-import org.eclipse.core.resources.IResourceProxyVisitor;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.PlatformObject;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationListener;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.eclipse.debug.core.ILaunchDelegate;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.ILaunchMode;
-import org.eclipse.debug.core.ILaunchesListener;
-import org.eclipse.debug.core.ILaunchesListener2;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IPersistableSourceLocator;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceContainerType;
-import org.eclipse.debug.internal.core.sourcelookup.SourcePathComputer;
-import org.eclipse.osgi.service.environment.Constants;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Manages launch configurations, launch configuration types, and registered launches.
- *
- * @see ILaunchManager
- */
-public class LaunchManager extends PlatformObject implements ILaunchManager, IResourceChangeListener {
-
- /**
- * Preferred launch delegate preference name.
- * <p>
- * Prior to 3.5 this preferred launch delegates for all launch
- * configuration types were serialized into a single XML string
- * and stored in this preference.
- * </p>
- * <p>
- * Since 3.5, the preferred launch delegates are stored in a separate
- * preference for each launch configuration type. The name of this
- * preference is composed of the prefix, followed by a slash, followed by
- * the launch configuration type id. The values contain a set of launch
- * delegates, delimited by a semicolon, and each delegate entry contains
- * the delegate ID, followed by a comma, followed by comma-delimited
- * launch modes.
- *
- * @since 3.3
- */
- protected static final String PREF_PREFERRED_DELEGATES = DebugPlugin.getUniqueIdentifier() + ".PREFERRED_DELEGATES"; //$NON-NLS-1$
-
- /**
- * Boolean preference on whether to delete associated configurations when a project is deleted.
- *
- * @since 3.3
- */
- public static final String PREF_DELETE_CONFIGS_ON_PROJECT_DELETE = DebugPlugin.getUniqueIdentifier() + ".PREF_DELETE_CONFIGS_ON_PROJECT_DELETE"; //$NON-NLS-1$
-
- /**
- * Constant to define debug.ui for the status codes
- *
- * @since 3.2
- */
- private static final String DEBUG_UI = "org.eclipse.debug.ui"; //$NON-NLS-1$
-
- /**
- * Listing of unsupported launch configuration names for the Win 32 platform
- * @since 3.5
- */
- static final String[] UNSUPPORTED_WIN32_CONFIG_NAMES = new String[] {"aux", "clock$", "com1", "com2", "com3", "com4", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- "com5", "com6", "com7", "com8", "com9", "con", "lpt1", "lpt2", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
- "lpt3", "lpt4", "lpt5", "lpt6", "lpt7", "lpt8", "lpt9", "nul", "prn"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$
-
- /**
- * Disallowed characters for launch configuration names
- * '@' and '&' are disallowed because they corrupt menu items.
- *
- * @since 3.5
- */
- static final char[] DISALLOWED_CONFIG_NAME_CHARS = new char[] { '@', '&','\\', '/', ':', '*', '?', '"', '<', '>', '|', '\0' };
-
- /**
- * Status code for which a UI prompter is registered.
- *
- * @since 3.2
- */
- protected static final IStatus promptStatus = new Status(IStatus.INFO, DEBUG_UI, 200, IInternalDebugCoreConstants.EMPTY_STRING, null);
-
- /**
- * Step filter manager
- */
- private StepFilterManager fStepFilterManager = null;
-
- /**
- * Notifies a launch config listener in a safe runnable to handle
- * exceptions.
- */
- class ConfigurationNotifier implements ISafeRunnable {
-
- private ILaunchConfigurationListener fListener;
- private int fType;
- private ILaunchConfiguration fConfiguration;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during launch configuration change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * Notifies the given listener of the add/change/remove
- *
- * @param configuration the configuration that has changed
- * @param update the type of change
- */
- public void notify(ILaunchConfiguration configuration, int update) {
- fConfiguration = configuration;
- fType = update;
- if (fLaunchConfigurationListeners.size() > 0) {
- Object[] listeners = fLaunchConfigurationListeners.getListeners();
- for (int i = 0; i < listeners.length; i++) {
- fListener = (ILaunchConfigurationListener)listeners[i];
- SafeRunner.run(this);
- }
- }
- fConfiguration = null;
- fListener = null;
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.launchConfigurationAdded(fConfiguration);
- break;
- case REMOVED:
- fListener.launchConfigurationRemoved(fConfiguration);
- break;
- case CHANGED:
- fListener.launchConfigurationChanged(fConfiguration);
- break;
- }
- }
- }
-
- /**
- * Notifies a launch listener (multiple launches) in a safe runnable to
- * handle exceptions.
- */
- class LaunchesNotifier implements ISafeRunnable {
-
- private ILaunchesListener fListener;
- private int fType;
- private ILaunch[] fNotifierLaunches;
- private ILaunch[] fRegistered;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during launch change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * Notifies the given listener of the adds/changes/removes
- *
- * @param launches the launches that changed
- * @param update the type of change
- */
- public void notify(ILaunch[] launches, int update) {
- fNotifierLaunches = launches;
- fType = update;
- fRegistered = null;
- Object[] copiedListeners= fLaunchesListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (ILaunchesListener)copiedListeners[i];
- SafeRunner.run(this);
- }
- fNotifierLaunches = null;
- fRegistered = null;
- fListener = null;
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.launchesAdded(fNotifierLaunches);
- break;
- case REMOVED:
- fListener.launchesRemoved(fNotifierLaunches);
- break;
- case CHANGED:
- case TERMINATE:
- if (fRegistered == null) {
- List registered = null;
- for (int j = 0; j < fNotifierLaunches.length; j++) {
- if (isRegistered(fNotifierLaunches[j])) {
- if (registered != null) {
- registered.add(fNotifierLaunches[j]);
- }
- } else {
- if (registered == null) {
- registered = new ArrayList(fNotifierLaunches.length);
- for (int k = 0; k < j; k++) {
- registered.add(fNotifierLaunches[k]);
- }
- }
- }
- }
- if (registered == null) {
- fRegistered = fNotifierLaunches;
- } else {
- fRegistered = (ILaunch[])registered.toArray(new ILaunch[registered.size()]);
- }
- }
- if (fRegistered.length > 0) {
- if (fType == CHANGED) {
- fListener.launchesChanged(fRegistered);
- }
- if (fType == TERMINATE && fListener instanceof ILaunchesListener2) {
- ((ILaunchesListener2)fListener).launchesTerminated(fRegistered);
- }
- }
- break;
- }
- }
- }
-
- /**
- * Visitor for handling a resource begin deleted, and the need to check mapped configurations
- * for auto-deletion
- * @since 3.4
- */
- class MappedResourceVisitor implements IResourceDeltaVisitor {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceDeltaVisitor#visit(org.eclipse.core.resources.IResourceDelta)
- */
- public boolean visit(IResourceDelta delta) throws CoreException {
- if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
- return false;
- }
- if(delta.getKind() == IResourceDelta.REMOVED && delta.getFlags() != IResourceDelta.MOVED_TO) {
- ArrayList configs = collectAssociatedLaunches(delta.getResource());
- if(configs.size() > 0) {
- for(Iterator iter = configs.iterator(); iter.hasNext();) {
- try {
- ((ILaunchConfiguration)iter.next()).delete();
- } catch (CoreException e) {
- DebugPlugin.log(e.getStatus());
- }
- }
- }
- return false;
- }
- return true;
- }
- }
-
- /**
- * Visitor for handling resource deltas.
- */
- class LaunchManagerVisitor implements IResourceDeltaVisitor {
-
- /**
- * @see IResourceDeltaVisitor#visit(IResourceDelta)
- */
- public boolean visit(IResourceDelta delta) {
- if (delta == null) {
- return false;
- }
- if (0 != (delta.getFlags() & IResourceDelta.OPEN)) {
- if (delta.getResource() instanceof IProject) {
- IProject project = (IProject)delta.getResource();
- if (project.isOpen()) {
- LaunchManager.this.projectOpened(project);
- } else {
- LaunchManager.this.projectClosed(project);
- }
- }
- return false;
- }
- IResource resource = delta.getResource();
- if (resource instanceof IFile) {
- IFile file = (IFile)resource;
- if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equals(file.getFileExtension())) {
- ILaunchConfiguration handle = new LaunchConfiguration(file);
- switch (delta.getKind()) {
- case IResourceDelta.ADDED :
- LaunchManager.this.launchConfigurationAdded(handle);
- break;
- case IResourceDelta.REMOVED :
- LaunchManager.this.launchConfigurationDeleted(handle);
- break;
- case IResourceDelta.CHANGED :
- LaunchManager.this.launchConfigurationChanged(handle);
- break;
- }
- }
- return false;
- }
- return true;
- }
- }
-
- /**
- * Notifies a launch listener (single launch) in a safe runnable to handle
- * exceptions.
- */
- class LaunchNotifier implements ISafeRunnable {
-
- private ILaunchListener fListener;
- private int fType;
- private ILaunch fLaunch;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, "An exception occurred during launch change notification.", exception); //$NON-NLS-1$
- DebugPlugin.log(status);
- }
-
- /**
- * Notifies listeners of the add/change/remove
- *
- * @param launch the launch that has changed
- * @param update the type of change
- */
- public void notify(ILaunch launch, int update) {
- fLaunch = launch;
- fType = update;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (ILaunchListener)copiedListeners[i];
- SafeRunner.run(this);
- }
- fLaunch = null;
- fListener = null;
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.launchAdded(fLaunch);
- break;
- case REMOVED:
- fListener.launchRemoved(fLaunch);
- break;
- case CHANGED:
- if (isRegistered(fLaunch)) {
- fListener.launchChanged(fLaunch);
- }
- break;
- }
- }
- }
-
- /**
- * Collects files whose extension matches the launch configuration file
- * extension.
- */
- class ResourceProxyVisitor implements IResourceProxyVisitor {
-
- private List fList;
-
- protected ResourceProxyVisitor(List list) {
- fList= list;
- }
- /**
- * @see org.eclipse.core.resources.IResourceProxyVisitor#visit(org.eclipse.core.resources.IResourceProxy)
- */
- public boolean visit(IResourceProxy proxy) {
- if (proxy.getType() == IResource.FILE) {
- if (ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION.equalsIgnoreCase(proxy.requestFullPath().getFileExtension())) {
- fList.add(proxy.requestResource());
- }
- return false;
- }
- return true;
- }
- }
-
- /**
- * Internal class used to hold information about a preferred delegate
- *
- * @since 3.3
- */
- class PreferredDelegate {
- private ILaunchDelegate fDelegate = null;
- private String fTypeid = null;
- private Set fModes = null;
-
- public PreferredDelegate(ILaunchDelegate delegate, String typeid, Set modes) {
- fDelegate = delegate;
- fTypeid = typeid;
- fModes = modes;
- }
-
- public String getTypeId() {
- return fTypeid;
- }
-
- public Set getModes() {
- return fModes;
- }
-
- public ILaunchDelegate getDelegate() {
- return fDelegate;
- }
- }
-
- /**
- * Types of notifications
- */
- public static final int ADDED = 0;
- public static final int REMOVED= 1;
- public static final int CHANGED= 2;
- public static final int TERMINATE= 3;
-
- /**
- * The collection of native environment variables on the user's system. Cached
- * after being computed once as the environment cannot change.
- */
- private static HashMap fgNativeEnv= null;
- private static HashMap fgNativeEnvCasePreserved= null;
-
- /**
- * Path to the local directory where local launch configurations
- * are stored with the workspace.
- */
- public static final IPath LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH =
- DebugPlugin.getDefault().getStateLocation().append(".launches"); //$NON-NLS-1$
- /**
- * Returns a Document that can be used to build a DOM tree
- * @return the Document
- * @throws ParserConfigurationException if an exception occurs creating the document builder
- * @since 3.0
- */
- public static Document getDocument() throws ParserConfigurationException {
- DocumentBuilderFactory dfactory= DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder= dfactory.newDocumentBuilder();
- Document doc= docBuilder.newDocument();
- return doc;
- }
-
- /**
- * Serializes a XML document into a string - encoded in UTF8 format,
- * with platform line separators.
- *
- * @param doc document to serialize
- * @return the document as a string
- * @throws TransformerException if an unrecoverable error occurs during the serialization
- * @throws IOException if the encoding attempted to be used is not supported
- */
- public static String serializeDocument(Document doc) throws TransformerException, IOException {
- ByteArrayOutputStream s = new ByteArrayOutputStream();
- TransformerFactory factory = TransformerFactory.newInstance();
- Transformer transformer = factory.newTransformer();
- transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
- DOMSource source = new DOMSource(doc);
- StreamResult outputTarget = new StreamResult(s);
- transformer.transform(source, outputTarget);
- return s.toString("UTF8"); //$NON-NLS-1$
- }
-
- /**
- * Collection of defined launch configuration type
- * extensions.
- */
- private List fLaunchConfigurationTypes = null;
-
- /**
- * Launch configuration cache. Keys are <code>LaunchConfiguration</code>,
- * values are <code>LaunchConfigurationInfo</code>.
- */
- private Map fLaunchConfigurations = new HashMap(10);
-
- /**
- * A cache of launch configuration names currently in the workspace.
- */
- private String[] fSortedConfigNames = null;
-
- /**
- * Collection of all launch configurations in the workspace.
- * <code>List</code> of <code>ILaunchConfiguration</code>.
- */
- private List fLaunchConfigurationIndex = null;
-
- /**
- * Launch configuration comparator extensions,
- * keyed by attribute name.
- */
- private Map fComparators = null;
-
- /**
- * Registered launch modes, or <code>null</code> if not initialized.
- * Keys are mode identifiers, values are <code>ILaunchMode</code>s.
- */
- private Map fLaunchModes = null;
-
- /**
- * A map of LaunchDelegate objects stored by id of delegate, or launch config type
- */
- private HashMap fLaunchDelegates = null;
-
- /**
- * Initial startup cache of preferred delegate so that the debug preferences are only parsed once
- *
- * @since 3.3
- */
- private Set fPreferredDelegates = null;
-
- /**
- * Collection of launches
- */
- private List fLaunches= new ArrayList(10);
- /**
- * Set of launches for efficient 'isRegistered()' check
- */
- private Set fLaunchSet = new HashSet(10);
-
- /**
- * Collection of listeners
- */
- private ListenerList fListeners = new ListenerList();
-
- /**
- * Collection of "plural" listeners.
- * @since 2.1
- */
- private ListenerList fLaunchesListeners = new ListenerList();
-
- /**
- * Visitor used to process resource deltas,
- * to update launch configuration index.
- */
- private LaunchManagerVisitor fgVisitor;
-
- /**
- * Visitor used to process a deleted resource,
- * to remove mapped launch configurations in the event
- * auto-removal of launch configurations is enabled
- *
- * @since 3.4
- */
- private MappedResourceVisitor fgMRVisitor;
-
- /**
- * Whether this manager is listening for resource change events
- */
- private boolean fListening = false;
-
- /**
- * Launch configuration listeners
- */
- private ListenerList fLaunchConfigurationListeners = new ListenerList();
-
- /**
- * Table of source locator extensions. Keys
- * are identifiers, and values are associated
- * configuration elements.
- */
- private Map fSourceLocators = null;
-
- /**
- * The handles of launch configurations being moved, or <code>null</code>
- */
- private ILaunchConfiguration fFrom;
-
- private ILaunchConfiguration fTo;
-
- /**
- * Map of source container type extensions. Keys are extension ids
- * and values are associated configuration elements.
- */
- private Map sourceContainerTypes;
-
- /**
- * Map of source path computer extensions. Keys are extension ids
- * and values are associated configuration elements.
- */
- private Map sourcePathComputers;
-
- private Set fActiveModes;
-
- /**
- * @see ILaunchManager#addLaunch(ILaunch)
- */
- public void addLaunch(ILaunch launch) {
- if (internalAddLaunch(launch)) {
- fireUpdate(launch, ADDED);
- fireUpdate(new ILaunch[] {launch}, ADDED);
- }
- }
-
- /**
- * @see ILaunchManager#addLaunchConfigurationListener(ILaunchConfigurationListener)
- */
- public void addLaunchConfigurationListener(ILaunchConfigurationListener listener) {
- fLaunchConfigurationListeners.add(listener);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#addLaunches(org.eclipse.debug.core.ILaunch[])
- */
- public void addLaunches(ILaunch[] launches) {
- List added = new ArrayList(launches.length);
- for (int i = 0; i < launches.length; i++) {
- if (internalAddLaunch(launches[i])) {
- added.add(launches[i]);
- }
- }
- if (!added.isEmpty()) {
- ILaunch[] addedLaunches = (ILaunch[])added.toArray(new ILaunch[added.size()]);
- fireUpdate(addedLaunches, ADDED);
- for (int i = 0; i < addedLaunches.length; i++) {
- fireUpdate(launches[i], ADDED);
- }
- }
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#addLaunchListener(org.eclipse.debug.core.ILaunchesListener)
- */
- public void addLaunchListener(ILaunchesListener listener) {
- fLaunchesListeners.add(listener);
- }
-
- /**
- * @see ILaunchManager#addLaunchListener(ILaunchListener)
- */
- public void addLaunchListener(ILaunchListener listener) {
- fListeners.add(listener);
- }
-
- /**
- * Computes and caches the native system environment variables as a map of
- * variable names and values (Strings) in the given map.
- * <p>
- * Note that WIN32 system environment preserves
- * the case of variable names but is otherwise case insensitive.
- * Depending on what you intend to do with the environment, the
- * lack of normalization may or may not be create problems. This
- * method preserves mixed-case keys using the variable names
- * recorded by the OS.
- * </p>
- * @since 3.1
- */
- private void cacheNativeEnvironment(Map cache) {
- try {
- String nativeCommand= null;
- boolean isWin9xME= false; //see bug 50567
- String fileName= null;
- if (Platform.getOS().equals(Constants.OS_WIN32)) {
- String osName= System.getProperty("os.name"); //$NON-NLS-1$
- isWin9xME= osName != null && (osName.startsWith("Windows 9") || osName.startsWith("Windows ME")); //$NON-NLS-1$ //$NON-NLS-2$
- if (isWin9xME) {
- // Win 95, 98, and ME
- // SET might not return therefore we pipe into a file
- IPath stateLocation= DebugPlugin.getDefault().getStateLocation();
- fileName= stateLocation.toOSString() + File.separator + "env.txt"; //$NON-NLS-1$
- nativeCommand= "command.com /C set > " + fileName; //$NON-NLS-1$
- } else {
- // Win NT, 2K, XP
- nativeCommand= "cmd.exe /C set"; //$NON-NLS-1$
- }
- } else if (!Platform.getOS().equals(Constants.OS_UNKNOWN)){
- nativeCommand= "env"; //$NON-NLS-1$
- }
- if (nativeCommand == null) {
- return;
- }
- Process process= Runtime.getRuntime().exec(nativeCommand);
- if (isWin9xME) {
- //read piped data on Win 95, 98, and ME
- Properties p= new Properties();
- File file= new File(fileName);
- InputStream stream = new BufferedInputStream(new FileInputStream(file));
- p.load(stream);
- stream.close();
- if (!file.delete()) {
- file.deleteOnExit(); // if delete() fails try again on VM close
- }
- for (Enumeration enumeration = p.keys(); enumeration.hasMoreElements();) {
- // Win32's environment variables are case insensitive. Put everything
- // to uppercase so that (for example) the "PATH" variable will match
- // "pAtH" correctly on Windows.
- String key= (String) enumeration.nextElement();
- //no need to cast value
- cache.put(key, p.get(key));
- }
- } else {
- //read process directly on other platforms
- //we need to parse out matching '{' and '}' for function declarations in .bash environments
- // pattern is [func name]=() { and we must find the '}' on its own line with no trailing ';'
- InputStream stream = process.getInputStream();
- InputStreamReader isreader = new InputStreamReader(stream);
- BufferedReader reader = new BufferedReader(isreader);
- String line = reader.readLine();
- String key = null;
- String value = null;
- String newLine = System.getProperty("line.separator"); //$NON-NLS-1$
- while (line != null) {
- int func = line.indexOf("=()"); //$NON-NLS-1$
- if(func > 0) {
- key = line.substring(0, func);
- //scan until we find the closing '}' with no following chars
- value = line.substring(func+1);
- while(line != null && !line.equals("}")) { //$NON-NLS-1$
- line = reader.readLine();
- if(line != null) {
- value += newLine + line;
- }
- }
- line = reader.readLine();
- }
- else {
- int separator = line.indexOf('=');
- if (separator > 0) {
- key = line.substring(0, separator);
- value = line.substring(separator + 1);
- line = reader.readLine();
- if(line != null) {
- // this line has a '=' read ahead to check next line for '=', might be broken on more than one line
- // also if line starts with non-identifier - it is remainder of previous variable
- while (line.indexOf('=') < 0 || (line.length()>0 && !Character.isJavaIdentifierStart(line.charAt(0)))) {
- value += newLine + line;
- line = reader.readLine();
- if(line == null) {
- //if next line read is the end of the file quit the loop
- break;
- }
- }
- }
- }
- }
- if(key != null) {
- cache.put(key, value);
- key = null;
- value = null;
- }
- else {
- line = reader.readLine();
- }
- }
- reader.close();
- }
- } catch (IOException e) {
- // Native environment-fetching code failed.
- // This can easily happen and is not useful to log.
- }
- }
-
- /**
- * Clears all launch configurations (if any have been accessed)
- */
- private void clearAllLaunchConfigurations() {
- if (fLaunchConfigurationTypes != null) {
- fLaunchConfigurationTypes.clear();
- }
- if (fLaunchConfigurationIndex != null) {
- fLaunchConfigurationIndex.clear();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getEncoding(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public String getEncoding(ILaunchConfiguration configuration) throws CoreException {
- String encoding = configuration.getAttribute(DebugPlugin.ATTR_CONSOLE_ENCODING, (String)null);
- if(encoding == null) {
- IResource[] resources = configuration.getMappedResources();
- if(resources != null && resources.length > 0) {
- IResource res = resources[0];
- if(res instanceof IFile) {
- return ((IFile)res).getCharset();
- }
- else if(res instanceof IContainer) {
- return ((IContainer)res).getDefaultCharset();
- }
- }
- else {
- return ResourcesPlugin.getEncoding();
- }
- }
- return encoding;
- }
-
- /**
- * The launch config name cache is cleared when a config is added, deleted or changed.
- */
- protected void clearConfigNameCache() {
- fSortedConfigNames = null;
- }
-
- /**
- * Return an instance of DebugException containing the specified message and Throwable.
- */
- protected DebugException createDebugException(String message, Throwable throwable) {
- return new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, message, throwable
- )
- );
- }
-
- /**
- * Return a LaunchConfigurationInfo object initialized from XML contained in
- * the specified stream. Simply pass out any exceptions encountered so that
- * caller can deal with them. This is important since caller may need access to the
- * actual exception.
- */
- protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,
- ParserConfigurationException,
- IOException,
- SAXException {
- Element root = null;
- DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
- parser.setErrorHandler(new DefaultHandler());
- root = parser.parse(new InputSource(stream)).getDocumentElement();
- LaunchConfigurationInfo info = new LaunchConfigurationInfo();
- info.initializeFromXML(root);
- return info;
- }
-
- /**
- * Finds and returns all launch configurations in the given
- * container (and sub-containers)
- *
- * @param container the container to search
- * @exception CoreException an exception occurs traversing
- * the container.
- * @return all launch configurations in the given container
- */
- protected List findLaunchConfigurations(IContainer container) {
- List list = new ArrayList(10);
- if (container instanceof IProject && !((IProject)container).isOpen()) {
- return list;
- }
- ResourceProxyVisitor visitor= new ResourceProxyVisitor(list);
- try {
- container.accept(visitor, IResource.NONE);
- } catch (CoreException ce) {
- //Closed project...should not be possible with previous check
- }
- Iterator iter = list.iterator();
- List configs = new ArrayList(list.size());
- ILaunchConfiguration config = null;
- while (iter.hasNext()) {
- config = getLaunchConfiguration((IFile)iter.next());
- if(config != null && config.exists()) {
- configs.add(config);
- }
- }
- return configs;
- }
-
- /**
- * Finds and returns all local launch configurations.
- *
- * @return all local launch configurations
- */
- protected List findLocalLaunchConfigurations() {
- IPath containerPath = LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH;
- List configs = new ArrayList(10);
- final File directory = containerPath.toFile();
- if (directory.isDirectory()) {
- FilenameFilter filter = new FilenameFilter() {
- public boolean accept(File dir, String name) {
- return dir.equals(directory) &&
- name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
- }
- };
- File[] files = directory.listFiles(filter);
- LaunchConfiguration config = null;
- for (int i = 0; i < files.length; i++) {
- config = new LaunchConfiguration(LaunchConfiguration.getSimpleName(files[i].getName()), null);
- configs.add(config);
- }
- }
- return configs;
- }
-
- /**
- * Fires notification to (single) listeners that a launch has been
- * added/changed/removed.
- *
- * @param launch launch that has changed
- * @param update type of change
- */
- public void fireUpdate(ILaunch launch, int update) {
- new LaunchNotifier().notify(launch, update);
- }
-
- /**
- * Fires notification to (plural) listeners that a launch has been
- * added/changed/removed.
- *
- * @param launches launches that have changed
- * @param update type of change
- */
- public void fireUpdate(ILaunch[] launches, int update) {
- new LaunchesNotifier().notify(launches, update);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#generateUniqueLaunchConfigurationNameFrom(java.lang.String)
- */
- public String generateUniqueLaunchConfigurationNameFrom(String baseName) {
- int index = 1;
- int length= baseName.length();
- int copyIndex = baseName.lastIndexOf(" ("); //$NON-NLS-1$
- if (copyIndex > -1 && length > copyIndex + 2 && baseName.charAt(length - 1) == ')') {
- String trailer = baseName.substring(copyIndex + 2, length -1);
- if (isNumber(trailer)) {
- try {
- index = Integer.parseInt(trailer);
- baseName = baseName.substring(0, copyIndex);
- }
- catch (NumberFormatException nfe) {}
- }
- }
- String newName = baseName;
- while (isExistingLaunchConfigurationName(newName)) {
- newName = MessageFormat.format(DebugCoreMessages.LaunchManager_31, new String[] {baseName, Integer.toString(index)});
- index++;
- }
- return newName;
- }
-
- /**
- * Return a String that can be used as the name of a launch configuration. The name
- * is guaranteed to be unique (no existing or temporary launch configurations will have this name).
- * The name that is returned uses the <code>basename</code> as a starting point. If
- * there is no existing launch configuration with this name, then <code>basename</code>
- * is returned. Otherwise, the value returned consists of the specified base plus
- * some suffix that guarantees uniqueness. Passing <code>null</code> as the set of reserved names will cause this
- * method to return <code>generateUniqueLaunchConfigurationNameFrom(String baseName)</code>.
- *
- * By specifying a set of reserved names, you can further constrain the name that will be generated
- * by this method. For example you can give a base name of 'test' and a reserved set of [test(1), test(2)],
- * which will result in a name of 'test(3)' being returned iff a configuration with the name 'test' already exists.
- *
- * @return launch configuration name
- * @param basename the String that the returned name must begin with
- * @param reservednames a set of strings that is further used to constrain what names can be generated
- * @since 3.3
- */
- public String generateUniqueLaunchConfigurationNameFrom(String basename, Set reservednames) {
- if(reservednames == null) {
- return generateUniqueLaunchConfigurationNameFrom(basename);
- }
- int index = 1;
- int length= basename.length();
- String base = basename;
- int copyIndex = base.lastIndexOf(" ("); //$NON-NLS-1$
- if (copyIndex > -1 && length > copyIndex + 2 && base.charAt(length - 1) == ')') {
- String trailer = base.substring(copyIndex + 2, length -1);
- if (isNumber(trailer)) {
- try {
- index = Integer.parseInt(trailer);
- base = base.substring(0, copyIndex);
- }
- catch (NumberFormatException nfe) {}
- }
- }
- String newname = base;
- StringBuffer buffer = null;
- while (isExistingLaunchConfigurationName(newname) || reservednames.contains(newname)) {
- buffer = new StringBuffer(base);
- buffer.append(" ("); //$NON-NLS-1$
- buffer.append(String.valueOf(index));
- index++;
- buffer.append(')');
- newname = buffer.toString();
- }
- return newname;
- }
-
- /**
- * Returns a collection of all launch configuration handles in
- * the workspace. This collection is initialized lazily.
- *
- * @return all launch configuration handles
- */
- private synchronized List getAllLaunchConfigurations() {
- if (fLaunchConfigurationIndex == null) {
- try {
- fLaunchConfigurationIndex = new ArrayList(20);
- List configs = findLocalLaunchConfigurations();
- verifyConfigurations(configs, fLaunchConfigurationIndex);
- configs = findLaunchConfigurations(ResourcesPlugin.getWorkspace().getRoot());
- verifyConfigurations(configs, fLaunchConfigurationIndex);
- } finally {
- hookResourceChangeListener();
- }
- }
- return fLaunchConfigurationIndex;
- }
-
- /**
- * Return a sorted array of the names of all <code>ILaunchConfiguration</code>s in
- * the workspace. These are cached, and cache is cleared when a new config is added,
- * deleted or changed.
- */
- protected synchronized String[] getAllSortedConfigNames() {
- if (fSortedConfigNames == null) {
- ILaunchConfiguration[] configs = getLaunchConfigurations();
- fSortedConfigNames = new String[configs.length];
- for (int i = 0; i < configs.length; i++) {
- fSortedConfigNames[i] = configs[i].getName();
- }
- Arrays.sort(fSortedConfigNames);
- }
- return fSortedConfigNames;
- }
-
- /**
- * Returns the comparator registered for the given attribute, or
- * <code>null</code> if none.
- *
- * @param attributeName attribute for which a comparator is required
- * @return comparator, or <code>null</code> if none
- */
- protected Comparator getComparator(String attributeName) {
- Map map = getComparators();
- return (Comparator)map.get(attributeName);
- }
-
- /**
- * Returns comparators, loading if required
- */
- protected Map getComparators() {
- initializeComparators();
- return fComparators;
- }
-
- /**
- * Returns the launch configurations specified by the given
- * XML document.
- *
- * @param root XML document
- * @return list of launch configurations
- * @exception IOException if an exception occurs reading the XML
- */
- protected List getConfigsFromXML(Element root) throws CoreException {
- DebugException invalidFormat =
- new DebugException(
- new Status(
- IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
- DebugException.REQUEST_FAILED, DebugCoreMessages.LaunchManager_Invalid_launch_configuration_index__18, null
- )
- );
-
- if (!root.getNodeName().equalsIgnoreCase("launchConfigurations")) { //$NON-NLS-1$
- throw invalidFormat;
- }
-
- // read each launch configuration
- List configs = new ArrayList(4);
- NodeList list = root.getChildNodes();
- int length = list.getLength();
- Node node = null;
- Element entry = null;
- String memento = null;
- for (int i = 0; i < length; ++i) {
- node = list.item(i);
- short type = node.getNodeType();
- if (type == Node.ELEMENT_NODE) {
- entry = (Element) node;
- if (!entry.getNodeName().equals("launchConfiguration")) { //$NON-NLS-1$
- throw invalidFormat;
- }
- memento = entry.getAttribute("memento"); //$NON-NLS-1$
- if (memento == null) {
- throw invalidFormat;
- }
- configs.add(getLaunchConfiguration(memento));
- }
- }
- return configs;
- }
-
- protected ConfigurationNotifier getConfigurationNotifier() {
- return new ConfigurationNotifier();
- }
-
- /**
- * @see ILaunchManager#getDebugTargets()
- */
- public IDebugTarget[] getDebugTargets() {
- synchronized (fLaunches) {
- List allTargets= new ArrayList(fLaunches.size());
- if (fLaunches.size() > 0) {
- Iterator e = fLaunches.iterator();
- IDebugTarget[] targets = null;
- while (e.hasNext()) {
- targets = ((ILaunch) e.next()).getDebugTargets();
- for (int i = 0; i < targets.length; i++) {
- allTargets.add(targets[i]);
- }
- }
- }
- return (IDebugTarget[])allTargets.toArray(new IDebugTarget[allTargets.size()]);
- }
- }
-
- /**
- * Returns the resource delta visitor for the launch manager.
- *
- * @return the resource delta visitor for the launch manager
- */
- private LaunchManagerVisitor getDeltaVisitor() {
- if (fgVisitor == null) {
- fgVisitor= new LaunchManagerVisitor();
- }
- return fgVisitor;
- }
-
- /**
- * Returns the resource delta visitor for auto-removal of mapped launch configurations
- * @return the resource delta visitor for auto-removal of mapped launch configurations
- *
- * @since 3.4
- */
- private MappedResourceVisitor getMappedResourceVisitor() {
- if(fgMRVisitor == null) {
- fgMRVisitor = new MappedResourceVisitor();
- }
- return fgMRVisitor;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getEnvironment(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public String[] getEnvironment(ILaunchConfiguration configuration) throws CoreException {
- Map configEnv = configuration.getAttribute(ATTR_ENVIRONMENT_VARIABLES, (Map) null);
- if (configEnv == null) {
- return null;
- }
- Map env = new HashMap();
- // build base environment
- boolean append = configuration.getAttribute(ATTR_APPEND_ENVIRONMENT_VARIABLES, true);
- if (append) {
- env.putAll(getNativeEnvironmentCasePreserved());
- }
-
- // Add variables from config
- Iterator iter= configEnv.entrySet().iterator();
- boolean win32= Platform.getOS().equals(Constants.OS_WIN32);
- Map.Entry entry = null;
- String key = null;
- String value = null;
- Object nativeValue = null;
- Iterator envIter = null;
- Map.Entry nativeEntry = null;
- String nativeKey = null;
- while (iter.hasNext()) {
- entry = (Map.Entry) iter.next();
- key = (String) entry.getKey();
- value = (String) entry.getValue();
- // translate any string substitution variables
- if (value != null) {
- value = VariablesPlugin.getDefault().getStringVariableManager().performStringSubstitution(value);
- }
- boolean added= false;
- if (win32) {
- // First, check if the key is an exact match for an existing key.
- nativeValue = env.get(key);
- if (nativeValue != null) {
- // If an exact match is found, just replace the value
- env.put(key, value);
- } else {
- // Win32 variables are case-insensitive. If an exact match isn't found, iterate to
- // check for a case-insensitive match. We maintain the key's case (see bug 86725),
- // but do a case-insensitive comparison (for example, "pAtH" will still override "PATH").
- envIter = env.entrySet().iterator();
- while (envIter.hasNext()) {
- nativeEntry = (Map.Entry) envIter.next();
- nativeKey = (String) (nativeEntry).getKey();
- if (nativeKey.equalsIgnoreCase(key)) {
- nativeEntry.setValue(value);
- added = true;
- break;
- }
- }
- }
- }
- if (!added) {
- env.put(key, value);
- }
- }
-
- iter = env.entrySet().iterator();
- List strings = new ArrayList(env.size());
- StringBuffer buffer = null;
- while (iter.hasNext()) {
- entry = (Map.Entry) iter.next();
- buffer = new StringBuffer((String) entry.getKey());
- buffer.append('=').append((String) entry.getValue());
- strings.add(buffer.toString());
- }
- return (String[]) strings.toArray(new String[strings.size()]);
- }
-
- /**
- * Returns the info object for the specified launch configuration.
- * If the configuration exists, but is not yet in the cache,
- * an info object is built and added to the cache.
- *
- * @exception CoreException if an exception occurs building
- * the info object
- * @exception DebugException if the config does not exist
- * @since 3.5
- */
- protected LaunchConfigurationInfo getInfo(LaunchConfiguration config) throws CoreException {
- LaunchConfigurationInfo info = (LaunchConfigurationInfo)fLaunchConfigurations.get(config);
- if (info == null) {
- IFileStore store = config.getFileStore();
- if (config.exists()) {
- BufferedInputStream stream = null;
- try {
- stream = new BufferedInputStream(store.openInputStream(EFS.NONE, null));
- info = createInfoFromXML(stream);
- synchronized (this) {
- fLaunchConfigurations.put(config, info);
- }
- } catch (FileNotFoundException e) {
- throwException(config, e);
- } catch (SAXException e) {
- throwException(config, e);
- } catch (ParserConfigurationException e) {
- throwException(config, e);
- } catch (IOException e) {
- throwException(config, e);
- } finally {
- if (stream != null) {
- try {
- stream.close();
- } catch (IOException e) {
- throwException(config, e);
- }
- }
- }
-
- } else {
- if (store != null){
- throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager_does_not_exist, new String[]{config.getName(), store.toURI().toString()}), null);
- } else {
- throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager_does_not_exist_no_store_found, new String[]{config.getName()}), null);
- }
- }
- }
- return info;
- }
-
- /**
- * @see ILaunchManager#getLaunchConfiguration(IFile)
- */
- public ILaunchConfiguration getLaunchConfiguration(IFile file) {
- hookResourceChangeListener();
- return new LaunchConfiguration(file);
- }
-
- /**
- * @see ILaunchManager#getLaunchConfiguration(String)
- */
- public ILaunchConfiguration getLaunchConfiguration(String memento) throws CoreException {
- hookResourceChangeListener();
- return new LaunchConfiguration(memento);
- }
-
- /**
- * @see ILaunchManager#getLaunchConfigurations()
- */
- public synchronized ILaunchConfiguration[] getLaunchConfigurations() {
- List allConfigs = getAllLaunchConfigurations();
- return (ILaunchConfiguration[])allConfigs.toArray(new ILaunchConfiguration[allConfigs.size()]);
- }
-
- /**
- * @see ILaunchManager#getLaunchConfigurations(ILaunchConfigurationType)
- */
- public synchronized ILaunchConfiguration[] getLaunchConfigurations(ILaunchConfigurationType type) throws CoreException {
- Iterator iter = getAllLaunchConfigurations().iterator();
- List configs = new ArrayList();
- ILaunchConfiguration config = null;
- while (iter.hasNext()) {
- config = (ILaunchConfiguration)iter.next();
- if (config.getType().equals(type)) {
- configs.add(config);
- }
- }
- return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);
- }
-
- /**
- * Returns all launch configurations that are stored as resources
- * in the given project.
- *
- * @param project a project
- * @return collection of launch configurations that are stored as resources
- * in the given project
- */
- protected synchronized List getLaunchConfigurations(IProject project) {
- Iterator iter = getAllLaunchConfigurations().iterator();
- List configs = new ArrayList();
- ILaunchConfiguration config = null;
- IFile file = null;
- while (iter.hasNext()) {
- config = (ILaunchConfiguration)iter.next();
- file = config.getFile();
- if (file != null && file.getProject().equals(project)) {
- configs.add(config);
- }
- }
- return configs;
- }
-
- /**
- * @see ILaunchManager#getLaunchConfigurationType(String)
- */
- public ILaunchConfigurationType getLaunchConfigurationType(String id) {
- ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
- for(int i = 0; i < types.length; i++) {
- if (types[i].getIdentifier().equals(id)) {
- return types[i];
- }
- }
- return null;
- }
-
- /**
- * @see ILaunchManager#getLaunchConfigurationTypes()
- */
- public ILaunchConfigurationType[] getLaunchConfigurationTypes() {
- initializeLaunchConfigurationTypes();
- return (ILaunchConfigurationType[])fLaunchConfigurationTypes.toArray(new ILaunchConfigurationType[fLaunchConfigurationTypes.size()]);
- }
-
- /**
- * @see ILaunchManager#getLaunches()
- */
- public ILaunch[] getLaunches() {
- synchronized (fLaunches) {
- return (ILaunch[])fLaunches.toArray(new ILaunch[fLaunches.size()]);
- }
- }
-
- /**)
- * @see org.eclipse.debug.core.ILaunchManager#getLaunchMode(java.lang.String)
- */
- public ILaunchMode getLaunchMode(String mode) {
- initializeLaunchModes();
- return (ILaunchMode) fLaunchModes.get(mode);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#getLaunchModes()
- */
- public ILaunchMode[] getLaunchModes() {
- initializeLaunchModes();
- Collection collection = fLaunchModes.values();
- return (ILaunchMode[]) collection.toArray(new ILaunchMode[collection.size()]);
- }
-
- /**
- * Returns all of the launch delegates. The returned listing of delegates cannot be directly used to launch,
- * instead the method <code>IlaunchDelegate.getDelegate</code> must be used to acquire an executable form of
- * the delegate, allowing us to maintain lazy loading of the delegates themselves.
- * @return all of the launch delegates
- *
- * @since 3.3
- */
- public ILaunchDelegate[] getLaunchDelegates() {
- initializeLaunchDelegates();
- Collection col = fLaunchDelegates.values();
- return (ILaunchDelegate[]) col.toArray(new ILaunchDelegate[col.size()]);
- }
-
- /**
- * Returns the listing of launch delegates that apply to the specified
- * <code>ILaunchConfigurationType</code> id
- * @param typeid the id of the launch configuration type to get delegates for
- * @return An array of <code>LaunchDelegate</code>s that apply to the specified launch configuration
- * type, or an empty array, never <code>null</code>
- *
- * @since 3.3
- */
- public LaunchDelegate[] getLaunchDelegates(String typeid) {
- initializeLaunchDelegates();
- ArrayList list = new ArrayList();
- LaunchDelegate ld = null;
- for(Iterator iter = fLaunchDelegates.keySet().iterator(); iter.hasNext();) {
- ld = (LaunchDelegate) fLaunchDelegates.get(iter.next());
- if(ld.getLaunchConfigurationTypeId().equals(typeid)) {
- list.add(ld);
- }
- }
- return (LaunchDelegate[]) list.toArray(new LaunchDelegate[list.size()]);
- }
-
- /**
- * This method returns the <code>ILaunchDelegate</code> instance corresponding to the id
- * of the launch delegate specified
- * @param id the id of the <code>ILaunchDelegate</code> to find
- * @return the <code>ILaunchDelegate</code> or <code>null</code> if not found
- *
- * @since 3.3
- */
- public ILaunchDelegate getLaunchDelegate(String id) {
- if(id != null) {
- ILaunchDelegate[] delegates = getLaunchDelegates();
- for(int i = 0; i < delegates.length; i++) {
- if(id.equals(delegates[i].getId())) {
- return delegates[i];
- }
- }
- }
- return null;
- }
-
- /**
- * Initializes the listing of delegates available to the launching framework
- *
- * @since 3.3
- */
- private synchronized void initializeLaunchDelegates() {
- if(fLaunchDelegates == null) {
- fLaunchDelegates = new HashMap();
- //get all launch delegate contributions
- IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_DELEGATES);
- IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
- LaunchDelegate delegate = null;
- for(int i = 0; i < infos.length; i++) {
- delegate = new LaunchDelegate(infos[i]);
- fLaunchDelegates.put(delegate.getId(), delegate);
- }
- //get all delegates from launch configuration type contributions
- extensionPoint = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
- infos = extensionPoint.getConfigurationElements();
- for(int i = 0; i < infos.length; i++) {
- //must check to see if delegate is provided in contribution
- if(infos[i].getAttribute(IConfigurationElementConstants.DELEGATE) != null) {
- delegate = new LaunchDelegate(infos[i]);
- fLaunchDelegates.put(delegate.getId(), delegate);
- }
- }
- }
- }
-
- /**
- * This method is used to initialize a simple listing of all preferred delegates, which is then used by each
- * <code>ILaunchConfigurationType</code> to find if they have preferred delegates. Once an <code>ILaunchConfigurationType</code>
- * has used this listing to initialize its preferred delegates it will maintain changes to its preferred delegate, which are
- * then written back to the preference store only when the launch manager shuts down.
- * <p>
- * This cache is not synchronized with the runtime preferred delegates stored in launch configuration types.
- * </p>
- * @since 3.3
- */
- private synchronized void initializePreferredDelegates() {
- if(fPreferredDelegates == null) {
- fPreferredDelegates = new HashSet();
- String preferred = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), LaunchManager.PREF_PREFERRED_DELEGATES, IInternalDebugCoreConstants.EMPTY_STRING, null);
- if(!IInternalDebugCoreConstants.EMPTY_STRING.equals(preferred)) {
- try {
- Element root = DebugPlugin.parseDocument(preferred);
- NodeList nodes = root.getElementsByTagName(IConfigurationElementConstants.DELEGATE);
- Element element = null;
- String typeid = null;
- Set modeset = null;
- for(int i = 0; i < nodes.getLength(); i++) {
- element = (Element) nodes.item(i);
- String delegateid = element.getAttribute(IConfigurationElementConstants.ID);
- typeid = element.getAttribute(IConfigurationElementConstants.TYPE_ID);
- String[] modes = element.getAttribute(IConfigurationElementConstants.MODES).split(","); //$NON-NLS-1$
- modeset = new HashSet(Arrays.asList(modes));
- LaunchDelegate delegate = getLaunchDelegateExtension(typeid, delegateid, modeset);
- if (delegate != null) {
- //take type id, modeset, delegate and create entry
- if(!IInternalDebugCoreConstants.EMPTY_STRING.equals(typeid) & modeset != null) {
- fPreferredDelegates.add(new PreferredDelegate(delegate, typeid, modeset));
- }
- }
- }
- }
- catch (CoreException e) {DebugPlugin.log(e);}
- }
- }
- }
-
- /**
- * Allows internal access to reset preferred delegates when re-importing
- * preferences.
- *
- * @since 3.6
- */
- protected void resetPreferredDelegates() {
- fPreferredDelegates = null;
- }
-
- /**
- * Allows internal access to a preferred delegate for a given type and mode set
- * @param typeid the id of the <code>ILaunchConfigurationType</code> to find a delegate for
- * @param modes the set of modes for the delegate
- * @return the preferred delegate for the specified type id and mode set, or <code>null</code> if none
- *
- * @since 3.3
- */
- protected ILaunchDelegate getPreferredDelegate(String typeid, Set modes) {
- // Retrieve preferred delegates using legacy mechanism for backward
- // compatibility.
- initializePreferredDelegates();
- PreferredDelegate pd = null;
- for(Iterator iter = fPreferredDelegates.iterator(); iter.hasNext();) {
- pd = (PreferredDelegate) iter.next();
- if(pd.getModes().equals(modes) & pd.getTypeId().equals(typeid)) {
- return pd.getDelegate();
- }
- }
-
- // @since 3.5
- // If the legacy mechanism didn't work, try the new preference name for
- // the given launch type.
- String preferred = Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), "//" + LaunchManager.PREF_PREFERRED_DELEGATES + '/' + typeid, IInternalDebugCoreConstants.EMPTY_STRING, null); //$NON-NLS-1$
- if (preferred != null && preferred.length() != 0) {
- StringTokenizer tokenizer = new StringTokenizer(preferred, ";"); //$NON-NLS-1$
- while(tokenizer.hasMoreTokens()) {
- StringTokenizer tokenizer2 = new StringTokenizer(tokenizer.nextToken(), ","); //$NON-NLS-1$
- String delegateId = tokenizer2.nextToken();
- HashSet modeset = new HashSet();
- while(tokenizer2.hasMoreTokens()) {
- modeset.add(tokenizer2.nextToken());
- }
- LaunchDelegate delegate = getLaunchDelegateExtension(typeid, delegateId, modeset);
- if (delegate != null && modeset.equals(modes)) {
- return delegate;
- }
- }
-
- }
- return null;
- }
-
- /**
- * Returns the launch delegate extension that matches the given type, delegate ID, and
- * set of modes.
- *
- * @param typeId Launch configuration type.
- * @param id Launch delegate ID.
- * @param modeset Set of modes that the launch delegate applies to.
- * @return The launch delegate matching the specified parameters, or
- * <code>null</code> if not found.
- *
- * @since 3.5
- */
- private LaunchDelegate getLaunchDelegateExtension(String typeId, String id, Set modeset) {
- LaunchDelegate[] extensions = getLaunchDelegates(typeId);
- for(int j = 0; j < extensions.length; j++) {
- if(id.equals(extensions[j].getId())) {
- List modesets = extensions[j].getModes();
- if(modesets.contains(modeset)) {
- return extensions[j];
- }
- }
- }
- return null;
- }
-
- /**
- * Returns all launch configurations that are stored locally.
- *
- * @return collection of launch configurations stored locally
- */
- protected synchronized List getLocalLaunchConfigurations() {
- Iterator iter = getAllLaunchConfigurations().iterator();
- List configs = new ArrayList();
- ILaunchConfiguration config = null;
- while (iter.hasNext()) {
- config = (ILaunchConfiguration)iter.next();
- if (config.isLocal()) {
- configs.add(config);
- }
- }
- return configs;
- }
-
- /**
- * Returns the launch configurations mapping to the specified resource
- * @param resource the resource to collect mapped launch configurations for
- * @return a list of launch configurations if found or an empty list, never null
- * @since 3.2
- */
- public ILaunchConfiguration[] getMappedConfigurations(IResource resource) {
- List configurations = new ArrayList();
- try {
- ILaunchConfiguration[] configs = getLaunchConfigurations();
- IResource[] resources = null;
- for(int i = 0; i < configs.length; i++) {
- resources = configs[i].getMappedResources();
- if(resources != null) {
- for(int j = 0; j < resources.length; j++) {
- if(resources[j].equals(resource)) {
- configurations.add(configs[i]);
- }
- }
- }
- }
- }
- catch(CoreException e) {DebugPlugin.log(e);}
- return (ILaunchConfiguration[])configurations.toArray(new ILaunchConfiguration[configurations.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getMigrationCandidates()
- */
- public ILaunchConfiguration[] getMigrationCandidates() throws CoreException {
- List configs = new ArrayList();
- ILaunchConfiguration[] candidates = getLaunchConfigurations();
- for(int i = 0; i < candidates.length; i++) {
- if(!candidates[i].isReadOnly() && candidates[i].isMigrationCandidate()) {
- configs.add(candidates[i]);
- }
- }
- return (ILaunchConfiguration[])configs.toArray(new ILaunchConfiguration[configs.size()]);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#getMovedFrom(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public ILaunchConfiguration getMovedFrom(ILaunchConfiguration addedConfiguration) {
- if (addedConfiguration.equals(fTo)) {
- return fFrom;
- }
- return null;
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#getMovedTo(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public ILaunchConfiguration getMovedTo(ILaunchConfiguration removedConfiguration) {
- if (removedConfiguration.equals(fFrom)) {
- return fTo;
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironment()
- */
- public synchronized Map getNativeEnvironment() {
- if (fgNativeEnv == null) {
- Map casePreserved = getNativeEnvironmentCasePreserved();
- if (Platform.getOS().equals(Constants.OS_WIN32)) {
- fgNativeEnv= new HashMap();
- Iterator entries = casePreserved.entrySet().iterator();
- Map.Entry entry = null;
- String key = null;
- while (entries.hasNext()) {
- entry = (Entry) entries.next();
- key = ((String)entry.getKey()).toUpperCase();
- fgNativeEnv.put(key, entry.getValue());
- }
- } else {
- fgNativeEnv = new HashMap(casePreserved);
- }
- }
- return new HashMap(fgNativeEnv);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getNativeEnvironmentCasePreserved()
- */
- public synchronized Map getNativeEnvironmentCasePreserved() {
- if (fgNativeEnvCasePreserved == null) {
- fgNativeEnvCasePreserved= new HashMap();
- cacheNativeEnvironment(fgNativeEnvCasePreserved);
- }
- return new HashMap(fgNativeEnvCasePreserved);
- }
-
- /**
- * @see ILaunchManager#getProcesses()
- */
- public IProcess[] getProcesses() {
- synchronized (fLaunches) {
- List allProcesses = new ArrayList(fLaunches.size());
- Iterator e = fLaunches.iterator();
- IProcess[] processes = null;
- while (e.hasNext()) {
- processes = ((ILaunch) e.next()).getProcesses();
- for (int i= 0; i < processes.length; i++) {
- allProcesses.add(processes[i]);
- }
- }
- return (IProcess[])allProcesses.toArray(new IProcess[allProcesses.size()]);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerType(java.lang.String)
- */
- public ISourceContainerType getSourceContainerType(String id) {
- initializeSourceContainerTypes();
- return (ISourceContainerType) sourceContainerTypes.get(id);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getSourceContainerTypes()
- */
- public ISourceContainerType[] getSourceContainerTypes() {
- initializeSourceContainerTypes();
- Collection containers = sourceContainerTypes.values();
- return (ISourceContainerType[]) containers.toArray(new ISourceContainerType[containers.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#newSourcePathComputer(org.eclipse.debug.core.ILaunchConfiguration)
- */
- public ISourcePathComputer getSourcePathComputer(ILaunchConfiguration configuration) throws CoreException {
- String id = null;
- id = configuration.getAttribute(ISourcePathComputer.ATTR_SOURCE_PATH_COMPUTER_ID, (String)null);
-
- if (id == null) {
- //use default computer for configuration type, if any
- return configuration.getType().getSourcePathComputer();
- }
- return getSourcePathComputer(id);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#getSourcePathComputer(java.lang.String)
- */
- public ISourcePathComputer getSourcePathComputer(String id) {
- initializeSourceContainerTypes();
- return (ISourcePathComputer) sourcePathComputers.get(id);
- }
-
- /**
- * Starts listening for resource change events
- */
- private synchronized void hookResourceChangeListener() {
- if (!fListening) {
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE | IResourceChangeEvent.PRE_DELETE);
- fListening = true;
- }
- }
-
- /**
- * Load comparator extensions.
- */
- private synchronized void initializeComparators() {
- if (fComparators == null) {
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_COMPARATORS);
- IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
- fComparators = new HashMap(infos.length);
- IConfigurationElement configurationElement = null;
- String attr = null;
- for (int i= 0; i < infos.length; i++) {
- configurationElement = infos[i];
- attr = configurationElement.getAttribute("attribute"); //$NON-NLS-1$
- if (attr != null) {
- fComparators.put(attr, new LaunchConfigurationComparator(configurationElement));
- } else {
- // invalid status handler
- IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
- MessageFormat.format("Invalid launch configuration comparator extension defined by plug-in {0} - attribute not specified.", new String[] {configurationElement.getContributor().getName()}), null); //$NON-NLS-1$
- DebugPlugin.log(s);
- }
- }
- }
- }
-
- /**
- * Initializes the listing of <code>LaunchConfigurationType</code>s.
- */
- private synchronized void initializeLaunchConfigurationTypes() {
- if (fLaunchConfigurationTypes == null) {
- hookResourceChangeListener();
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_CONFIGURATION_TYPES);
- IConfigurationElement[] infos = extensionPoint.getConfigurationElements();
- fLaunchConfigurationTypes = new ArrayList(infos.length);
- for (int i= 0; i < infos.length; i++) {
- fLaunchConfigurationTypes.add(new LaunchConfigurationType(infos[i]));
- }
- }
- }
-
- /**
- * Load comparator extensions.
- *
- * @exception CoreException if an exception occurs reading
- * the extensions
- *
- */
- private synchronized void initializeLaunchModes() {
- if (fLaunchModes == null) {
- try {
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LAUNCH_MODES);
- IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
- fLaunchModes = new HashMap();
- ILaunchMode mode = null;
- for (int i= 0; i < infos.length; i++) {
- mode = new LaunchMode(infos[i]);
- fLaunchModes.put(mode.getIdentifier(), mode);
- }
- }
- catch (CoreException e) {DebugPlugin.log(e);}
- }
- }
-
- /**
- * Initializes source container type and source path computer extensions.
- */
- private synchronized void initializeSourceContainerTypes() {
- if (sourceContainerTypes == null) {
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_CONTAINER_TYPES);
- IConfigurationElement[] extensions = extensionPoint.getConfigurationElements();
- sourceContainerTypes = new HashMap();
- for (int i = 0; i < extensions.length; i++) {
- sourceContainerTypes.put(
- extensions[i].getAttribute(IConfigurationElementConstants.ID),
- new SourceContainerType(extensions[i]));
- }
- extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_PATH_COMPUTERS);
- extensions = extensionPoint.getConfigurationElements();
- sourcePathComputers = new HashMap();
- for (int i = 0; i < extensions.length; i++) {
- sourcePathComputers.put(
- extensions[i].getAttribute(IConfigurationElementConstants.ID),
- new SourcePathComputer(extensions[i]));
- }
- }
- }
-
- /**
- * Register source locators.
- *
- * @exception CoreException if an exception occurs reading
- * the extensions
- */
- private synchronized void initializeSourceLocators() {
- if (fSourceLocators == null) {
- IExtensionPoint extensionPoint= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_SOURCE_LOCATORS);
- IConfigurationElement[] infos= extensionPoint.getConfigurationElements();
- fSourceLocators= new HashMap(infos.length);
- IConfigurationElement configurationElement = null;
- String id = null;
- for (int i= 0; i < infos.length; i++) {
- configurationElement = infos[i];
- id = configurationElement.getAttribute(IConfigurationElementConstants.ID);
- if (id != null) {
- fSourceLocators.put(id,configurationElement);
- } else {
- // invalid status handler
- IStatus s = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
- MessageFormat.format("Invalid source locator extension defined by plug-in \"{0}\": \"id\" not specified.", new String[] {configurationElement.getContributor().getName()} ), null); //$NON-NLS-1$
- DebugPlugin.log(s);
- }
- }
- }
- }
-
- /**
- * Adds the given launch object to the list of registered launches,
- * and returns whether the launch was added.
- *
- * @param launch launch to register
- * @return whether the launch was added
- */
- protected boolean internalAddLaunch(ILaunch launch) {
- // ensure the step filter manager is created on the first launch
- getStepFilterManager();
- synchronized (fLaunches) {
- if (fLaunches.contains(launch)) {
- return false;
- }
- fLaunches.add(launch);
- fLaunchSet.add(launch);
- return true;
- }
- }
-
- /**
- * Removes the given launch object from the collection of registered
- * launches. Returns whether the launch was removed.
- *
- * @param launch the launch to remove
- * @return whether the launch was removed
- */
- protected boolean internalRemoveLaunch(ILaunch launch) {
- if (launch == null) {
- return false;
- }
- synchronized (fLaunches) {
- fLaunchSet.remove(launch);
- return fLaunches.remove(launch);
- }
- }
- /**
- * @see ILaunchManager#isExistingLaunchConfigurationName(String)
- */
- public boolean isExistingLaunchConfigurationName(String name) {
- String[] sortedConfigNames = getAllSortedConfigNames();
- int index = Arrays.binarySearch(sortedConfigNames, name);
- if (index < 0) {
- return false;
- }
- return true;
- }
-
- /**
- * Returns whether the given String is composed solely of digits
- */
- private boolean isNumber(String string) {
- int numChars= string.length();
- if (numChars == 0) {
- return false;
- }
- for (int i= 0; i < numChars; i++) {
- if (!Character.isDigit(string.charAt(i))) {
- return false;
- }
- }
- return true;
- }
-
- /**
- * Returns whether the user has selected to delete associated configurations when a
- * project is deleted.
- *
- * @return whether to auto-delete configurations
- */
- private boolean isDeleteConfigurations() {
- return Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(), PREF_DELETE_CONFIGS_ON_PROJECT_DELETE, true, null);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchManager#isRegistered(org.eclipse.debug.core.ILaunch)
- */
- public boolean isRegistered(ILaunch launch) {
- synchronized (fLaunches) {
- return fLaunchSet.contains(launch);
- }
- }
-
- /**
- * Returns whether the given launch configuration passes a basic
- * integrity test by retrieving its type.
- *
- * @param config the configuration to verify
- * @return whether the config meets basic integrity constraints
- */
- protected boolean isValid(ILaunchConfiguration config) {
- try {
- config.getType();
- } catch (CoreException e) {
- if (e.getStatus().getCode() != DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE) {
- // only log warnings due to something other than a missing
- // launch config type
- DebugPlugin.log(e);
- }
- return false;
- }
- return true;
- }
-
- /**
- * Notifies the launch manager that a launch configuration
- * has been added. The configuration is added to the index of
- * configurations by project, and listeners are notified.
- *
- * @param config the launch configuration that was added
- */
- protected void launchConfigurationAdded(ILaunchConfiguration config) {
- if (config.isWorkingCopy()) {
- return;
- }
- if (isValid(config)) {
- boolean added = false;
- synchronized (this) {
- List allConfigs = getAllLaunchConfigurations();
- if (!allConfigs.contains(config)) {
- allConfigs.add(config);
- added = true;
- }
- }
- if (added) {
- getConfigurationNotifier().notify(config, ADDED);
- clearConfigNameCache();
- }
- } else {
- launchConfigurationDeleted(config);
- }
- }
-
- /**
- * Notifies the launch manager that a launch configuration
- * has been changed. The configuration is removed from the
- * cache of info objects such that the new attributes will
- * be updated on the next access. Listeners are notified of
- * the change.
- *
- * @param config the launch configuration that was changed
- */
- protected void launchConfigurationChanged(ILaunchConfiguration config) {
- synchronized(this) {
- fLaunchConfigurations.remove(config);
- }
- clearConfigNameCache();
- if (isValid(config)) {
- // in case the config has been refreshed and it was removed from the
- // index due to 'out of synch with local file system' (see bug 36147),
- // add it back (will only add if required)
- launchConfigurationAdded(config);
- getConfigurationNotifier().notify(config, CHANGED);
- } else {
- launchConfigurationDeleted(config);
- }
- }
-
- /**
- * Notifies the launch manager that a launch configuration
- * has been deleted. The configuration is removed from the
- * cache of info and from the index of configurations by
- * project, and listeners are notified.
- *
- * @param config the launch configuration that was deleted
- */
- protected void launchConfigurationDeleted(ILaunchConfiguration config) {
- boolean removed = false;
- synchronized (this) {
- Object key = fLaunchConfigurations.remove(config);
- removed = key != null;
- getAllLaunchConfigurations().remove(config);
- }
- if (removed) {
- getConfigurationNotifier().notify(config, REMOVED);
- clearConfigNameCache();
- }
- }
-
- /**
- * @see ILaunchManager#newSourceLocator(String)
- */
- public IPersistableSourceLocator newSourceLocator(String identifier) throws CoreException {
- initializeSourceLocators();
- IConfigurationElement config = (IConfigurationElement)fSourceLocators.get(identifier);
- if (config == null) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugException.INTERNAL_ERROR,
- MessageFormat.format(DebugCoreMessages.LaunchManager_Source_locator_does_not_exist___0__13, new String[] {identifier} ), null));
- }
- IPersistableSourceLocator sourceLocator = (IPersistableSourceLocator)config.createExecutableExtension("class"); //$NON-NLS-1$
- if (sourceLocator instanceof AbstractSourceLookupDirector) {
- ((AbstractSourceLookupDirector)sourceLocator).setId(identifier);
- }
- return sourceLocator;
- }
-
- /**
- * The specified project has just closed - remove its
- * launch configurations from the cached index.
- *
- * @param project the project that has been closed
- * @exception CoreException if writing the index fails
- */
- protected void projectClosed(IProject project) {
- List configs = getLaunchConfigurations(project);
- if (!configs.isEmpty()) {
- Iterator iterator = configs.iterator();
- while (iterator.hasNext()) {
- launchConfigurationDeleted((ILaunchConfiguration)iterator.next());
- }
- }
- //bug 12134
- terminateMappedConfigurations(project);
- }
-
- /**
- * The specified project has just opened - add all launch
- * configs in the project to the index of all configs.
- *
- * @param project the project that has been opened
- * @exception CoreException if reading the index fails
- */
- protected void projectOpened(IProject project) {
- List configs = findLaunchConfigurations(project);
- if (!configs.isEmpty()) {
- Iterator iterator = configs.iterator();
- while (iterator.hasNext()) {
- launchConfigurationAdded((ILaunchConfiguration) iterator.next());
- }
- }
- }
-
- /**
- * @see ILaunchManager#removeLaunch(ILaunch)
- */
- public void removeLaunch(final ILaunch launch) {
- if (internalRemoveLaunch(launch)) {
- fireUpdate(launch, REMOVED);
- fireUpdate(new ILaunch[] {launch}, REMOVED);
- }
- }
-
- /**
- * @see ILaunchManager#removeLaunchConfigurationListener(ILaunchConfigurationListener)
- */
- public void removeLaunchConfigurationListener(ILaunchConfigurationListener listener) {
- fLaunchConfigurationListeners.remove(listener);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#removeLaunches(org.eclipse.debug.core.ILaunch[])
- */
- public void removeLaunches(ILaunch[] launches) {
- List removed = new ArrayList(launches.length);
- for (int i = 0; i < launches.length; i++) {
- if (internalRemoveLaunch(launches[i])) {
- removed.add(launches[i]);
- }
- }
- if (!removed.isEmpty()) {
- ILaunch[] removedLaunches = (ILaunch[])removed.toArray(new ILaunch[removed.size()]);
- fireUpdate(removedLaunches, REMOVED);
- for (int i = 0; i < removedLaunches.length; i++) {
- fireUpdate(removedLaunches[i], REMOVED);
- }
- }
- }
- /**
- * @see org.eclipse.debug.core.ILaunchManager#removeLaunchListener(org.eclipse.debug.core.ILaunchesListener)
- */
- public void removeLaunchListener(ILaunchesListener listener) {
- fLaunchesListeners.remove(listener);
- }
-
- /**
- * @see ILaunchManager#removeLaunchListener(ILaunchListener)
- */
- public void removeLaunchListener(ILaunchListener listener) {
- fListeners.remove(listener);
- }
-
- /**
- * Traverses the delta looking for added/removed/changed launch
- * configuration files.
- *
- * @see IResourceChangeListener#resourceChanged(IResourceChangeEvent)
- */
- public void resourceChanged(IResourceChangeEvent event) {
- IResourceDelta delta = event.getDelta();
- if (delta != null) {
- LaunchManagerVisitor visitor = getDeltaVisitor();
- MappedResourceVisitor v = null;
- if (isDeleteConfigurations()) {
- v = getMappedResourceVisitor();
- }
- try {
- delta.accept(visitor);
- if (v != null) {
- delta.accept(v);
- }
- } catch (CoreException e) {
- DebugPlugin.log(e.getStatus());
- }
- }
- }
-
- /**
- * Gets the launch configuration associated with the specified <code>IResource</code>.
- * This method relies on the resource mapping existing, if no such mapping
- * exists the launch configuration is ignored.
- *
- * @param resource the resource to collect launch configurations for
- * @return the list of associated launch configurations
- */
- private ArrayList collectAssociatedLaunches(IResource resource) {
- ArrayList list = new ArrayList();
- try {
- ILaunchConfiguration[] configs = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations();
- IResource[] resources = null;
- for(int i = 0; i < configs.length; i++) {
- if(configs[i].isLocal()) {
- resources = configs[i].getMappedResources();
- if(resources != null) {
- for(int j = 0; j < resources.length; j++){
- if(resource.equals(resources[j]) ||
- resource.getFullPath().isPrefixOf(resources[j].getFullPath())) {
- list.add(configs[i]);
- break;
- }
- }
- }
- }
- }
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- return list;
- }
-
- /**
- * Indicates the given launch configuration is being moved from the given
- * location to the new location.
- *
- * @param from the location a launch configuration is being moved from, or
- * <code>null</code>
- * @param to the location a launch configuration is being moved to,
- * or <code>null</code>
- */
- protected void setMovedFromTo(ILaunchConfiguration from, ILaunchConfiguration to) {
- fFrom = from;
- fTo = to;
- }
- /**
- * Terminates/Disconnects any active debug targets/processes.
- * Clears launch configuration types.
- */
- public void shutdown() {
- fListeners = new ListenerList();
- fLaunchesListeners = new ListenerList();
- fLaunchConfigurationListeners = new ListenerList();
- ILaunch[] launches = getLaunches();
- ILaunch launch = null;
- for (int i= 0; i < launches.length; i++) {
- launch = launches[i];
- try {
- if (launch instanceof IDisconnect) {
- IDisconnect disconnect = (IDisconnect)launch;
- if (disconnect.canDisconnect()) {
- disconnect.disconnect();
- }
- }
- if (launch.canTerminate()) {
- launch.terminate();
- }
- } catch (DebugException e) {
- DebugPlugin.log(e);
- }
- }
-
- persistPreferredLaunchDelegates();
- clearAllLaunchConfigurations();
- fStepFilterManager = null;
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(this);
- }
-
- /**
- * Saves the listings of preferred launch delegates from all of the launch configuration types
- *
- * @since 3.3
- */
- public void persistPreferredLaunchDelegates() {
- ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
- for(int i = 0; i < types.length; i++) {
- persistPreferredLaunchDelegate((LaunchConfigurationType)types[i]);
- }
- }
-
- /**
- * Persists the given launch configuration delegate.
- * @param type Launch configuration type to persist
- *
- * @since 3.6
- */
- public void persistPreferredLaunchDelegate(LaunchConfigurationType type) {
- String preferenceName = PREF_PREFERRED_DELEGATES + '/' + type.getIdentifier();
- Map preferred = type.getPreferredDelegates();
- if(preferred != null && preferred.size() > 0) {
- StringBuffer str = new StringBuffer();
- for(Iterator iter = preferred.keySet().iterator(); iter.hasNext();) {
- Set modes = (Set) iter.next();
- ILaunchDelegate delegate = (ILaunchDelegate) preferred.get(modes);
- if(delegate != null) {
- str.append(delegate.getId());
- str.append(',');
- for(Iterator iter2 = modes.iterator(); iter2.hasNext();) {
- str.append(iter2.next());
- if(iter2.hasNext()) {
- str.append(',');
- }
- }
- if (iter.hasNext()) {
- str.append(';');
- }
- }
- }
- Preferences.setString(DebugPlugin.getUniqueIdentifier(), preferenceName, str.toString(), null);
- } else {
- Preferences.setToDefault(DebugPlugin.getUniqueIdentifier(), preferenceName);
- }
-
- // Reset the legacy preference string.
- Preferences.setToDefault(DebugPlugin.getUniqueIdentifier(), PREF_PREFERRED_DELEGATES);
- }
-
- /**
- * finds and terminates any running launch configurations associated with the given resource
- * @param resource the resource to search for launch configurations and hence launches for
- * @since 3.2
- */
- protected void terminateMappedConfigurations(IResource resource) {
- ILaunch[] launches = getLaunches();
- ILaunchConfiguration[] configs = getMappedConfigurations(resource);
- try {
- for(int i = 0; i < launches.length; i++) {
- for(int j = 0; j < configs.length; j++) {
- if(configs[j].equals(launches[i].getLaunchConfiguration()) & launches[i].canTerminate()) {
- launches[i].terminate();
- }
- }
- }
- }
- catch(CoreException e) {DebugPlugin.log(e);}
- }
-
- /**
- * Throws a debug exception with the given throwable that occurred
- * while processing the given configuration.
- * @since 3.5
- */
- private void throwException(LaunchConfiguration config, Throwable e) throws DebugException {
- String uri = config.getName();
- try {
- IFileStore store = config.getFileStore();
- if (store != null) {
- uri = store.toString();
- }
- } catch (CoreException ce) {
- }
- throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1, new String[]{e.toString(), uri}), e);
- }
-
- /**
- * Verify basic integrity of launch configurations in the given list,
- * adding valid configurations to the collection of all launch configurations.
- * Exceptions are logged for invalid configurations.
- *
- * @param verify the list of configurations to verify
- * @param valid the list to place valid configurations in
- */
- protected void verifyConfigurations(List verify, List valid) {
- Iterator configs = verify.iterator();
- ILaunchConfiguration config = null;
- while (configs.hasNext()) {
- config = (ILaunchConfiguration)configs.next();
- if (!valid.contains(config) && isValid(config)) {
- valid.add(config);
- }
- }
- }
-
- /**
- * Returns the name of the given launch mode with accelerators removed,
- * or <code>null</code> if none.
- *
- * @param id launch mode identifier
- * @return launch mode name with accelerators removed or <code>null</code>
- */
- public String getLaunchModeName(String id) {
- ILaunchMode launchMode = getLaunchMode(id);
- if (launchMode != null) {
- return removeAccelerators(launchMode.getLabel());
- }
- return null;
- }
- /**
- * Returns the label with any accelerators removed.
- *
- * @param label label to process
- * @return label without accelerators
- */
- public static String removeAccelerators(String label) {
- String title = label;
- if (title != null) {
- // strip out any '&' (accelerators)
- int index = title.indexOf('&');
- if (index == 0) {
- title = title.substring(1);
- } else if (index > 0) {
- //DBCS languages use "(&X)" format
- if (title.charAt(index - 1) == '(' && title.length() >= index + 3 && title.charAt(index + 2) == ')') {
- String first = title.substring(0, index - 1);
- String last = title.substring(index + 3);
- title = first + last;
- } else if (index < (title.length() - 1)) {
- String first = title.substring(0, index);
- String last = title.substring(index + 1);
- title = first + last;
- }
- }
- }
- return title;
- }
-
- /**
- * Returns the singleton step filter manager.
- *
- * @return the step filter manager
- */
- public synchronized StepFilterManager getStepFilterManager() {
- if (fStepFilterManager == null) {
- fStepFilterManager = new StepFilterManager();
- }
- return fStepFilterManager;
- }
-
- /**
- * Imports launch configurations represented by the given local files, overwriting
- * any existing configurations. Sends launch configuration change notification
- * as required (i.e. added or changed).
- * <p>
- * If a file is imported that has the same name as a configuration in the workspace
- * (i.e. a shared configuration), the shared configuration is deleted (becomes local).
- * </p>
- * @param files files to import
- * @param monitor progress monitor or <code>null</code>
- * @throws CoreException if an exception occurs while importing configurations
- * @since 3.4.0
- */
- public void importConfigurations(File[] files, IProgressMonitor monitor) throws CoreException {
- if (monitor == null) {
- monitor = new NullProgressMonitor();
- }
- Map sharedConfigs = new HashMap();
- List stati = null;
- Iterator iterator = getAllLaunchConfigurations().iterator();
- while (iterator.hasNext()) {
- ILaunchConfiguration config = (ILaunchConfiguration) iterator.next();
- if (!config.isLocal()) {
- StringBuffer buf = new StringBuffer(config.getName());
- buf.append('.');
- buf.append(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
- sharedConfigs.put(buf.toString(), config);
- }
- }
- monitor.beginTask(DebugCoreMessages.LaunchManager_29, files.length);
- for (int i = 0; i < files.length; i++) {
- if (monitor.isCanceled()) {
- break;
- }
- File source = files[i];
- monitor.subTask(MessageFormat.format(DebugCoreMessages.LaunchManager_28, new String[]{source.getName()}));
- IPath location = new Path(LOCAL_LAUNCH_CONFIGURATION_CONTAINER_PATH.toOSString()).append(source.getName());
- File target = location.toFile();
- IPath locationdir = location.removeLastSegments(1);
- if(!locationdir.toFile().exists()) {
- locationdir.toFile().mkdirs();
- }
- boolean added = !target.exists();
- try {
- copyFile(source, target);
- ILaunchConfiguration configuration = new LaunchConfiguration(LaunchConfiguration.getSimpleName(source.getName()), null);
- ILaunchConfiguration shared = (ILaunchConfiguration) sharedConfigs.get(target.getName());
- if (shared != null) {
- setMovedFromTo(shared, configuration);
- shared.delete();
- launchConfigurationChanged(configuration);
- } else if (added) {
- launchConfigurationAdded(configuration);
- } else {
- launchConfigurationChanged(configuration);
- }
- } catch (IOException e) {
- if (stati == null) {
- stati = new ArrayList();
- }
- stati.add(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR,
- MessageFormat.format(DebugCoreMessages.LaunchManager_27, new String[]{source.getPath()}), e));
- }
- monitor.worked(1);
- }
- if (!monitor.isCanceled()) {
- monitor.done();
- }
- if (stati != null) {
- if (stati.size() > 1) {
- MultiStatus multi = new MultiStatus(DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LaunchManager_26, null);
- Iterator it = stati.iterator();
- while (it.hasNext()) {
- multi.add((IStatus) it.next());
- }
- throw new CoreException(multi);
- } else {
- throw new CoreException((IStatus) stati.get(0));
- }
- }
- }
-
- /**
- * Copies a file from one location to another, replacing any existing file.
- *
- * @param in the file to copy
- * @param out the file to be copied out to
- * @throws IOException
- * @since 3.4.0
- */
- private void copyFile(File in, File out) throws IOException {
- FileInputStream fis = new FileInputStream(in);
- FileOutputStream fos = new FileOutputStream(out);
- byte[] buf = new byte[1024];
- int i = 0;
- while((i = fis.read(buf)) != -1) {
- fos.write(buf, 0, i);
- }
- fis.close();
- fos.close();
- }
-
- /**
- * Returns whether any launch config supports the given mode.
- *
- * @param mode launch mode
- * @return whether any launch config supports the given mode
- */
- public synchronized boolean launchModeAvailable(String mode) {
- if (fActiveModes == null) {
- ILaunchConfigurationType[] types = getLaunchConfigurationTypes();
- ILaunchMode[] modes = getLaunchModes();
- fActiveModes = new HashSet(3);
- for (int i = 0; i < types.length; i++) {
- for (int j = 0; j < modes.length; j++) {
- if (types[i].supportsMode(modes[j].getIdentifier())) {
- fActiveModes.add(modes[j].getIdentifier());
- }
- }
- }
- }
- return fActiveModes.contains(mode);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#generateLaunchConfigurationName(java.lang.String)
- */
- public String generateLaunchConfigurationName(String namePrefix) {
- String name = generateUniqueLaunchConfigurationNameFrom(namePrefix);
- try {
- isValidLaunchConfigurationName(name);
- return name;
- }
- catch(IllegalArgumentException iae) {
- //blanket change all reserved names
- if(Platform.OS_WIN32.equals(Platform.getOS())) {
- for(int i = 0; i < UNSUPPORTED_WIN32_CONFIG_NAMES.length; i++) {
- if(UNSUPPORTED_WIN32_CONFIG_NAMES[i].equals(name)) {
- name = "launch_configuration"; //$NON-NLS-1$
- }
- }
- }
- //blanket replace all invalid chars
- for (int i = 0; i < DISALLOWED_CONFIG_NAME_CHARS.length; i++) {
- name = name.replace(DISALLOWED_CONFIG_NAME_CHARS[i], '_');
- }
- }
- //run it through the generator once more in case a replaced name has already been done
- return generateUniqueLaunchConfigurationNameFrom(name);
- }
-
- /**
- * @see org.eclipse.debug.core.ILaunchManager#isValidLaunchConfigurationName(java.lang.String)
- */
- public boolean isValidLaunchConfigurationName(String configname) throws IllegalArgumentException {
- if(Platform.OS_WIN32.equals(Platform.getOS())) {
- for(int i = 0; i < UNSUPPORTED_WIN32_CONFIG_NAMES.length; i++) {
- if(configname.equals(UNSUPPORTED_WIN32_CONFIG_NAMES[i])) {
- throw new IllegalArgumentException(MessageFormat.format(DebugCoreMessages.LaunchManager_invalid_config_name, new String[] {configname}));
- }
- }
- }
- for (int i = 0; i < DISALLOWED_CONFIG_NAME_CHARS.length; i++) {
- if (configname.indexOf(DISALLOWED_CONFIG_NAME_CHARS[i]) > -1) {
- throw new IllegalArgumentException(MessageFormat.format(DebugCoreMessages.LaunchManager_invalid_config_name_char, new String[] {String.valueOf(DISALLOWED_CONFIG_NAME_CHARS[i])}));
- }
- }
- return true;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
deleted file mode 100644
index 48a25f627..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchMode.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import com.ibm.icu.text.MessageFormat;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchMode;
-
-/**
- * Proxy to a launch mode extension.
- *
- * @see IConfigurationElementConstants
- */
-public class LaunchMode implements ILaunchMode {
-
- private IConfigurationElement fConfigurationElement;
-
- /**
- * Constructs a new launch mode.
- *
- * @param element configuration element
- * @exception CoreException if required attributes are missing
- */
- public LaunchMode(IConfigurationElement element) throws CoreException {
- fConfigurationElement = element;
- verifyAttributes();
- }
-
- /**
- * Verifies required attributes.
- *
- * @exception CoreException if required attributes are missing
- */
- private void verifyAttributes() throws CoreException {
- verifyAttributeExists(IConfigurationElementConstants.MODE);
- verifyAttributeExists(IConfigurationElementConstants.LABEL);
- }
-
- /**
- * Verifies the given attribute exists
- *
- * @exception CoreException if attribute does not exist
- */
- private void verifyAttributeExists(String name) throws CoreException {
- if (fConfigurationElement.getAttribute(name) == null) {
- missingAttribute(name);
- }
- }
-
- /**
- * This method is used to create a new internal error describing that the specified attribute
- * is missing
- * @param attrName the name of the attribute that is missing
- * @throws CoreException
- */
- private void missingAttribute(String attrName) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LaunchMode_1,new String[]{attrName}), null));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchMode#getIdentifier()
- */
- public String getIdentifier() {
- return fConfigurationElement.getAttribute(IConfigurationElementConstants.MODE);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchMode#getLabel()
- */
- public String getLabel() {
- return fConfigurationElement.getAttribute(IConfigurationElementConstants.LABEL);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchMode#getLaunchAsLabel()
- */
- public String getLaunchAsLabel() {
- String label = fConfigurationElement.getAttribute(IConfigurationElementConstants.LAUNCH_AS_LABEL);
- if (label == null) {
- return MessageFormat.format(DebugCoreMessages.LaunchMode_0, new String[]{getLabel()});
- }
- return label;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchablePropertyTester.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchablePropertyTester.java
deleted file mode 100644
index 70175ead8..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LaunchablePropertyTester.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.expressions.PropertyTester;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Tests if an object is launchable.
- */
-public class LaunchablePropertyTester extends PropertyTester {
-
- /**
- * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
- */
- public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
- if ("launchable".equals(property)) { //$NON-NLS-1$
- if (((LaunchManager)(DebugPlugin.getDefault().getLaunchManager())).launchModeAvailable((String)expectedValue)) {
- return Platform.getAdapterManager().hasAdapter(receiver, "org.eclipse.debug.ui.actions.ILaunchable"); //$NON-NLS-1$
- }
- }
- return false;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
deleted file mode 100644
index 5c5c02931..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureManager.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.Map.Entry;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manages logical structure extensions
- *
- * @since 3.0
- */
-public class LogicalStructureManager {
-
- private static LogicalStructureManager fgDefault;
- private List fTypes = null;
- private List fTypeProviders;
-
- /**
- * Map containing the user's selection for each combination of logical
- * structure types.
- * key: String - Comma-separated list of ints representing a combination of structure types.
- * These integers are indeces into the fStructureTypeIds array.
- * value: Integer - One of the ints from the combo key (the one chosen by the user) or -1 if
- * the user has chosen not to display any structures for this combination
- */
- private Map fStructureTypeSelections= null;
- /**
- * List of known type identifiers. An identifier's index in this list is used as
- * its ID number. This list is maintained as a space-saving measure so that the various
- * combinations of structure types can be persisted using indeces instead of storing the
- * full index strings.
- */
- private List fStructureTypeIds= null;
-
- /**
- * Preference key used for storing the user's selected structure for each combination
- * or structures. The preference value is stored in the form:
- * int,int,...,int|int,int,...int|...
- * Where int is an integer index of a structure in the array of known structures.
- */
- public static final String PREF_STRUCTURE_SELECTIONS= "selectedStructures"; //$NON-NLS-1$
- /**
- * Preference key used for storing the array of known structures. The preference
- * value is in the form:
- * string,string,string,...,string,
- * Where string is an identifier of a logical structure.
- */
- public static final String PREF_STRUCTURE_IDS= "allStructures"; //$NON-NLS-1$
-
- public static LogicalStructureManager getDefault() {
- if (fgDefault == null) {
- fgDefault = new LogicalStructureManager();
- }
- return fgDefault;
- }
-
- /**
- * Returns the logical structure types that are applicable to the given value.
- * @param value the value
- * @return the logical structure types that are applicable to the given value
- */
- public ILogicalStructureType[] getLogicalStructureTypes(IValue value) {
- initialize();
- // looks in the logical structure types
- Iterator iterator = fTypes.iterator();
- List select = new ArrayList();
- while (iterator.hasNext()) {
- ILogicalStructureType type = (ILogicalStructureType)iterator.next();
- if (type.providesLogicalStructure(value)) {
- select.add(type);
- }
- }
- // asks the logical structure providers
- for (Iterator iter= fTypeProviders.iterator(); iter.hasNext();) {
- ILogicalStructureType[] logicalStructures= ((LogicalStructureProvider) iter.next()).getLogicalStructures(value);
- for (int i= 0; i < logicalStructures.length; i++) {
- select.add(logicalStructures[i]);
- }
- }
- return (ILogicalStructureType[]) select.toArray(new ILogicalStructureType[select.size()]);
- }
-
- /**
- * Loads the map of structure selections from the preference store.
- */
- private void loadStructureTypeSelections() {
- fStructureTypeSelections= new HashMap();
- String selections= Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_SELECTIONS, IInternalDebugCoreConstants.EMPTY_STRING, null);
- // selections are stored in the form:
- // selection|selection|...selection|
- StringTokenizer tokenizer= new StringTokenizer(selections, "|"); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- String selection = tokenizer.nextToken();
- // selection string is of the form:
- // id,id,...,selectedid
- int i = selection.lastIndexOf(',');
- if (i > 0 && i < selection.length() - 1) {
- String comboKey= selection.substring(0, i + 1);
- String selected= selection.substring(i + 1, selection.length());
- fStructureTypeSelections.put(comboKey, new Integer(Integer.parseInt(selected)));
- }
- }
- }
-
- /**
- * Stores the map of structure selections to the preference store
- */
- private void storeStructureTypeSelections() {
- StringBuffer buffer= new StringBuffer();
- Iterator iter = fStructureTypeSelections.entrySet().iterator();
- while (iter.hasNext()) {
- Map.Entry entry = (Entry) iter.next();
- buffer.append(entry.getKey());
- buffer.append(entry.getValue());
- buffer.append('|');
- }
- Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_SELECTIONS, buffer.toString(), null);
- }
-
- /**
- * Loads the collection of known structures identifiers from the preference store
- */
- private void loadStructureTypeIds() {
- fStructureTypeIds= new ArrayList();
- // Types are stored as a comma-separated, ordered list.
- String types= Platform.getPreferencesService().getString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_IDS, IInternalDebugCoreConstants.EMPTY_STRING, null);
- StringTokenizer tokenizer= new StringTokenizer(types, ","); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens()) {
- String id= tokenizer.nextToken();
- if (id.length() > 0) {
- fStructureTypeIds.add(id);
- }
- }
- }
-
- /**
- * Stores the collection of known structure identifiers to the preference store
- */
- private void storeStructureTypeIds() {
- StringBuffer buffer= new StringBuffer();
- Iterator iter = fStructureTypeIds.iterator();
- while (iter.hasNext()) {
- buffer.append(iter.next()).append(',');
- }
- Preferences.setString(DebugPlugin.getUniqueIdentifier(), PREF_STRUCTURE_IDS, buffer.toString(), null);
- }
-
- /**
- * Returns the structure that the user has chosen from among the given
- * collection of structures or <code>null</code> if the user has chosen
- * to display none.
- * @param structureTypes the collection of structures available
- * @return the structure that the user has chosen from among the given collection
- * or <code>null</code> if the user has chosen to display none
- */
- public ILogicalStructureType getSelectedStructureType(ILogicalStructureType[] structureTypes) {
- if (structureTypes.length == 0) {
- return null;
- }
- String combo= getComboString(structureTypes);
- // Lookup the combo
- Integer index = (Integer) fStructureTypeSelections.get(combo);
- if (index == null) {
- // If the user hasn't explicitly chosen anything for this
- // combo yet, just return the first type.
- return structureTypes[0];
- } else if (index.intValue() == -1) {
- // An index of -1 means the user has deselected all structures for this combo
- return null;
- }
- // If an index is stored for this combo, retrieve the id at the index
- String id= (String) fStructureTypeIds.get(index.intValue());
- for (int i = 0; i < structureTypes.length; i++) {
- // Return the type with the retrieved id
- ILogicalStructureType type = structureTypes[i];
- if (type.getId().equals(id)) {
- return type;
- }
- }
- return structureTypes[0];
- }
-
- /**
- *
- * @param types
- * @param selected the type that is selected for the given combo or <code>null</code>
- * if the user has deselected any structure for the given combo
- */
- public void setEnabledType(ILogicalStructureType[] types, ILogicalStructureType selected) {
- String combo= getComboString(types);
- int index= -1; // Initialize to "none selected"
- if (selected != null) {
- index= fStructureTypeIds.indexOf(selected.getId());
- }
- Integer integer= new Integer(index);
- fStructureTypeSelections.put(combo, integer);
- storeStructureTypeSelections();
- storeStructureTypeIds();
- }
-
- /**
- * Returns the string representing the given combination of logical
- * structure types. This string will be a series of comma-separated
- * indeces representing the various types. If any of the given types
- * don't have indeces associated with them, this method will create
- * the appropriate index.
- * @param types the logical structure types
- * @return the string representing the given combination of logical
- * structure types
- */
- protected String getComboString(ILogicalStructureType[] types) {
- StringBuffer comboKey= new StringBuffer();
- for (int i = 0; i < types.length; i++) {
- ILogicalStructureType type = types[i];
- int typeIndex = fStructureTypeIds.indexOf(type.getId());
- if (typeIndex == -1) {
- typeIndex= fStructureTypeIds.size();
- fStructureTypeIds.add(type.getId());
- }
- comboKey.append(typeIndex).append(',');
- }
- return comboKey.toString();
- }
-
- private synchronized void initialize() {
- if (fTypes == null) {
- //get the logical structure types from the extension points
- IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_TYPES);
- IConfigurationElement[] extensions = point.getConfigurationElements();
- fTypes = new ArrayList(extensions.length);
- for (int i = 0; i < extensions.length; i++) {
- IConfigurationElement extension = extensions[i];
- LogicalStructureType type;
- try {
- type = new LogicalStructureType(extension);
- fTypes.add(type);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- // get the logical structure providers from the extension point
- point= Platform.getExtensionRegistry().getExtensionPoint(DebugPlugin.getUniqueIdentifier(), DebugPlugin.EXTENSION_POINT_LOGICAL_STRUCTURE_PROVIDERS);
- extensions= point.getConfigurationElements();
- fTypeProviders= new ArrayList(extensions.length);
- for (int i= 0; i < extensions.length; i++) {
- try {
- fTypeProviders.add(new LogicalStructureProvider(extensions[i]));
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- }
- if (fStructureTypeSelections == null) {
- loadStructureTypeSelections();
- }
- if (fStructureTypeIds == null) {
- loadStructureTypeIds();
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
deleted file mode 100644
index 6aea4bea8..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureProvider.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILogicalStructureProvider;
-import org.eclipse.debug.core.ILogicalStructureType;
-import org.eclipse.debug.core.model.IValue;
-
-/**
- * Manage logical structure provider extensions
- *
- * @see IConfigurationElementConstants
- */
-public class LogicalStructureProvider {
-
- private IConfigurationElement fConfigurationElement;
-
- private String fModelIdentifier;
-
- private ILogicalStructureProvider fDelegate;
-
- public LogicalStructureProvider(IConfigurationElement element) throws CoreException {
- fConfigurationElement= element;
- fModelIdentifier= fConfigurationElement.getAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER);
- if (fModelIdentifier == null) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LogicalStructureProvider_0, null));
- }
- String className= fConfigurationElement.getAttribute(IConfigurationElementConstants.CLASS);
- if (className == null) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, DebugCoreMessages.LogicalStructureProvider_1, null));
- }
- }
-
- /**
- * Return the logical structure type able to provide a logical structure for
- * the given value.
- *
- * @param value value for which structure types are requested
- * @return logical structure types
- */
- public ILogicalStructureType[] getLogicalStructures(IValue value) {
- if (fModelIdentifier.equals(value.getModelIdentifier())) {
- return getDelegate().getLogicalStructureTypes(value);
- }
- return new ILogicalStructureType[0];
- }
-
- /**
- * Return the ILogicalStructureProvider for this extension.
- */
- protected ILogicalStructureProvider getDelegate() {
- if (fDelegate == null) {
- try {
- fDelegate = (ILogicalStructureProvider) fConfigurationElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- return fDelegate;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
deleted file mode 100644
index 95633f5a6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/LogicalStructureType.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import com.ibm.icu.text.MessageFormat;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.*;
-import org.eclipse.debug.core.model.*;
-
-/**
- * Proxy to a logical structure type extension.
- *
- * @see IConfigurationElementConstants
- */
-public class LogicalStructureType implements ILogicalStructureType {
-
- private IConfigurationElement fConfigurationElement;
- private ILogicalStructureTypeDelegate fDelegate;
- private String fModelId;
- // whether the 'description' attribute has been verified to exist: it is only
- // required when the delegate does *not* implement ILogicalStructureTypeDelegate2.
- private boolean fVerifiedDescription = false;
-
- /**
- * Constructs a new logical structure type, and verifies required attributes.
- *
- * @param element configuration element
- * @exception CoreException if required attributes are missing
- */
- public LogicalStructureType(IConfigurationElement element) throws CoreException {
- fConfigurationElement = element;
- verifyAttributes();
- }
-
- /**
- * Verifies required attributes.
- *
- * @exception CoreException if required attributes are missing
- */
- private void verifyAttributes() throws CoreException {
- verifyAttributeExists(IConfigurationElementConstants.ID);
- verifyAttributeExists(IConfigurationElementConstants.CLASS);
- fModelId = fConfigurationElement.getAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER);
- if (fModelId == null) {
- missingAttribute(IConfigurationElementConstants.MODEL_IDENTIFIER);
- }
- }
-
- /**
- * Verifies the given attribute exists
- *
- * @exception CoreException if attribute does not exist
- */
- private void verifyAttributeExists(String name) throws CoreException {
- if (fConfigurationElement.getAttribute(name) == null) {
- missingAttribute(name);
- }
- }
-
- /**
- * Throws a new <code>CoreException</code> about the specified attribute being missing
- * @param attrName the name of the missing attribute
- * @throws CoreException
- */
- private void missingAttribute(String attrName) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, MessageFormat.format(DebugCoreMessages.LogicalStructureType_1, new String[]{attrName}), null));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.ILogicalStructureType#getDescription()
- */
- public String getDescription() {
- return fConfigurationElement.getAttribute(IConfigurationElementConstants.DESCRIPTION);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.ILogicalStructureType#getId()
- */
- public String getId() {
- return fConfigurationElement.getAttribute(IConfigurationElementConstants.ID);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.ILogicalStructureType#getLogicalStructure(org.eclipse.debug.core.model.IValue)
- */
- public IValue getLogicalStructure(IValue value) throws CoreException {
- return getDelegate().getLogicalStructure(value);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.ILogicalStructureType#providesLogicalStructure(org.eclipse.debug.core.model.IValue)
- */
- public boolean providesLogicalStructure(IValue value) {
- if (value.getModelIdentifier().equals(fModelId)) {
- return getDelegate().providesLogicalStructure(value);
- }
- return false;
- }
-
- /**
- * Returns the <code>ILogicalStructuresTypeDelegate</code> delegate
- * @return the delegate
- */
- protected ILogicalStructureTypeDelegate getDelegate() {
- if (fDelegate == null) {
- try {
- fDelegate = (ILogicalStructureTypeDelegate) fConfigurationElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- return fDelegate;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.ILogicalStructureTypeDelegate2#getDescription(org.eclipse.debug.core.model.IValue)
- */
- public String getDescription(IValue value) {
- ILogicalStructureTypeDelegate delegate = getDelegate();
- if (delegate instanceof ILogicalStructureTypeDelegate2) {
- ILogicalStructureTypeDelegate2 d2 = (ILogicalStructureTypeDelegate2) delegate;
- return d2.getDescription(value);
- }
- if (!fVerifiedDescription) {
- fVerifiedDescription = true;
- try {
- verifyAttributeExists(IConfigurationElementConstants.DESCRIPTION);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- }
- String description = getDescription();
- if (description == null) {
- return DebugCoreMessages.LogicalStructureType_0;
- }
- return description;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
deleted file mode 100644
index 25a381d84..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/MemoryBlockManager.java
+++ /dev/null
@@ -1,305 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * WindRiver - Bug 192028 [Memory View] Memory view does not
- * display memory blocks that do not reference IDebugTarget
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IDebugEventSetListener;
-import org.eclipse.debug.core.IMemoryBlockListener;
-import org.eclipse.debug.core.IMemoryBlockManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IMemoryBlock;
-import org.eclipse.debug.core.model.IMemoryBlockExtension;
-import org.eclipse.debug.core.model.IMemoryBlockRetrieval;
-
-
-/**
- * Implementation of IMemoryBlockManager
- * The manager is responsible to manage all memory blocks in the workbench.
- *
- * @since 3.1
- *
- */
-public class MemoryBlockManager implements IMemoryBlockManager, IDebugEventSetListener {
-
- private ArrayList listeners = new ArrayList(); // list of all IMemoryBlockListener
- private ArrayList memoryBlocks = new ArrayList(); // list of all memory blocks
-
- private static final int ADDED = 0;
- private static final int REMOVED = 1;
- /**
- * Notifies a memory block listener in a safe runnable to
- * handle exceptions.
- */
- class MemoryBlockNotifier implements ISafeRunnable {
-
- private IMemoryBlockListener fListener;
- private int fType;
- private IMemoryBlock[] fMemoryBlocks;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- DebugPlugin.log(exception);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- switch (fType) {
- case ADDED:
- fListener.memoryBlocksAdded(fMemoryBlocks);
- break;
- case REMOVED:
- fListener.memoryBlocksRemoved(fMemoryBlocks);
- break;
- }
- }
-
- /**
- * Notify listeners of added/removed memory block events
- *
- * @param memBlocks blocks that have changed
- * @param update type of change
- */
- public void notify(IMemoryBlock[] memBlocks, int update) {
- if (listeners != null) {
- fType = update;
- Object[] copiedListeners= listeners.toArray(new IMemoryBlockListener[listeners.size()]);
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IMemoryBlockListener)copiedListeners[i];
- fMemoryBlocks = memBlocks;
- SafeRunner.run(this);
- }
- }
- fListener = null;
- fMemoryBlocks = null;
- }
- }
-
- /**
- * Returns the <code>MemoryBlockNotifier</code>
- * @return the <code>MemoryBlockNotifier</code>
- *
- * TODO consider using only one of these, and sync where needed,
- * this way we are not creating a new every single time.
- */
- private MemoryBlockNotifier getMemoryBlockNotifier() {
- return new MemoryBlockNotifier();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#addMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
- */
- public void addMemoryBlocks(IMemoryBlock[] mem) {
- if (memoryBlocks == null) {
- return;
- }
- if (mem == null) {
- DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addMemoryBlock", null); //$NON-NLS-1$
- return;
- }
-
- if(mem.length > 0) {
- ArrayList newMemoryBlocks = new ArrayList();
- for (int i=0; i<mem.length; i++) {
- // do not allow duplicates
- if (!memoryBlocks.contains(mem[i])) {
- newMemoryBlocks.add(mem[i]);
- memoryBlocks.add(mem[i]);
- // add listener for the first memory block added
- if (memoryBlocks.size() == 1) {
- DebugPlugin.getDefault().addDebugEventListener(this);
- }
- }
- }
- notifyListeners((IMemoryBlock[])newMemoryBlocks.toArray(new IMemoryBlock[newMemoryBlocks.size()]), ADDED);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#removeMemoryBlock(org.eclipse.debug.core.model.IMemoryBlock)
- */
- public void removeMemoryBlocks(IMemoryBlock[] memBlocks) {
- if (memoryBlocks == null) {
- return;
- }
- if (memBlocks == null){
- DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeMemoryBlock", null); //$NON-NLS-1$
- return;
- }
-
- if(memBlocks.length > 0) {
- for (int i=0; i<memBlocks.length; i++) {
- memoryBlocks.remove(memBlocks[i]);
- // remove listener after the last memory block has been removed
- if (memoryBlocks.size() == 0) {
- DebugPlugin.getDefault().removeDebugEventListener(this);
- }
- if (memBlocks[i] instanceof IMemoryBlockExtension) {
- try {
- ((IMemoryBlockExtension)memBlocks[i]).dispose();
- } catch (DebugException e) {
- DebugPlugin.log(e);
- }
- }
- }
- notifyListeners(memBlocks, REMOVED);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#addListener(org.eclipse.debug.ui.IMemoryBlockListener)
- */
- public void addListener(IMemoryBlockListener listener) {
-
- if(listeners == null) {
- return;
- }
- if(listener == null) {
- DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.addListener", null); //$NON-NLS-1$
- return;
- }
- if (!listeners.contains(listener)) {
- listeners.add(listener);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#removeListener(org.eclipse.debug.ui.IMemoryBlockListener)
- */
- public void removeListener(IMemoryBlockListener listener) {
-
- if(listeners == null) {
- return;
- }
- if(listener == null) {
- DebugPlugin.logMessage("Null argument passed into IMemoryBlockManager.removeListener", null); //$NON-NLS-1$
- return;
- }
- if (listeners.contains(listener)) {
- listeners.remove(listener);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IMemoryBlockManager#getMemoryBlocks()
- */
- public IMemoryBlock[] getMemoryBlocks() {
- return (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IDebugTarget)
- */
- public IMemoryBlock[] getMemoryBlocks(IDebugTarget debugTarget) {
- IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
- ArrayList memoryBlocksList = new ArrayList();
- for (int i=0; i<blocks.length; i++) {
- if (blocks[i].getDebugTarget() == debugTarget) {
- memoryBlocksList.add(blocks[i]);
- }
- }
- return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.ui.IMemoryBlockManager#getMemoryBlocks(org.eclipse.debug.core.model.IMemoryBlockRetrieval)
- */
- public IMemoryBlock[] getMemoryBlocks(IMemoryBlockRetrieval retrieve) {
- IMemoryBlock[] blocks = (IMemoryBlock[])memoryBlocks.toArray(new IMemoryBlock[memoryBlocks.size()]);
- ArrayList memoryBlocksList = new ArrayList(blocks.length);
- for (int i=0; i<blocks.length; i++) {
- if (blocks[i] instanceof IMemoryBlockExtension) {
- if (((IMemoryBlockExtension)blocks[i]).getMemoryBlockRetrieval() == retrieve) {
- memoryBlocksList.add(blocks[i]);
- }
- }
- else {
- IMemoryBlockRetrieval mbRetrieval = (IMemoryBlockRetrieval)blocks[i].getAdapter(IMemoryBlockRetrieval.class);
-
- // standard memory block always uses the debug target as the memory block retrieval
- if (mbRetrieval == null)
- mbRetrieval = blocks[i].getDebugTarget();
-
- if (mbRetrieval == retrieve) {
- memoryBlocksList.add(blocks[i]);
- }
- }
- }
- return (IMemoryBlock[])memoryBlocksList.toArray(new IMemoryBlock[memoryBlocksList.size()]);
- }
-
- /**
- * Notifies the listeners about the given memory blocks and the event to be sent
- * @param memBlocks
- * @param event
- */
- private void notifyListeners(IMemoryBlock[] memBlocks, int event) {
- getMemoryBlockNotifier().notify(memBlocks, event);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IDebugEventSetListener#handleDebugEvents(org.eclipse.debug.core.DebugEvent[])
- */
- public void handleDebugEvents(DebugEvent[] events) {
- for (int i=0; i < events.length; i++) {
- handleDebugEvent(events[i]);
- }
- }
-
- /**
- * Handles a debug event
- * @param event
- */
- public void handleDebugEvent(DebugEvent event) {
- Object obj = event.getSource();
- IDebugTarget dt = null;
-
- if (event.getKind() == DebugEvent.TERMINATE) {
- // a terminate event could happen from an IThread or IDebugTarget
- // only handle a debug event from the debug target
- if (obj instanceof IDebugTarget) {
- dt = ((IDebugTarget)obj);
-
- // getMemoryBlocks will return an empty array if it is null
- IMemoryBlock[] deletedMemoryBlocks = getMemoryBlocks(dt);
- removeMemoryBlocks(deletedMemoryBlocks);
- }
- }
- }
-
- /**
- * Clean up when the plugin is shut down
- */
- public void shutdown() {
- if (listeners != null) {
- listeners.clear();
- listeners = null;
- }
-
- if (memoryBlocks != null) {
- memoryBlocks.clear();
- memoryBlocks = null;
- }
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
deleted file mode 100644
index 5d0dab378..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/NullStreamsProxy.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-public class NullStreamsProxy implements IStreamsProxy2 {
- private NullStreamMonitor outputStreamMonitor;
- private NullStreamMonitor errorStreamMonitor;
-
- public NullStreamsProxy(Process process) {
- outputStreamMonitor = new NullStreamMonitor(process.getInputStream());
- errorStreamMonitor = new NullStreamMonitor(process.getErrorStream());
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
- */
- public void closeInputStream() throws IOException {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamsProxy#getErrorStreamMonitor()
- */
- public IStreamMonitor getErrorStreamMonitor() {
- return errorStreamMonitor;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamsProxy#getOutputStreamMonitor()
- */
- public IStreamMonitor getOutputStreamMonitor() {
- return outputStreamMonitor;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamsProxy#write(java.lang.String)
- */
- public void write(String input) throws IOException {
- }
-
- private class NullStreamMonitor implements IStreamMonitor {
- private InputStream fStream;
-
- public NullStreamMonitor(InputStream stream) {
- fStream = stream;
- startReaderThread();
- }
-
- private void startReaderThread() {
- Thread thread = new Thread(new Runnable() {
- public void run() {
- byte[] bytes = new byte[1024];
- try {
- while(fStream.read(bytes) >= 0) {
- //do nothing
- }
- } catch (IOException e) {
- }
- }
- }, DebugCoreMessages.NullStreamsProxy_0);
- thread.setDaemon(true);
- thread.start();
-
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
- */
- public void addListener(IStreamListener listener) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
- */
- public String getContents() {
- return ""; //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
- */
- public void removeListener(IStreamListener listener) {
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
deleted file mode 100644
index c5fa6dae0..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ /dev/null
@@ -1,273 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.ISafeRunnable;
-import org.eclipse.core.runtime.ListenerList;
-import org.eclipse.core.runtime.SafeRunner;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.IStreamListener;
-import org.eclipse.debug.core.model.IFlushableStreamMonitor;
-
-/**
- * Monitors the output stream of a system process and notifies
- * listeners of additions to the stream.
- *
- * The output stream monitor reads system out (or err) via
- * and input stream.
- */
-public class OutputStreamMonitor implements IFlushableStreamMonitor {
- /**
- * The stream being monitored (connected system out or err).
- */
- private InputStream fStream;
-
- /**
- * A collection of listeners
- */
- private ListenerList fListeners= new ListenerList();
-
- /**
- * Whether content is being buffered
- */
- private boolean fBuffered = true;
-
- /**
- * The local copy of the stream contents
- */
- private StringBuffer fContents;
-
- /**
- * The thread which reads from the stream
- */
- private Thread fThread;
-
- /**
- * The size of the read buffer
- */
- private static final int BUFFER_SIZE= 8192;
-
- /**
- * Whether or not this monitor has been killed.
- * When the monitor is killed, it stops reading
- * from the stream immediately.
- */
- private boolean fKilled= false;
-
- private long lastSleep;
-
- private String fEncoding;
-
- /**
- * Creates an output stream monitor on the
- * given stream (connected to system out or err).
- *
- * @param stream input stream to read from
- * @param encoding stream encoding or <code>null</code> for system default
- */
- public OutputStreamMonitor(InputStream stream, String encoding) {
- fStream = new BufferedInputStream(stream, 8192);
- fEncoding = encoding;
- fContents= new StringBuffer();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
- */
- public synchronized void addListener(IStreamListener listener) {
- fListeners.add(listener);
- }
-
- /**
- * Causes the monitor to close all
- * communications between it and the
- * underlying stream by waiting for the thread to terminate.
- */
- protected void close() {
- if (fThread != null) {
- Thread thread= fThread;
- fThread= null;
- try {
- thread.join();
- } catch (InterruptedException ie) {
- }
- fListeners = new ListenerList();
- }
- }
-
- /**
- * Notifies the listeners that text has
- * been appended to the stream.
- */
- private void fireStreamAppended(String text) {
- getNotifier().notifyAppend(text);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#getContents()
- */
- public synchronized String getContents() {
- return fContents.toString();
- }
-
- /**
- * Continually reads from the stream.
- * <p>
- * This method, along with the <code>startReading</code>
- * method is used to allow <code>OutputStreamMonitor</code>
- * to implement <code>Runnable</code> without publicly
- * exposing a <code>run</code> method.
- */
- private void read() {
- lastSleep = System.currentTimeMillis();
- long currentTime = lastSleep;
- byte[] bytes= new byte[BUFFER_SIZE];
- int read = 0;
- while (read >= 0) {
- try {
- if (fKilled) {
- break;
- }
- read= fStream.read(bytes);
- if (read > 0) {
- String text;
- if (fEncoding != null) {
- text = new String(bytes, 0, read, fEncoding);
- } else {
- text = new String(bytes, 0, read);
- }
- synchronized (this) {
- if (isBuffered()) {
- fContents.append(text);
- }
- fireStreamAppended(text);
- }
- }
- } catch (IOException ioe) {
- if (!fKilled) {
- DebugPlugin.log(ioe);
- }
- return;
- } catch (NullPointerException e) {
- // killing the stream monitor while reading can cause an NPE
- // when reading from the stream
- if (!fKilled && fThread != null) {
- DebugPlugin.log(e);
- }
- return;
- }
-
- currentTime = System.currentTimeMillis();
- if (currentTime - lastSleep > 1000) {
- lastSleep = currentTime;
- try {
- Thread.sleep(1); // just give up CPU to maintain UI responsiveness.
- } catch (InterruptedException e) {
- }
- }
- }
- try {
- fStream.close();
- } catch (IOException e) {
- DebugPlugin.log(e);
- }
- }
-
- protected void kill() {
- fKilled= true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
- */
- public synchronized void removeListener(IStreamListener listener) {
- fListeners.remove(listener);
- }
-
- /**
- * Starts a thread which reads from the stream
- */
- protected void startMonitoring() {
- if (fThread == null) {
- fThread= new Thread(new Runnable() {
- public void run() {
- read();
- }
- }, DebugCoreMessages.OutputStreamMonitor_label);
- fThread.setDaemon(true);
- fThread.setPriority(Thread.MIN_PRIORITY);
- fThread.start();
- }
- }
-
- /**
- * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#setBuffered(boolean)
- */
- public synchronized void setBuffered(boolean buffer) {
- fBuffered = buffer;
- }
-
- /**
- * @see org.eclipse.debug.core.model.IFlushableStreamMonitor#flushContents()
- */
- public synchronized void flushContents() {
- fContents.setLength(0);
- }
-
- /**
- * @see IFlushableStreamMonitor#isBuffered()
- */
- public synchronized boolean isBuffered() {
- return fBuffered;
- }
-
- private ContentNotifier getNotifier() {
- return new ContentNotifier();
- }
-
- class ContentNotifier implements ISafeRunnable {
-
- private IStreamListener fListener;
- private String fText;
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#handleException(java.lang.Throwable)
- */
- public void handleException(Throwable exception) {
- DebugPlugin.log(exception);
- }
-
- /**
- * @see org.eclipse.core.runtime.ISafeRunnable#run()
- */
- public void run() throws Exception {
- fListener.streamAppended(fText, OutputStreamMonitor.this);
- }
-
- public void notifyAppend(String text) {
- if (text == null)
- return;
- fText = text;
- Object[] copiedListeners= fListeners.getListeners();
- for (int i= 0; i < copiedListeners.length; i++) {
- fListener = (IStreamListener) copiedListeners[i];
- SafeRunner.run(this);
- }
- fListener = null;
- fText = null;
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java
deleted file mode 100644
index 3268363bf..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/Preferences.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IScopeContext;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.debug.core.DebugPlugin;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Convenience class to facilitate using the new {@link IEclipsePreferences} story
- *
- * @since 3.6
- * @noinstantiate This class is not intended to be instantiated by clients.
- */
-public final class Preferences {
-
- static final IScopeContext[] contexts = new IScopeContext[] {new DefaultScope(), new InstanceScope()};
-
- static final int DEFAULT_CONTEXT = 0;
- static final int INSTANCE_CONTEXT = 1;
-
- /**
- * Constructor
- */
- private Preferences() {
- // no direct instantiation
- }
-
- /**
- * Sets a string preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setString(String qualifier, String key, String value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.put(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).put(key, value);
- }
- }
-
- /**
- * Sets a boolean preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setBoolean(String qualifier, String key, boolean value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putBoolean(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putBoolean(key, value);
- }
- }
-
- /**
- * Sets a integer preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setInt(String qualifier, String key, int value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putInt(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putInt(key, value);
- }
- }
-
- /**
- * Sets a long preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setLong(String qualifier, String key, long value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putLong(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putLong(key, value);
- }
- }
-
- /**
- * Sets a byte array preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setByteArray(String qualifier, String key, byte[] value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putByteArray(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putByteArray(key, value);
- }
- }
-
- /**
- * Sets a double preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setDouble(String qualifier, String key, double value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putDouble(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putDouble(key, value);
- }
- }
-
- /**
- * Sets a float preference in the {@link InstanceScope} or the given {@link IScopeContext} if it
- * is not <code>null</code>. Preferences set in a given context are flushed as they are set.
- * @param qualifier
- * @param key the key
- * @param value the value
- * @param context
- */
- public static synchronized void setFloat(String qualifier, String key, float value, IScopeContext context) {
- if(context != null) {
- try {
- IEclipsePreferences node = context.getNode(qualifier);
- node.putFloat(key, value);
- node.flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
- else {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).putFloat(key, value);
- }
- }
-
- /**
- * Sets a string in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultString(String qualifier, String key, String value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).put(key, value);
- }
-
- /**
- * Sets a boolean in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultBoolean(String qualifier, String key, boolean value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putBoolean(key, value);
- }
-
- /**
- * Sets a byte array in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultByteArray(String qualifier, String key, byte[] value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putByteArray(key, value);
- }
-
- /**
- * Sets a double in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultDouble(String qualifier, String key, double value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putDouble(key, value);
- }
-
- /**
- * Sets a float in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultFloat(String qualifier, String key, float value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putFloat(key, value);
- }
-
- /**
- * Sets a integer in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultInt(String qualifier, String key, int value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putInt(key, value);
- }
-
- /**
- * Sets a long in the {@link DefaultScope}
- * @param qualifier
- * @param key the key
- * @param value the new value
- */
- public static synchronized void setDefaultLong(String qualifier, String key, long value) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).putLong(key, value);
- }
-
- /**
- * Sets the given preference to its default value. This is done by removing any set value
- * from the {@link InstanceScope}. Has no effect if the given key is <code>null</code>.
- * @param qualifier
- * @param key the key for the preference
- */
- public static synchronized void setToDefault(String qualifier, String key) {
- if(key != null) {
- contexts[INSTANCE_CONTEXT].getNode(qualifier).remove(key);
- }
- }
-
- /**
- * Returns the default boolean value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the boolean value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized boolean getDefaultBoolean(String qualifier, String key, boolean defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getBoolean(key, defaultvalue);
- }
-
- /**
- * Returns the default string value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the string value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized String getDefaultString(String qualifier, String key, String defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).get(key, defaultvalue);
- }
-
- /**
- * Returns the default byte array value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the byte array value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized byte[] getDefaultByteArray(String qualifier, String key, byte[] defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getByteArray(key, defaultvalue);
- }
-
- /**
- * Returns the default integer value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the integer value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized int getDefaultInt(String qualifier, String key, int defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getInt(key, defaultvalue);
- }
-
- /**
- * Returns the default long value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the long value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized long getDefaultLong(String qualifier, String key, long defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getLong(key, defaultvalue);
- }
-
- /**
- * Returns the default double value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the double value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized double getDefaultDouble(String qualifier, String key, double defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getDouble(key, defaultvalue);
- }
-
- /**
- * Returns the default float value stored in the {@link DefaultScope} for the given key
- * or the specified default value if the key does not appear in the {@link DefaultScope}
- * @param qualifier
- * @param key
- * @param defaultvalue
- *
- * @return the float value set in the {@link DefaultScope} for the given key, or the specified default value.
- */
- public static synchronized float getDefaultFloat(String qualifier, String key, float defaultvalue) {
- return contexts[DEFAULT_CONTEXT].getNode(qualifier).getFloat(key, defaultvalue);
- }
-
- /**
- * Save the preferences for the given plugin identifier.
- * It should be noted that all pending preference changes will be flushed with this method.
- * @param qualifier
- */
- public static synchronized void savePreferences(String qualifier) {
- try {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).flush();
- contexts[INSTANCE_CONTEXT].getNode(qualifier).flush();
- }
- catch(BackingStoreException bse) {
- DebugPlugin.log(bse);
- }
- }
-
- /**
- * Adds the given preference listener to the {@link DefaultScope} and the {@link InstanceScope}
- * @param qualifier
- * @param listener
- */
- public static void addPreferenceListener(String qualifier, IEclipsePreferences.IPreferenceChangeListener listener) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
- contexts[INSTANCE_CONTEXT].getNode(qualifier).addPreferenceChangeListener(listener);
- }
-
- /**
- * Removes the given preference listener from the {@link DefaultScope} and the {@link InstanceScope}
- * @param qualifier
- * @param listener
- */
- public static void removePreferenceListener(String qualifier, IEclipsePreferences.IPreferenceChangeListener listener) {
- contexts[DEFAULT_CONTEXT].getNode(qualifier).removePreferenceChangeListener(listener);
- contexts[INSTANCE_CONTEXT].getNode(qualifier).removePreferenceChangeListener(listener);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java
deleted file mode 100644
index b75ced816..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/PreferredDelegateModifyListener.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.preferences.IEclipsePreferences;
-import org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor;
-import org.eclipse.core.runtime.preferences.PreferenceModifyListener;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfigurationType;
-import org.osgi.service.prefs.BackingStoreException;
-
-/**
- * Used to listen for preference imports that include changes to
- * preferred launch delegates.
- *
- * @since 3.6
- */
-public class PreferredDelegateModifyListener extends PreferenceModifyListener {
- class Visitor implements IPreferenceNodeVisitor {
-
- public boolean visit(IEclipsePreferences node) throws BackingStoreException {
- if (node.name().equals(DebugPlugin.getUniqueIdentifier())) {
- // reset preferred delegates, so they are re-initialized from the preferences
- LaunchManager manager = (LaunchManager)DebugPlugin.getDefault().getLaunchManager();
- manager.resetPreferredDelegates();
- ILaunchConfigurationType[] types = manager.getLaunchConfigurationTypes();
- for (int i = 0; i < types.length; i++) {
- ((LaunchConfigurationType) types[i]).resetPreferredDelegates();
- }
- return false;
- }
- return true;
- }
-
- }
-
- public IEclipsePreferences preApply(IEclipsePreferences node) {
- try {
- // force VMs to be initialized before we import the new VMs
- node.accept(new Visitor());
- } catch (BackingStoreException e) {
- DebugPlugin.log(e);
- }
- return node;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RefreshScopeComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RefreshScopeComparator.java
deleted file mode 100644
index 4a3ef6a51..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/RefreshScopeComparator.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.util.Comparator;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.RefreshUtil;
-
-/**
- * Compares refresh scope attributes as the format has changed from a working
- * set memento to an XML memento of resource paths. Avoids migrating attribute
- * to new format until something else in the configuration changes.
- *
- * @since 3.6
- */
-public class RefreshScopeComparator implements Comparator {
-
- public int compare(Object o1, Object o2) {
- String m1 = (String) o1;
- String m2 = (String) o2;
- try {
- IResource[] r1 = RefreshUtil.toResources(m1);
- IResource[] r2 = RefreshUtil.toResources(m2);
- if (r1.length == r2.length) {
- for (int i = 0; i < r2.length; i++) {
- if (!r1[i].equals(r2[i])) {
- return -1;
- }
- }
- return 0;
- }
- } catch (CoreException e) {
- return -1;
- }
- return -1;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java
deleted file mode 100644
index 789cdd96a..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/ResourceFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.Path;
-
-/**
- * The ResourceFactory is used to save and recreate an IResource object.
- * As such, it implements the IPersistableElement interface for storage
- * and the IElementFactory interface for recreation.
- */
-public class ResourceFactory {
-
- // These persistence constants are stored in XML. Do not
- // change them.
- public static final String TAG_PATH = "path";//$NON-NLS-1$
-
- public static final String TAG_TYPE = "type";//$NON-NLS-1$
-
- /**
- * Creates and returns an element based on the given memento
- *
- * @param memento element memento
- * @return associated element
- */
- public static IAdaptable createElement(XMLMemento memento) {
- // Get the file name.
- String fileName = memento.getString(TAG_PATH);
- if (fileName == null) {
- return null;
- }
-
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- String type = memento.getString(TAG_TYPE);
- IResource res = null;
- if (type == null) {
- // Old format memento. Create an IResource using findMember.
- // Will return null for resources in closed projects.
- res = root.findMember(new Path(fileName));
- } else {
- int resourceType = Integer.parseInt(type);
-
- if (resourceType == IResource.ROOT) {
- res = root;
- } else if (resourceType == IResource.PROJECT) {
- res = root.getProject(fileName);
- } else if (resourceType == IResource.FOLDER) {
- res = root.getFolder(new Path(fileName));
- } else if (resourceType == IResource.FILE) {
- res = root.getFile(new Path(fileName));
- }
- }
- return res;
- }
-
- public static void saveState(XMLMemento memento, IResource res) {
- memento.putString(TAG_PATH, res.getFullPath().toString());
- memento.putString(TAG_TYPE, Integer.toString(res.getType()));
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java
deleted file mode 100644
index 1ceb5bfc4..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StepFilterManager.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchListener;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.internal.core.commands.DebugCommandRequest;
-
-/**
- * As targets are launched, this manager sets its step filter
- * support settings according to the "use step filter" setting.
- *
- * @since 3.0
- */
-public class StepFilterManager implements ILaunchListener {
-
- public static final String PREF_USE_STEP_FILTERS = DebugPlugin.getUniqueIdentifier() + ".USE_STEP_FILTERS"; //$NON-NLS-1$
-
- /**
- * The step filter manager is instantiated by the debug UI plug-in,
- * and should be accessed from the <code>DebugUIPlugin</code> class.
- */
- protected StepFilterManager() {
- DebugPlugin.getDefault().getLaunchManager().addLaunchListener(this);
- }
-
- /**
- * This method is called by the debug UI plug-in at shutdown.
- */
- public void shutdown() {
- DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(this);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchAdded(org.eclipse.debug.core.ILaunch)
- */
- public void launchAdded(ILaunch launch) {
- launchChanged(launch);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchChanged(org.eclipse.debug.core.ILaunch)
- */
- public void launchChanged(ILaunch launch) {
- IStepFiltersHandler command = (IStepFiltersHandler)launch.getAdapter(IStepFiltersHandler.class);
- if (command != null) {
- command.execute(new DebugCommandRequest(new Object[]{launch}));
- }
- }
-
- /**
- * Returns whether the 'use step filters' preference is on.
- *
- * @return whether to use step filters
- */
- public boolean isUseStepFilters() {
- return Platform.getPreferencesService().getBoolean(DebugPlugin.getUniqueIdentifier(), PREF_USE_STEP_FILTERS, false, null);
- }
-
- /**
- * Sets whether to use step filters.
- *
- * @param useFilters whether to use step filters
- */
- public void setUseStepFilters(boolean useFilters) {
- Preferences.setBoolean(DebugPlugin.getUniqueIdentifier(), PREF_USE_STEP_FILTERS, useFilters, null);
- ILaunch[] launchs = DebugPlugin.getDefault().getLaunchManager().getLaunches();
- for (int i = 0; i < launchs.length; i++) {
- ILaunch launch = launchs[i];
- launchChanged(launch);
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchListener#launchRemoved(org.eclipse.debug.core.ILaunch)
- */
- public void launchRemoved(ILaunch launch) {}
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
deleted file mode 100644
index 0bae93602..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/StreamsProxy.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-
-import org.eclipse.debug.core.model.IStreamMonitor;
-import org.eclipse.debug.core.model.IStreamsProxy;
-import org.eclipse.debug.core.model.IStreamsProxy2;
-
-/**
- * Standard implementation of a streams proxy for IStreamsProxy.
- */
-
-public class StreamsProxy implements IStreamsProxy, IStreamsProxy2 {
- /**
- * The monitor for the output stream (connected to standard out of the process)
- */
- private OutputStreamMonitor fOutputMonitor;
- /**
- * The monitor for the error stream (connected to standard error of the process)
- */
- private OutputStreamMonitor fErrorMonitor;
- /**
- * The monitor for the input stream (connected to standard in of the process)
- */
- private InputStreamMonitor fInputMonitor;
- /**
- * Records the open/closed state of communications with
- * the underlying streams. Note: fClosed is initialized to
- * <code>false</code> by default.
- */
- private boolean fClosed;
- /**
- * Creates a <code>StreamsProxy</code> on the streams
- * of the given system process.
- *
- * @param process system process to create a streams proxy on
- * @param encoding the process's encoding or <code>null</code> if default
- */
- public StreamsProxy(Process process, String encoding) {
- if (process == null) {
- return;
- }
- fOutputMonitor= new OutputStreamMonitor(process.getInputStream(), encoding);
- fErrorMonitor= new OutputStreamMonitor(process.getErrorStream(), encoding);
- fInputMonitor= new InputStreamMonitor(process.getOutputStream(), encoding);
- fOutputMonitor.startMonitoring();
- fErrorMonitor.startMonitoring();
- fInputMonitor.startMonitoring();
- }
-
- /**
- * Causes the proxy to close all
- * communications between it and the
- * underlying streams after all remaining data
- * in the streams is read.
- */
- public void close() {
- if (!isClosed(true)) {
- fOutputMonitor.close();
- fErrorMonitor.close();
- fInputMonitor.close();
- }
- }
-
- /**
- * Returns whether the proxy is currently closed. This method
- * synchronizes access to the <code>fClosed</code> flag.
- *
- * @param setClosed If <code>true</code> this method will also set the
- * <code>fClosed</code> flag to true. Otherwise, the <code>fClosed</code>
- * flag is not modified.
- * @return Returns whether the stream proxy was already closed.
- */
- private synchronized boolean isClosed(boolean setClosed) {
- boolean closed = fClosed;
- if (setClosed) {
- fClosed = true;
- }
- return closed;
- }
-
- /**
- * Causes the proxy to close all
- * communications between it and the
- * underlying streams immediately.
- * Data remaining in the streams is lost.
- */
- public void kill() {
- synchronized (this) {
- fClosed= true;
- }
- fOutputMonitor.kill();
- fErrorMonitor.kill();
- fInputMonitor.close();
- }
-
- /**
- * @see IStreamsProxy#getErrorStreamMonitor()
- */
- public IStreamMonitor getErrorStreamMonitor() {
- return fErrorMonitor;
- }
-
- /**
- * @see IStreamsProxy#getOutputStreamMonitor()
- */
- public IStreamMonitor getOutputStreamMonitor() {
- return fOutputMonitor;
- }
-
- /**
- * @see IStreamsProxy#write(String)
- */
- public void write(String input) throws IOException {
- if (!isClosed(false)) {
- fInputMonitor.write(input);
- } else {
- throw new IOException();
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IStreamsProxy2#closeInputStream()
- */
- public void closeInputStream() throws IOException {
- if (!isClosed(false)) {
- fInputMonitor.closeInputStream();
- } else {
- throw new IOException();
- }
-
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java
deleted file mode 100644
index 01c5d19d5..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemPropertyResolver.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.debug.core.DebugPlugin;
-
-/**
- * Resolves the value of system properties from the Eclipse SDK runtime.
- */
-public class SystemPropertyResolver implements IDynamicVariableResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
- if (argument == null) {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), IStatus.ERROR, DebugCoreMessages.SystemPropertyResolver_0, null));
- }
- return System.getProperty(argument);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
deleted file mode 100644
index da4d5e543..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/SystemVariableResolver.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-
-/**
- * Resolves common system variables. The current set of variables
- * supported (referenced as an argument to this variable) are:
- * <ul>
- * <li>ARCH - value of <code>BootLoader.getOSArch()</code></li>
- * <li>ECLIPSE_HOME - location of the Eclipse installation</li>
- * <li>NL - value of <code>BootLoader.getNL()</code></li>
- * <li>OS - value of <code>BootLoader.getOS()</code></li>
- * <li>WS - value of <code>BootLoader.getWS()</code></li>
- * </ul>
- * @since 3.0
- */
-public class SystemVariableResolver implements IDynamicVariableResolver {
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
- if ("ARCH".equals(argument)) { //$NON-NLS-1$
- return Platform.getOSArch();
- } else if ("ECLIPSE_HOME".equals(argument)) { //$NON-NLS-1$
- URL installURL = Platform.getInstallLocation().getURL();
- IPath ppath = new Path(installURL.getFile()).removeTrailingSeparator();
- return getCorrectPath(ppath.toOSString());
- } else if ("NL".equals(argument)) { //$NON-NLS-1$
- return Platform.getNL();
- } else if ("OS".equals(argument)) { //$NON-NLS-1$
- return Platform.getOS();
- } else if ("WS".equals(argument)) { //$NON-NLS-1$
- return Platform.getWS();
- }
- return null;
- }
-
- private static String getCorrectPath(String path) {
- StringBuffer buf = new StringBuffer();
- for (int i = 0; i < path.length(); i++) {
- char c = path.charAt(i);
- if (Platform.getOS().equals("win32")) { //$NON-NLS-1$
- if (i == 0 && c == '/')
- continue;
- }
- // Some VMs may return %20 instead of a space
- if (c == '%' && i + 2 < path.length()) {
- char c1 = path.charAt(i + 1);
- char c2 = path.charAt(i + 2);
- if (c1 == '2' && c2 == '0') {
- i += 2;
- buf.append(" "); //$NON-NLS-1$
- continue;
- }
- }
- buf.append(c);
- }
- return buf.toString();
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
deleted file mode 100644
index ed51fc9e6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/WatchExpression.java
+++ /dev/null
@@ -1,295 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.debug.core.DebugEvent;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IValue;
-import org.eclipse.debug.core.model.IWatchExpression;
-import org.eclipse.debug.core.model.IWatchExpressionDelegate;
-import org.eclipse.debug.core.model.IWatchExpressionListener;
-import org.eclipse.debug.core.model.IWatchExpressionResult;
-
-/**
- * Base watch expression implementation.
- *
- * @since 3.0
- */
-public class WatchExpression implements IWatchExpression {
-
- protected String fExpressionText;
- protected IWatchExpressionResult fResult;
- protected IDebugElement fCurrentContext;
- private boolean fEnabled= true;
- private boolean fPending= false;
-
- /**
- * Creates a new watch expression with the given expression
- * text.
- * @param expression the text of the expression to be evaluated.
- */
- public WatchExpression(String expression) {
- fExpressionText= expression;
- }
-
- /**
- * Creates a new watch expression with the given expression
- * and the given enablement;
- *
- * @param expressionText the text of the expression to be evaluated
- * @param enabled whether or not the new expression should be enabled
- */
- public WatchExpression(String expressionText, boolean enabled) {
- this(expressionText);
- fEnabled= enabled;
- }
-
- /**
- * @see org.eclipse.debug.core.model.IWatchExpression#evaluate()
- */
- public void evaluate() {
- IDebugElement context= fCurrentContext;
- if (context == null) {
- return;
- }
-
- IWatchExpressionListener listener= new IWatchExpressionListener() {
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IWatchExpressionListener#watchEvaluationFinished(org.eclipse.debug.core.model.IWatchExpressionResult)
- */
- public void watchEvaluationFinished(IWatchExpressionResult result) {
- setResult(result);
- }
- };
- setPending(true);
- IWatchExpressionDelegate delegate= DebugPlugin.getDefault().getExpressionManager().newWatchExpressionDelegate(context.getModelIdentifier());
- if (delegate != null) {
- delegate.evaluateExpression(getExpressionText(), context, listener);
- } else {
- // No delegate provided
- listener.watchEvaluationFinished(new IWatchExpressionResult() {
- public IValue getValue() {
- return null;
- }
- public boolean hasErrors() {
- return true;
- }
- public String[] getErrorMessages() {
- return new String[] { DebugCoreMessages.WatchExpression_0 };
- }
- public String getExpressionText() {
- return WatchExpression.this.getExpressionText();
- }
- public DebugException getException() {
- return null;
- }
- });
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IWatchExpression#setExpressionContext(org.eclipse.debug.core.model.IDebugElement)
- */
- public void setExpressionContext(IDebugElement context) {
- synchronized (this) {
- fCurrentContext= context;
- }
- if (context == null) {
- setResult(null);
- return;
- }
- if (!isEnabled()) {
- return;
- }
-
- evaluate();
- }
-
- /**
- * Sets the result of the last expression and fires notification that
- * this expression's value has changed.
- *
- * @param result result of a watch expression
- */
- public void setResult(IWatchExpressionResult result) {
- synchronized (this) {
- fResult= result;
- fPending = false;
- }
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.STATE)); // pending state
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.CONTENT)); // value change
- }
-
- /**
- * Fires the given debug event
- * @param event
- */
- protected void fireEvent(DebugEvent event) {
- DebugPlugin.getDefault().fireDebugEventSet(new DebugEvent[] {event});
- }
-
- /**
- * Notifies the expression manager that this watch expression's
- * values have changed so the manager can update the
- * persisted expression.
- *
- * @param persist whether to persist the expression
- */
- private void watchExpressionChanged(boolean persist) {
- ((ExpressionManager)DebugPlugin.getDefault().getExpressionManager()).watchExpressionChanged(this, persist);
- }
-
- /**
- * @see org.eclipse.debug.core.model.IExpression#getExpressionText()
- */
- public String getExpressionText() {
- return fExpressionText;
- }
-
- /**
- * @see org.eclipse.debug.core.model.IExpression#getValue()
- */
- public synchronized IValue getValue() {
- if (fResult == null) {
- return null;
- }
- return fResult.getValue();
- }
-
- /**
- * @see org.eclipse.debug.core.model.IDebugElement#getDebugTarget()
- */
- public IDebugTarget getDebugTarget() {
- IDebugElement element = fCurrentContext;
- if (element != null) {
- return element.getDebugTarget();
- }
- return null;
- }
-
- /**
- * @see org.eclipse.debug.core.model.IExpression#dispose()
- */
- public void dispose() {
- }
-
- /**
- * @see org.eclipse.debug.core.model.IDebugElement#getModelIdentifier()
- */
- public String getModelIdentifier() {
- synchronized (this) {
- IValue value = getValue();
- if (value != null) {
- return value.getModelIdentifier();
- }
- if (fCurrentContext != null) {
- return fCurrentContext.getModelIdentifier();
- }
- }
- return DebugPlugin.getUniqueIdentifier();
- }
-
- /**
- * @see org.eclipse.debug.core.model.IDebugElement#getLaunch()
- */
- public ILaunch getLaunch() {
- IDebugTarget debugTarget = getDebugTarget();
- if (debugTarget != null) {
- return debugTarget.getLaunch();
- }
- return null;
- }
-
- /**
- * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
- */
- public Object getAdapter(Class adapter) {
- //CONTEXTLAUNCHING
- if(adapter.equals(ILaunchConfiguration.class)) {
- ILaunch launch = getLaunch();
- if(launch != null) {
- return launch.getLaunchConfiguration();
- }
- }
- return Platform.getAdapterManager().getAdapter(this, adapter);
- }
-
- /**
- * @param enabled
- */
- public void setEnabled(boolean enabled) {
- fEnabled= enabled;
- watchExpressionChanged(true);
- evaluate();
- }
-
- /**
- * @param expression
- */
- public void setExpressionText(String expression) {
- fExpressionText= expression;
- watchExpressionChanged(true);
- evaluate();
- }
-
- /**
- * @return Whether or not this watch expression is currently enabled.
- * Enabled watch expressions will continue to update their value
- * automatically. Disabled expressions require a manual update.
- */
- public boolean isEnabled() {
- return fEnabled;
- }
-
- /**
- * @see org.eclipse.debug.core.model.IWatchExpression#isPending()
- */
- public synchronized boolean isPending() {
- return fPending;
- }
-
- /**
- * Sets the pending state of this expression.
- *
- * @param pending whether or not this expression should be
- * flagged as pending
- */
- protected void setPending(boolean pending) {
- synchronized (this) {
- fPending= pending;
- }
- fireEvent(new DebugEvent(this, DebugEvent.CHANGE, DebugEvent.STATE));
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IErrorReportingExpression#hasErrors()
- */
- public boolean hasErrors() {
- return fResult != null && fResult.hasErrors();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.model.IErrorReportingExpression#getErrorMessages()
- */
- public String[] getErrorMessages() {
- if (fResult == null) {
- return new String[0];
- }
- return fResult.getErrorMessages();
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/XMLMemento.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/XMLMemento.java
deleted file mode 100644
index 6daf96598..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/XMLMemento.java
+++ /dev/null
@@ -1,599 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core;
-
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.Reader;
-import java.io.Writer;
-import java.util.ArrayList;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.debug.core.DebugPlugin;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-/**
- * An XML memento. Copied from workspace plug-in.
- */
-public final class XMLMemento {
- private Document factory;
-
- private Element element;
-
- /**
- * Creates a <code>Document</code> from the <code>Reader</code>
- * and returns a memento on the first <code>Element</code> for reading
- * the document.
- * <p>
- * Same as calling createReadRoot(reader, null)
- * </p>
- *
- * @param reader the <code>Reader</code> used to create the memento's document
- * @return a memento on the first <code>Element</code> for reading the document
- * @throws Exception if IO problems, invalid format, or no element.
- */
- public static XMLMemento createReadRoot(Reader reader)
- throws Exception {
- return createReadRoot(reader, null);
- }
-
- /**
- * Creates a <code>Document</code> from the <code>Reader</code>
- * and returns a memento on the first <code>Element</code> for reading
- * the document.
- *
- * @param reader the <code>Reader</code> used to create the memento's document
- * @param baseDir the directory used to resolve relative file names
- * in the XML document. This directory must exist and include the
- * trailing separator. The directory format, including the separators,
- * must be valid for the platform. Can be <code>null</code> if not
- * needed.
- * @return a memento on the first <code>Element</code> for reading the document
- * @throws Exception if IO problems, invalid format, or no element.
- */
- public static XMLMemento createReadRoot(Reader reader, String baseDir)
- throws Exception {
- String errorMessage = null;
- Exception exception = null;
-
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory
- .newInstance();
- DocumentBuilder parser = factory.newDocumentBuilder();
- InputSource source = new InputSource(reader);
- if (baseDir != null) {
- source.setSystemId(baseDir);
- }
- Document document = parser.parse(source);
- NodeList list = document.getChildNodes();
- for (int i = 0; i < list.getLength(); i++) {
- Node node = list.item(i);
- if (node instanceof Element) {
- return new XMLMemento(document, (Element) node);
- }
- }
- } catch (ParserConfigurationException e) {
- exception = e;
- // errorMessage = WorkbenchMessages.XMLMemento_parserConfigError;
- } catch (IOException e) {
- exception = e;
- // errorMessage = WorkbenchMessages.XMLMemento_ioError;
- } catch (SAXException e) {
- exception = e;
- // errorMessage = WorkbenchMessages.XMLMemento_formatError;
- }
-
- String problemText = null;
- if (exception != null) {
- problemText = exception.getMessage();
- }
- if (problemText == null || problemText.length() == 0) {
- problemText = errorMessage != null ? errorMessage
- :"ERROR"; //;WorkbenchMessages.XMLMemento_noElement; //$NON-NLS-1$
- }
- throw new Exception(problemText, exception);
- }
-
- /**
- * Returns a root memento for writing a document.
- *
- * @param type the element node type to create on the document
- * @return the root memento for writing a document
- */
- public static XMLMemento createWriteRoot(String type) {
- Document document;
- try {
- document = DocumentBuilderFactory.newInstance()
- .newDocumentBuilder().newDocument();
- Element element = document.createElement(type);
- document.appendChild(element);
- return new XMLMemento(document, element);
- } catch (ParserConfigurationException e) {
-// throw new Error(e);
- throw new Error(e.getMessage());
- }
- }
-
- /**
- * Creates a memento for the specified document and element.
- * <p>
- * Clients should use <code>createReadRoot</code> and
- * <code>createWriteRoot</code> to create the initial
- * memento on a document.
- * </p>
- *
- * @param document the document for the memento
- * @param element the element node for the memento
- */
- public XMLMemento(Document document, Element element) {
- super();
- this.factory = document;
- this.element = element;
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public XMLMemento createChild(String type) {
- Element child = factory.createElement(type);
- element.appendChild(child);
- return new XMLMemento(factory, child);
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public XMLMemento createChild(String type, String id) {
- Element child = factory.createElement(type);
- child.setAttribute(IMementoConstants.TAG_ID, id == null ? "" : id); //$NON-NLS-1$
- element.appendChild(child);
- return new XMLMemento(factory, child);
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public XMLMemento copyChild(XMLMemento child) {
- Element childElement = child.element;
- Element newElement = (Element) factory.importNode(childElement, true);
- element.appendChild(newElement);
- return new XMLMemento(factory, newElement);
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public XMLMemento getChild(String type) {
-
- // Get the nodes.
- NodeList nodes = element.getChildNodes();
- int size = nodes.getLength();
- if (size == 0) {
- return null;
- }
-
- // Find the first node which is a child of this node.
- for (int nX = 0; nX < size; nX++) {
- Node node = nodes.item(nX);
- if (node instanceof Element) {
- Element element1 = (Element) node;
- if (element1.getNodeName().equals(type)) {
- return new XMLMemento(factory, element1);
- }
- }
- }
-
- // A child was not found.
- return null;
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public XMLMemento[] getChildren(String type) {
-
- // Get the nodes.
- NodeList nodes = element.getChildNodes();
- int size = nodes.getLength();
- if (size == 0) {
- return new XMLMemento[0];
- }
-
- // Extract each node with given type.
- ArrayList list = new ArrayList(size);
- for (int nX = 0; nX < size; nX++) {
- Node node = nodes.item(nX);
- if (node instanceof Element) {
- Element element1 = (Element) node;
- if (element1.getNodeName().equals(type)) {
- list.add(element1);
- }
- }
- }
-
- // Create a memento for each node.
- size = list.size();
- XMLMemento[] results = new XMLMemento[size];
- for (int x = 0; x < size; x++) {
- results[x] = new XMLMemento(factory, (Element) list.get(x));
- }
- return results;
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public Float getFloat(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null) {
- return null;
- }
- String strValue = attr.getValue();
- try {
- return new Float(strValue);
- } catch (NumberFormatException e) {
- DebugPlugin.logMessage("Memento problem - Invalid float for key: " //$NON-NLS-1$
- + key + " value: " + strValue, e); //$NON-NLS-1$
- return null;
- }
- }
-
- public String getType() {
- return element.getNodeName();
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public String getID() {
- return element.getAttribute(IMementoConstants.TAG_ID);
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public Integer getInteger(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null) {
- return null;
- }
- String strValue = attr.getValue();
- try {
- return new Integer(strValue);
- } catch (NumberFormatException e) {
- DebugPlugin
- .logMessage("Memento problem - invalid integer for key: " + key //$NON-NLS-1$
- + " value: " + strValue, e); //$NON-NLS-1$
- return null;
- }
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public String getString(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null) {
- return null;
- }
- return attr.getValue();
- }
-
- public Boolean getBoolean(String key) {
- Attr attr = element.getAttributeNode(key);
- if (attr == null) {
- return null;
- }
- return Boolean.valueOf(attr.getValue());
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public String getTextData() {
- Text textNode = getTextNode();
- if (textNode != null) {
- return textNode.getData();
- }
- return null;
- }
-
- public String[] getAttributeKeys() {
- NamedNodeMap map = element.getAttributes();
- int size = map.getLength();
- String[] attributes = new String[size];
- for (int i = 0; i < size; i++) {
- Node node = map.item(i);
- attributes[i] = node.getNodeName();
- }
- return attributes;
- }
-
- /**
- * Returns the Text node of the memento. Each memento is allowed only
- * one Text node.
- *
- * @return the Text node of the memento, or <code>null</code> if
- * the memento has no Text node.
- */
- private Text getTextNode() {
- // Get the nodes.
- NodeList nodes = element.getChildNodes();
- int size = nodes.getLength();
- if (size == 0) {
- return null;
- }
- for (int nX = 0; nX < size; nX++) {
- Node node = nodes.item(nX);
- if (node instanceof Text) {
- return (Text) node;
- }
- }
- // a Text node was not found
- return null;
- }
-
- /**
- * Places the element's attributes into the document.
- * @param copyText true if the first text node should be copied
- */
- private void putElement(Element element1, boolean copyText) {
- NamedNodeMap nodeMap = element1.getAttributes();
- int size = nodeMap.getLength();
- for (int i = 0; i < size; i++) {
- Attr attr = (Attr) nodeMap.item(i);
- putString(attr.getName(), attr.getValue());
- }
-
- NodeList nodes = element1.getChildNodes();
- size = nodes.getLength();
- // Copy first text node (fixes bug 113659).
- // Note that text data will be added as the first child (see putTextData)
- boolean needToCopyText = copyText;
- for (int i = 0; i < size; i++) {
- Node node = nodes.item(i);
- if (node instanceof Element) {
- XMLMemento child = createChild(node.getNodeName());
- child.putElement((Element) node, true);
- } else if (node instanceof Text && needToCopyText) {
- putTextData(((Text) node).getData());
- needToCopyText = false;
- }
- }
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public void putFloat(String key, float f) {
- element.setAttribute(key, String.valueOf(f));
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public void putInteger(String key, int n) {
- element.setAttribute(key, String.valueOf(n));
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public void putMemento(XMLMemento memento) {
- // Do not copy the element's top level text node (this would overwrite the existing text).
- // Text nodes of children are copied.
- putElement(memento.element, false);
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public void putString(String key, String value) {
- if (value == null) {
- return;
- }
- element.setAttribute(key, value);
- }
-
- /**
- * @param key
- * @param value
- * @since 3.4
- */
- public void putBoolean(String key, boolean value) {
- element.setAttribute(key, value ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- /* (non-Javadoc)
- * Method declared in XMLMemento.
- */
- public void putTextData(String data) {
- Text textNode = getTextNode();
- if (textNode == null) {
- textNode = factory.createTextNode(data);
- // Always add the text node as the first child (fixes bug 93718)
- element.insertBefore(textNode, element.getFirstChild());
- } else {
- textNode.setData(data);
- }
- }
-
- /**
- * Saves this memento's document current values to the
- * specified writer.
- *
- * @param writer the writer used to save the memento's document
- * @throws IOException if there is a problem serializing the document to the stream.
- */
- public void save(Writer writer) throws IOException {
- DOMWriter out = new DOMWriter(writer);
- try {
- out.print(element);
- } finally {
- out.close();
- }
- }
-
- /**
- * A simple XML writer. Using this instead of the javax.xml.transform classes allows
- * compilation against JCL Foundation (bug 80053).
- */
- private static final class DOMWriter extends PrintWriter {
-
- private int tab;
-
- /* constants */
- private static final String XML_VERSION = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; //$NON-NLS-1$
-
- /**
- * Creates a new DOM writer on the given output writer.
- *
- * @param output the output writer
- */
- public DOMWriter(Writer output) {
- super(output);
- tab = 0;
- println(XML_VERSION);
- }
-
- /**
- * Prints the given element.
- *
- * @param element the element to print
- */
- public void print(Element element) {
- // Ensure extra whitespace is not emitted next to a Text node,
- // as that will result in a situation where the restored text data is not the
- // same as the saved text data.
- boolean hasChildren = element.hasChildNodes();
- startTag(element, hasChildren);
- if (hasChildren) {
- tab++;
- boolean prevWasText = false;
- NodeList children = element.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- Node node = children.item(i);
- if (node instanceof Element) {
- if (!prevWasText) {
- println();
- printTabulation();
- }
- print((Element) children.item(i));
- prevWasText = false;
- }
- else if (node instanceof Text) {
- print(getEscaped(node.getNodeValue()));
- prevWasText = true;
- }
- }
- tab--;
- if (!prevWasText) {
- println();
- printTabulation();
- }
- endTag(element);
- }
- }
-
- private void printTabulation() {
- // Indenting is disabled, as it can affect the result of getTextData().
- // In 3.0, elements were separated by a newline but not indented.
- // This causes getTextData() to return "\n" even if no text data had explicitly been set.
- // The code here emulates that behaviour.
-
-// for (int i = 0; i < tab; i++)
-// super.print("\t"); //$NON-NLS-1$
- }
-
- private void startTag(Element element, boolean hasChildren) {
- StringBuffer sb = new StringBuffer();
- sb.append("<"); //$NON-NLS-1$
- sb.append(element.getTagName());
- NamedNodeMap attributes = element.getAttributes();
- for (int i = 0; i < attributes.getLength(); i++) {
- Attr attribute = (Attr)attributes.item(i);
- sb.append(" "); //$NON-NLS-1$
- sb.append(attribute.getName());
- sb.append("=\""); //$NON-NLS-1$
- sb.append(getEscaped(String.valueOf(attribute.getValue())));
- sb.append("\""); //$NON-NLS-1$
- }
- sb.append(hasChildren ? ">" : "/>"); //$NON-NLS-1$ //$NON-NLS-2$
- print(sb.toString());
- }
-
- private void endTag(Element element) {
- StringBuffer sb = new StringBuffer();
- sb.append("</"); //$NON-NLS-1$
- sb.append(element.getNodeName());
- sb.append(">"); //$NON-NLS-1$
- print(sb.toString());
- }
-
- private static void appendEscapedChar(StringBuffer buffer, char c) {
- String replacement = getReplacement(c);
- if (replacement != null) {
- buffer.append('&');
- buffer.append(replacement);
- buffer.append(';');
- } else if (c==9 || c==10 || c==13 || c>=32){
- buffer.append(c);
- }
- }
-
- private static String getEscaped(String s) {
- StringBuffer result = new StringBuffer(s.length() + 10);
- for (int i = 0; i < s.length(); ++i) {
- appendEscapedChar(result, s.charAt(i));
- }
- return result.toString();
- }
-
- private static String getReplacement(char c) {
- // Encode special XML characters into the equivalent character references.
- // The first five are defined by default for all XML documents.
- // The next three (#xD, #xA, #x9) are encoded to avoid them
- // being converted to spaces on deserialization
- // (fixes bug 93720)
- switch (c) {
- case '<' :
- return "lt"; //$NON-NLS-1$
- case '>' :
- return "gt"; //$NON-NLS-1$
- case '"' :
- return "quot"; //$NON-NLS-1$
- case '\'' :
- return "apos"; //$NON-NLS-1$
- case '&' :
- return "amp"; //$NON-NLS-1$
- case '\r':
- return "#x0D"; //$NON-NLS-1$
- case '\n':
- return "#x0A"; //$NON-NLS-1$
- case '\u0009':
- return "#x09"; //$NON-NLS-1$
- }
- return null;
- }
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java
deleted file mode 100644
index 5d47e7b30..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/CommandAdapterFactory.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.commands.IDisconnectHandler;
-import org.eclipse.debug.core.commands.IDropToFrameHandler;
-import org.eclipse.debug.core.commands.IResumeHandler;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.core.commands.IStepIntoHandler;
-import org.eclipse.debug.core.commands.IStepOverHandler;
-import org.eclipse.debug.core.commands.IStepReturnHandler;
-import org.eclipse.debug.core.commands.ISuspendHandler;
-import org.eclipse.debug.core.commands.ITerminateHandler;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDisconnect;
-import org.eclipse.debug.core.model.IDropToFrame;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStep;
-import org.eclipse.debug.core.model.ISuspendResume;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * Adapter factory for debug commands.
- *
- * @since 3.3
- *
- */
-public class CommandAdapterFactory implements IAdapterFactory {
-
-
- private static ITerminateHandler fgTerminateCommand = new TerminateCommand();
- private static IStepOverHandler fgStepOverCommand = new StepOverCommand();
- private static IStepIntoHandler fgStepIntoCommand = new StepIntoCommand();
- private static IStepReturnHandler fgStepReturnCommand = new StepReturnCommand();
- private static IDropToFrameHandler fgDropToFrameCommand = new DropToFrameCommand();
- private static IDisconnectHandler fgDisconnectCommand = new DisconnectCommand();
- private static ISuspendHandler fgSuspendCommand = new SuspendCommand();
- private static IResumeHandler fgResumeCommand = new ResumeCommand();
- private static IStepFiltersHandler fgStepFiltersCommand = new StepFiltersCommand();
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)
- */
- public Object getAdapter(Object adaptableObject, Class adapterType) {
- if (IStepFiltersHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IDebugElement ||
- adaptableObject instanceof ILaunch ||
- adaptableObject instanceof IProcess) {
- return fgStepFiltersCommand;
- }
- }
-
- if (ITerminateHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof ITerminate) {
- return fgTerminateCommand;
- }
- }
- if (IStepOverHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IStep) {
- return fgStepOverCommand;
- }
- }
- if (IStepIntoHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IStep) {
- return fgStepIntoCommand;
- }
- }
- if (IStepReturnHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IStep) {
- return fgStepReturnCommand;
- }
- }
- if (ISuspendHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof ISuspendResume) {
- return fgSuspendCommand;
- }
- }
- if (IResumeHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof ISuspendResume) {
- return fgResumeCommand;
- }
- }
- if (IDisconnectHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IDisconnect) {
- return fgDisconnectCommand;
- }
- }
- if (IDropToFrameHandler.class.equals(adapterType)) {
- if (adaptableObject instanceof IDropToFrame) {
- return fgDropToFrameCommand;
- }
- }
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()
- */
- public Class[] getAdapterList() {
- return new Class[]{
- ITerminateHandler.class,
- IStepOverHandler.class,
- IStepIntoHandler.class,
- IStepReturnHandler.class,
- ISuspendHandler.class,
- IResumeHandler.class,
- IDropToFrameHandler.class,
- IDisconnectHandler.class,
- IStepFiltersHandler.class};
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java
deleted file mode 100644
index 5d447e5df..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DebugCommandRequest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-
-/**
- * @since 3.3
- */
-public class DebugCommandRequest extends Request implements IDebugCommandRequest {
-
- private Object[] fElements;
-
- public DebugCommandRequest(Object[] elements) {
- fElements = elements;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.IDebugCommandRequest#getElements()
- */
- public Object[] getElements() {
- return fElements;
- }
-
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java
deleted file mode 100644
index 956c4df47..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DisconnectCommand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IDisconnectHandler;
-import org.eclipse.debug.core.model.IDisconnect;
-
-/**
- * Default disconnect command for the standard debug model.
- *
- * @since 3.3
- */
-public class DisconnectCommand extends ForEachCommand implements IDisconnectHandler {
-
- protected Object getTarget(Object element) {
- return getAdapter(element, IDisconnect.class);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.ForEachCommand#execute(java.lang.Object)
- */
- protected void execute(Object target) throws CoreException {
- ((IDisconnect)target).disconnect();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.ForEachCommand#isExecutable(java.lang.Object)
- */
- protected boolean isExecutable(Object target) {
- return ((IDisconnect)target).canDisconnect();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IDisconnectHandler.class;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java
deleted file mode 100644
index a0d712de0..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/DropToFrameCommand.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IDropToFrameHandler;
-import org.eclipse.debug.core.model.IDropToFrame;
-
-/**
- * Default drop to frame command for the standard debug model.
- *
- * @since 3.3
- */
-public class DropToFrameCommand extends StepCommand implements IDropToFrameHandler {
-
- protected Object getTarget(Object element) {
- return getAdapter(element, IDropToFrame.class);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.StepCommand#isSteppable(java.lang.Object)
- */
- protected boolean isSteppable(Object target) throws CoreException {
- return ((IDropToFrame)target).canDropToFrame();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.StepCommand#step(java.lang.Object)
- */
- protected void step(Object target) throws CoreException {
- ((IDropToFrame)target).dropToFrame();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IDropToFrameHandler.class;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java
deleted file mode 100644
index a92772e35..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ForEachCommand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.IRequest;
-import org.eclipse.debug.core.commands.AbstractDebugCommand;
-import org.eclipse.debug.core.commands.IEnabledStateRequest;
-
-/**
- * A command that operates on each element individually.
- *
- * @since 3.3
- */
-public abstract class ForEachCommand extends AbstractDebugCommand {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.DebugCommand#doExecute(java.lang.Object[], org.eclipse.core.runtime.IProgressMonitor, org.eclipse.debug.core.IRequest)
- */
- protected void doExecute(Object[] targets, IProgressMonitor monitor, IRequest request) throws CoreException {
- for (int i = 0; i < targets.length; i++) {
- execute(targets[i]);
- monitor.worked(1);
- }
- }
-
- protected abstract void execute(Object target) throws CoreException;
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.DebugCommand#isExecutable(java.lang.Object[], org.eclipse.core.runtime.IProgressMonitor, org.eclipse.debug.core.commands.IEnabledStateRequest)
- */
- protected boolean isExecutable(Object[] targets, IProgressMonitor monitor, IEnabledStateRequest request) throws CoreException {
- for (int i = 0; i < targets.length; i++) {
- if (!isExecutable(targets[i])) {
- return false;
- }
- monitor.worked(1);
- }
- return true;
- }
-
- protected abstract boolean isExecutable(Object target);
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java
deleted file mode 100644
index 4de8e2136..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/Request.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * John Cortell (Freescale) - update javadoc tags (Bug 292301)
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.debug.core.IRequest;
-
-/**
- * @since 3.3
- */
-public class Request implements IRequest {
-
- private IStatus fStatus;
- private boolean fCanceled = false;
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IRequest#done()
- */
- public void done() {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IRequest#getStatus()
- */
- public IStatus getStatus() {
- return fStatus;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IRequest#setStatus(org.eclipse.core.runtime.IStatus)
- */
- public void setStatus(IStatus status) {
- fStatus = status;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IRequest#cancel()
- */
- public synchronized void cancel() {
- fCanceled = true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.IRequest#isCanceled()
- */
- public synchronized boolean isCanceled() {
- return fCanceled;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java
deleted file mode 100644
index 91475b019..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/ResumeCommand.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IResumeHandler;
-import org.eclipse.debug.core.model.ISuspendResume;
-
-/**
- * Default resume command for the standard debug model.
- *
- * @since 3.3
- */
-public class ResumeCommand extends SuspendCommand implements IResumeHandler {
-
- protected void execute(Object target) throws CoreException {
- ((ISuspendResume)target).resume();
- }
-
- protected boolean isExecutable(Object target) {
- return ((ISuspendResume)target).canResume();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.SuspendCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IResumeHandler.class;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java
deleted file mode 100644
index 9fd08ae4d..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepCommand.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.IRequest;
-import org.eclipse.debug.core.commands.AbstractDebugCommand;
-import org.eclipse.debug.core.commands.IEnabledStateRequest;
-import org.eclipse.debug.core.model.IStackFrame;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Common function for step commands.
- *
- * @since 3.3
- */
-public abstract class StepCommand extends AbstractDebugCommand {
-
- protected void doExecute(Object[] targets, IProgressMonitor monitor, IRequest request) throws CoreException {
- for (int i = 0; i < targets.length; i++) {
- step(targets[i]);
- }
- }
-
- protected abstract void step(Object target) throws CoreException ;
-
- protected boolean isExecutable(Object[] targets, IProgressMonitor monitor, IEnabledStateRequest collector) throws CoreException {
- if (isThreadCompatible(targets)) {
- for (int i = 0; i < targets.length; i++) {
- if (!isSteppable(targets[i])) {
- return false;
- }
- }
- return true;
- } else {
- return false;
- }
- }
-
- protected abstract boolean isSteppable(Object target) throws CoreException;
-
- protected boolean isThreadCompatible(Object[] targets) {
- if (targets.length == 1) {
- return true;
- }
- // check if frames from same thread
- Set threads = new HashSet(targets.length);
- for (int i = 0; i < targets.length; i++) {
- Object object = targets[i];
- IStackFrame frame = null;
- if (object instanceof IStackFrame) {
- frame = (IStackFrame) object;
- } else if (object instanceof IAdaptable) {
- frame = (IStackFrame)((IAdaptable)object).getAdapter(IStackFrame.class);
- }
- if (frame != null) {
- if (!threads.add(frame.getThread())) {
- return false;
- }
- }
- }
- return true;
- }
-
- protected Object getTarget(Object element) {
- return getAdapter(element, IStep.class);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java
deleted file mode 100644
index e5bfdc959..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepFiltersCommand.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IStepFiltersHandler;
-import org.eclipse.debug.core.model.IDebugElement;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.core.model.IStepFilters;
-
-/**
- * Default toggle step filters command for the standard debug model.
- *
- * @since 3.3
- */
-public class StepFiltersCommand extends ForEachCommand implements IStepFiltersHandler {
-
- protected Object getTarget(Object element) {
- IDebugTarget[] targets = getDebugTargets(element);
- if (targets.length > 0) {
- IStepFilters[] filters = new IStepFilters[targets.length];
- for (int i = 0; i < targets.length; i++) {
- IDebugTarget target = targets[i];
- if (target instanceof IStepFilters) {
- filters[i] = (IStepFilters) target;
- } else {
- filters[i] = (IStepFilters) getAdapter(element, IStepFilters.class);
- }
- if (filters[i] == null) {
- return null;
- }
- }
- return filters;
- }
- return null;
- }
-
- private IDebugTarget[] getDebugTargets(Object element) {
- if (element instanceof IDebugElement) {
- IDebugElement debugElement = (IDebugElement) element;
- return new IDebugTarget[] { debugElement.getDebugTarget() };
- } else if (element instanceof ILaunch) {
- ILaunch launch = (ILaunch) element;
- return launch.getDebugTargets();
- } else if (element instanceof IProcess) {
- IProcess process = (IProcess) element;
- return process.getLaunch().getDebugTargets();
- } else {
- return new IDebugTarget[0];
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.ForEachCommand#execute(java.lang.Object)
- */
- protected void execute(Object target) throws CoreException {
- if (target == null) {
- return;
- }
- IStepFilters[] filters = (IStepFilters[]) target;
- for (int i = 0; i < filters.length; i++) {
- IStepFilters filter = filters[i];
- filter.setStepFiltersEnabled(DebugPlugin.isUseStepFilters());
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.ForEachCommand#isExecutable(java.lang.Object)
- */
- protected boolean isExecutable(Object target) {
- IStepFilters[] filters = (IStepFilters[]) target;
- for (int i = 0; i < filters.length; i++) {
- IStepFilters filter = filters[i];
- if (filter == null || !filter.supportsStepFilters()) {
- return false;
- }
- }
- return true;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IStepFiltersHandler.class;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java
deleted file mode 100644
index 998c15319..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepIntoCommand.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IStepIntoHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step into command for the standard debug model.
- *
- * @since 3.3
- */
-public class StepIntoCommand extends StepCommand implements IStepIntoHandler {
-
- protected boolean isSteppable(Object target) {
- return ((IStep)target).canStepInto();
- }
-
- protected void step(Object target) throws CoreException {
- ((IStep)target).stepInto();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IStepIntoHandler.class;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java
deleted file mode 100644
index bf8d2d8e3..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepOverCommand.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IStepOverHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step over command for the standard debug model.
- *
- * @since 3.3
- */
-public class StepOverCommand extends StepCommand implements IStepOverHandler {
-
-
- protected void step(Object target) throws CoreException {
- ((IStep)target).stepOver();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.commands.StepCommand#isSteppable(java.lang.Object)
- */
- protected boolean isSteppable(Object target) {
- return ((IStep)target).canStepOver();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IStepOverHandler.class;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java
deleted file mode 100644
index f44a89663..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/StepReturnCommand.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.IStepReturnHandler;
-import org.eclipse.debug.core.model.IStep;
-
-/**
- * Default step return command for the standard debug model.
- *
- * @since 3.3
- */
-public class StepReturnCommand extends StepCommand implements IStepReturnHandler {
-
- protected boolean isSteppable(Object target) {
- return ((IStep)target).canStepReturn();
- }
-
- protected void step(Object target) throws CoreException {
- ((IStep)target).stepReturn();
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return IStepReturnHandler.class;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java
deleted file mode 100644
index 3db9b9be9..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/SuspendCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.ISuspendHandler;
-import org.eclipse.debug.core.model.ISuspendResume;
-
-/**
- * Default suspend command for the standard debug model.
- *
- * @since 3.3
- */
-public class SuspendCommand extends ForEachCommand implements ISuspendHandler {
-
- protected Object getTarget(Object element) {
- return getAdapter(element, ISuspendResume.class);
- }
-
- protected void execute(Object target) throws CoreException {
- ((ISuspendResume)target).suspend();
- }
-
- protected boolean isExecutable(Object target) {
- return ((ISuspendResume)target).canSuspend();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return ISuspendHandler.class;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java
deleted file mode 100644
index 35962d892..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/commands/TerminateCommand.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.commands;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.commands.IDebugCommandRequest;
-import org.eclipse.debug.core.commands.ITerminateHandler;
-import org.eclipse.debug.core.model.ITerminate;
-
-/**
- * Default terminate command for the standard debug model.
- *
- * @since 3.3
- */
-public class TerminateCommand extends ForEachCommand implements ITerminateHandler {
-
- protected Object getTarget(Object element) {
- return getAdapter(element, ITerminate.class);
- }
-
- protected void execute(Object target) throws CoreException {
- ((ITerminate)target).terminate();
- }
-
- protected boolean isExecutable(Object target) {
- return ((ITerminate)target).canTerminate();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.commands.AbstractDebugCommand#getEnabledStateJobFamily(org.eclipse.debug.core.commands.IDebugCommandRequest)
- */
- protected Object getEnabledStateJobFamily(IDebugCommandRequest request) {
- return ITerminateHandler.class;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
deleted file mode 100644
index 935d11532..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceContainerType.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerType;
-import org.eclipse.debug.core.sourcelookup.ISourceContainerTypeDelegate;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-
-/**
- * Proxy to contributed source container type extension.
- *
- * @see IConfigurationElementConstants
- *
- * @since 3.0
- */
-public class SourceContainerType implements ISourceContainerType {
-
- // lazily instantiated delegate
- private ISourceContainerTypeDelegate fDelegate = null;
-
- // extension definition
- private IConfigurationElement fElement = null;
-
- /**
- * Constructs a source container type on the given extension.
- *
- * @param element extension definition
- */
- public SourceContainerType(IConfigurationElement element) {
- fElement = element;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- return getDelegate().createSourceContainer(memento);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- if (this.equals(container.getType())) {
- return getDelegate().getMemento(container);
- }
- IStatus status = new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.ERROR, SourceLookupMessages.SourceContainerType_0, null);
- throw new CoreException(status);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getName()
- */
- public String getName() {
- return fElement.getAttribute(IConfigurationElementConstants.NAME);
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getId()
- */
- public String getId() {
- return fElement.getAttribute(IConfigurationElementConstants.ID);
- }
-
- /**
- * Lazily instantiates and returns the underlying source container type.
- *
- * @exception CoreException if unable to instantiate
- */
- private ISourceContainerTypeDelegate getDelegate() throws CoreException {
- if (fDelegate == null) {
- fDelegate = (ISourceContainerTypeDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
- }
- return fDelegate;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getDescription()
- */
- public String getDescription() {
- return fElement.getAttribute(IConfigurationElementConstants.DESCRIPTION);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
deleted file mode 100644
index 159b81698..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLocatorMementoComparator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.util.Comparator;
-
-/**
- * Comparator for source locator mementors. Ignores whitespace differences.
- *
- * @since 3.0
- */
-public class SourceLocatorMementoComparator implements Comparator {
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- String m1 = (String)o1;
- String m2 = (String)o2;
- int i1 = 0, i2 = 0;
- while (i1 < m1.length()) {
- i1 = skipWhitespace(m1, i1);
- i2 = skipWhitespace(m2, i2);
- if (i1 < m1.length() && i2 < m2.length()) {
- if (m1.charAt(i1) != m2.charAt(i2)) {
- return -1;
- }
- i1++;
- i2++;
- } else {
- if (i2 < m2.length()) {
- return -1;
- }
- return 0;
- }
- }
- return 0;
- }
-
- private int skipWhitespace(String string, int offset) {
- while (offset < string.length() && Character.isWhitespace(string.charAt(offset))) {
- offset++;
- }
- return offset;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
deleted file mode 100644
index e63731cf4..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.osgi.util.NLS;
-
-public class SourceLookupMessages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages";//$NON-NLS-1$
-
- public static String AbstractSourceLookupDirector_11;
- public static String AbstractSourceLookupDirector_12;
- public static String AbstractSourceLookupDirector_13;
- public static String AbstractSourceLookupDirector_14;
-
- public static String Source_Lookup_Error;
-
- public static String ExternalArchiveSourceContainer_1;
-
- public static String ExternalArchiveSourceContainer_2;
-
- public static String ExternalArchiveSourceContainerType_10;
- public static String ExternalArchiveSourceContainerType_11;
- public static String ExternalArchiveSourceContainerType_12;
-
- public static String DefaultSourceContainer_0;
- public static String DefaultSourceContainerType_6;
- public static String DefaultSourceContainerType_7;
-
- public static String DirectorySourceContainerType_10;
- public static String DirectorySourceContainerType_11;
- public static String DirectorySourceContainerType_12;
-
- public static String FolderSourceContainerType_10;
- public static String FolderSourceContainerType_11;
- public static String FolderSourceContainerType_12;
-
- public static String LocalFileStorage_0;
-
- public static String ProjectSourceContainerType_10;
- public static String ProjectSourceContainerType_11;
- public static String ProjectSourceContainerType_12;
-
- public static String SourceContainerType_0;
-
- public static String WorkspaceSourceContainer_0;
-
- public static String WorkspaceSourceContainerType_3;
- public static String WorkspaceSourceContainerType_4;
-
- public static String ZipEntryStorage_0;
-
- static {
- // load message values from bundle file
- NLS.initializeMessages(BUNDLE_NAME, SourceLookupMessages.class);
- }
-
- public static String AbstractSourceLookupDirector_10;
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
deleted file mode 100644
index 429f05e6a..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupMessages.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2007 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-AbstractSourceLookupDirector_11=Unable to restore source lookup path - expecting typeId attribute.
-AbstractSourceLookupDirector_12=Unable to restore source lookup path - unknown type source container type specified: {0}
-AbstractSourceLookupDirector_13=Unable to restore source lookup path - expecting memento attribute.
-AbstractSourceLookupDirector_14=Unable to read source lookup path - expecting sourceLookupDirector node.
-AbstractSourceLookupDirector_10=Exception occurred during source lookup
-
-ExternalArchiveSourceContainer_2=Unable to access archive {0}
-ExternalArchiveSourceContainer_1=Archive does not exist: {0}
-
-ExternalArchiveSourceContainerType_10=Invalid or missing <path> attribute in archive memento.
-ExternalArchiveSourceContainerType_11=Missing <archive> node in archive memento.
-ExternalArchiveSourceContainerType_12=Invalid archive memento
-
-DefaultSourceContainer_0=Default
-DefaultSourceContainerType_6=Unable to restore default source lookup path - expecting default element.
-DefaultSourceContainerType_7=Unable to restore default source lookup path - invalid memento.
-
-DirectorySourceContainerType_10=Unable to restore directory source lookup entry - missing path attribute.
-DirectorySourceContainerType_11=Unable to restore directory source lookup entry - expecting directory element.
-DirectorySourceContainerType_12=Unable to restore directory source lookup entry - invalid memento.
-
-FolderSourceContainerType_10=Unable to restore source lookup folder - missing path attribute.
-FolderSourceContainerType_11=Unable to restore source lookup folder - expecting folder element.
-FolderSourceContainerType_12=Unable to restore source lookup folder - invalid memento.
-
-LocalFileStorage_0=Exception occurred retrieving file contents.
-
-ProjectSourceContainerType_10=Unable to restore project source lookup entry - missing name attribute.
-ProjectSourceContainerType_11=Unable to restore project source lookup entry - expecting project element.
-ProjectSourceContainerType_12=Unable to restore project source lookup entry - invalid memento.
-
-WorkspaceSourceContainer_0=Workspace
-
-WorkspaceSourceContainerType_3=Unable to restore workspace source lookup entry - expecting workspace element.
-WorkspaceSourceContainerType_4=Unable to restore workspace source lookup entry - invalid memento.
-
-ZipEntryStorage_0=Unable to read ZipEntry contents
-Source_Lookup_Error=Source lookup error
-SourceContainerType_0=Unable to persist source lookup path.
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
deleted file mode 100644
index 67b2bb831..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourceLookupUtils.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.zip.ZipFile;
-
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchesListener2;
-
-/**
- * Utility and supporting methods for source location. Most of these
- * utilities should be migrated to the DebugPlugin and LanuchManager
- * when this facility becomes public API.
- *
- * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupDirector
- * @since 3.0
- */
-public class SourceLookupUtils {
-
- /**
- * Cache of shared zip files. Zip files are closed
- * when this class's plug-in is shutdown, when a project
- * is about to be closed or deleted, when a launch is
- * removed, and when a debug target or process terminates.
- */
- private static HashMap fgZipFileCache = new HashMap(5);
- private static ArchiveCleaner fgCleaner = null;
-
- /**
- * Returns a zip file with the given name
- *
- * @param name zip file name
- * @return The zip file with the given name
- * @exception IOException if unable to create the specified zip
- * file
- */
- public static ZipFile getZipFile(String name) throws IOException {
- synchronized (fgZipFileCache) {
- if (fgCleaner == null) {
- fgCleaner = new ArchiveCleaner();
- DebugPlugin.getDefault().getLaunchManager().addLaunchListener(fgCleaner);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(fgCleaner, IResourceChangeEvent.PRE_DELETE | IResourceChangeEvent.PRE_CLOSE);
- }
- ZipFile zip = (ZipFile)fgZipFileCache.get(name);
- if (zip == null) {
- zip = new ZipFile(name);
- fgZipFileCache.put(name, zip);
- }
- return zip;
- }
- }
-
- /**
- * Closes all zip files that have been opened,
- * and removes them from the zip file cache.
- * This method is only to be called by the debug
- * plug-in.
- */
- public static void closeArchives() {
- synchronized (fgZipFileCache) {
- Iterator iter = fgZipFileCache.values().iterator();
- while (iter.hasNext()) {
- ZipFile file = (ZipFile)iter.next();
- synchronized (file) {
- try {
- file.close();
- } catch (IOException e) {
- DebugPlugin.log(e);
- }
- }
- }
- fgZipFileCache.clear();
- }
- }
-
- /**
- * Called when the debug plug-in shuts down.
- */
- public static void shutdown() {
- closeArchives();
- if (fgCleaner != null) {
- DebugPlugin.getDefault().getLaunchManager().removeLaunchListener(fgCleaner);
- ResourcesPlugin.getWorkspace().removeResourceChangeListener(fgCleaner);
- }
- }
-
- /**
- * Clears the cache of open zip files when a launch terminates,
- * is removed, or when a project is about to be deleted or closed.
- */
- static class ArchiveCleaner implements IResourceChangeListener, ILaunchesListener2 {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesRemoved(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesRemoved(ILaunch[] launches) {
- for (int i = 0; i < launches.length; i++) {
- ILaunch launch = launches[i];
- if (!launch.isTerminated()) {
- SourceLookupUtils.closeArchives();
- return;
- }
- }
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesAdded(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesAdded(ILaunch[] launches) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener#launchesChanged(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesChanged(ILaunch[] launches) {
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(org.eclipse.core.resources.IResourceChangeEvent)
- */
- public void resourceChanged(IResourceChangeEvent event) {
- SourceLookupUtils.closeArchives();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.ILaunchesListener2#launchesTerminated(org.eclipse.debug.core.ILaunch[])
- */
- public void launchesTerminated(ILaunch[] launches) {
- SourceLookupUtils.closeArchives();
- }
-
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
deleted file mode 100644
index 21bc87d27..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/SourcePathComputer.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputer;
-import org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate;
-import org.eclipse.debug.internal.core.IConfigurationElementConstants;
-
-/**
- * Proxy to contributed source path computer extension.
- *
- * @see IConfigurationElementConstants
- */
-public class SourcePathComputer implements ISourcePathComputer {
-
- // lazily instantiated delegate
- private ISourcePathComputerDelegate fDelegate = null;
-
- // extension definition
- private IConfigurationElement fElement = null;
-
- /**
- * Constructs a source path computer on the given extension.
- *
- * @param element extension definition
- */
- public SourcePathComputer(IConfigurationElement element) {
- fElement = element;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputer#getId()
- */
- public String getId() {
- return fElement.getAttribute(IConfigurationElementConstants.ID);
- }
-
- /**
- * Lazily instantiates and returns the underlying source container type.
- *
- * @exception CoreException if unable to instantiate
- */
- private ISourcePathComputerDelegate getDelegate() throws CoreException {
- if (fDelegate == null) {
- fDelegate = (ISourcePathComputerDelegate) fElement.createExecutableExtension(IConfigurationElementConstants.CLASS);
- }
- return fDelegate;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.core.sourcelookup.ISourcePathComputerDelegate#computeSourceContainers(org.eclipse.debug.core.ILaunchConfiguration, org.eclipse.core.runtime.IProgressMonitor)
- */
- public ISourceContainer[] computeSourceContainers(ILaunchConfiguration configuration, IProgressMonitor monitor) {
- try {
- return getDelegate().computeSourceContainers(configuration, monitor);
- } catch (CoreException e) {
- DebugPlugin.log(e);
- }
- return new ISourceContainer[0];
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
deleted file mode 100644
index 27c6d768f..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ArchiveSourceContainerType.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * Archive source container type for archives in the workspace.
- *
- * @since 3.0
- */
-public class ArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
- String string = element.getAttribute("path"); //$NON-NLS-1$
- if (string == null || string.length() == 0) {
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null);
- }
- String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
- boolean auto = "true".equals(detect); //$NON-NLS-1$
- IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(string));
- return new ArchiveSourceContainer(file, auto);
- }
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null);
- }
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null);
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- ArchiveSourceContainer archive = (ArchiveSourceContainer) container;
- Document document = newDocument();
- Element element = document.createElement("archive"); //$NON-NLS-1$
- element.setAttribute("path", archive.getFile().getFullPath().toString()); //$NON-NLS-1$
- String detectRoot = "false"; //$NON-NLS-1$
- if (archive.isDetectRoot()) {
- detectRoot = "true"; //$NON-NLS-1$
- }
- element.setAttribute("detectRoot", detectRoot); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
deleted file mode 100644
index bea44536c..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DefaultSourceContainerType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DefaultSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A default source lookup path. The default path is computed by a
- * source path computer.
- *
- * @since 3.0
- */
-public class DefaultSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- Document document = newDocument();
- Element element = document.createElement("default"); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento)throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("default".equals(element.getNodeName())) { //$NON-NLS-1$
- return new DefaultSourceContainer();
- }
- abort(SourceLookupMessages.DefaultSourceContainerType_6, null);
- }
- abort(SourceLookupMessages.DefaultSourceContainerType_7, null);
- return null;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
deleted file mode 100644
index d25a0ff66..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/DirectorySourceContainerType.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the local file system.
- *
- * @since 3.0
- */
-public class DirectorySourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("directory".equals(element.getNodeName())) { //$NON-NLS-1$
- String string = element.getAttribute("path"); //$NON-NLS-1$
- if (string == null || string.length() == 0) {
- abort(SourceLookupMessages.DirectorySourceContainerType_10, null);
- }
- String nest = element.getAttribute("nest"); //$NON-NLS-1$
- boolean nested = "true".equals(nest); //$NON-NLS-1$
- return new DirectorySourceContainer(new Path(string), nested);
- }
- abort(SourceLookupMessages.DirectorySourceContainerType_11, null);
- }
- abort(SourceLookupMessages.DirectorySourceContainerType_12, null);
- return null;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- DirectorySourceContainer folder = (DirectorySourceContainer) container;
- Document document = newDocument();
- Element element = document.createElement("directory"); //$NON-NLS-1$
- element.setAttribute("path", folder.getDirectory().getAbsolutePath()); //$NON-NLS-1$
- String nest = "false"; //$NON-NLS-1$
- if (folder.isComposite()) {
- nest = "true"; //$NON-NLS-1$
- }
- element.setAttribute("nest", nest); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
deleted file mode 100644
index 43f295ac5..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ExternalArchiveSourceContainerType.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * External archive source container type.
- *
- * @since 3.0
- */
-public class ExternalArchiveSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("archive".equals(element.getNodeName())) { //$NON-NLS-1$
- String string = element.getAttribute("path"); //$NON-NLS-1$
- if (string == null || string.length() == 0) {
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_10, null);
- }
- String detect = element.getAttribute("detectRoot"); //$NON-NLS-1$
- boolean auto = "true".equals(detect); //$NON-NLS-1$
- return new ExternalArchiveSourceContainer(string, auto);
- }
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_11, null);
- }
- abort(SourceLookupMessages.ExternalArchiveSourceContainerType_12, null);
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- ExternalArchiveSourceContainer archive = (ExternalArchiveSourceContainer) container;
- Document document = newDocument();
- Element element = document.createElement("archive"); //$NON-NLS-1$
- element.setAttribute("path", archive.getName()); //$NON-NLS-1$
- String detectRoot = "false"; //$NON-NLS-1$
- if (archive.isDetectRoot()) {
- detectRoot = "true"; //$NON-NLS-1$
- }
- element.setAttribute("detectRoot", detectRoot); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
deleted file mode 100644
index ce9ea0899..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/FolderSourceContainerType.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * A folder in the workspace.
- *
- * @since 3.0
- */
-public class FolderSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- FolderSourceContainer folderSourceContainer = (FolderSourceContainer)container;
- Document document = newDocument();
- Element element = document.createElement("folder"); //$NON-NLS-1$
- element.setAttribute("path", folderSourceContainer.getContainer().getFullPath().toString()); //$NON-NLS-1$
- String nest = "false"; //$NON-NLS-1$
- if (folderSourceContainer.isComposite()) {
- nest = "true"; //$NON-NLS-1$
- }
- element.setAttribute("nest", nest); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("folder".equals(element.getNodeName())) { //$NON-NLS-1$
- String string = element.getAttribute("path"); //$NON-NLS-1$
- if (string == null || string.length() == 0) {
- abort(SourceLookupMessages.FolderSourceContainerType_10, null);
- }
- String nest = element.getAttribute("nest"); //$NON-NLS-1$
- boolean nested = "true".equals(nest); //$NON-NLS-1$
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IFolder folder = workspace.getRoot().getFolder(new Path(string));
- return new FolderSourceContainer(folder, nested);
- }
- abort(SourceLookupMessages.FolderSourceContainerType_11, null);
- }
- abort(SourceLookupMessages.FolderSourceContainerType_12, null);
- return null;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
deleted file mode 100644
index 7dfbb6c40..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/ProjectSourceContainerType.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring a project source container.
- *
- * @since 3.0
- */
-public class ProjectSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- ProjectSourceContainer project = (ProjectSourceContainer) container;
- Document document = newDocument();
- Element element = document.createElement("project"); //$NON-NLS-1$
- element.setAttribute("name", project.getContainer().getName()); //$NON-NLS-1$
- String referenced = "false"; //$NON-NLS-1$
- if (project.isSearchReferencedProjects()) {
- referenced = "true"; //$NON-NLS-1$
- }
- element.setAttribute("referencedProjects", referenced); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerType#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("project".equals(element.getNodeName())) { //$NON-NLS-1$
- String string = element.getAttribute("name"); //$NON-NLS-1$
- if (string == null || string.length() == 0) {
- abort(SourceLookupMessages.ProjectSourceContainerType_10, null);
- }
- String nest = element.getAttribute("referencedProjects"); //$NON-NLS-1$
- boolean ref = "true".equals(nest); //$NON-NLS-1$
- IWorkspace workspace = ResourcesPlugin.getWorkspace();
- IProject project = workspace.getRoot().getProject(string);
- return new ProjectSourceContainer(project, ref);
- }
- abort(SourceLookupMessages.ProjectSourceContainerType_11, null);
- }
- abort(SourceLookupMessages.ProjectSourceContainerType_12, null);
- return null;
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
deleted file mode 100644
index 460fadd1f..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/sourcelookup/containers/WorkspaceSourceContainerType.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.sourcelookup.containers;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.debug.core.sourcelookup.ISourceContainer;
-import org.eclipse.debug.core.sourcelookup.containers.AbstractSourceContainerTypeDelegate;
-import org.eclipse.debug.core.sourcelookup.containers.WorkspaceSourceContainer;
-import org.eclipse.debug.internal.core.sourcelookup.SourceLookupMessages;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * The type for creating/restoring workspace source containers.
- *
- * @since 3.0
- */
-public class WorkspaceSourceContainerType extends AbstractSourceContainerTypeDelegate {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#createSourceContainer(java.lang.String)
- */
- public ISourceContainer createSourceContainer(String memento) throws CoreException {
- Node node = parseDocument(memento);
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element element = (Element)node;
- if ("workspace".equals(element.getNodeName())) { //$NON-NLS-1$
- return new WorkspaceSourceContainer();
- }
- abort(SourceLookupMessages.WorkspaceSourceContainerType_3, null);
- }
- abort(SourceLookupMessages.WorkspaceSourceContainerType_4, null);
- return null;
- }
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.sourcelookup.ISourceContainerTypeDelegate#getMemento(org.eclipse.debug.internal.core.sourcelookup.ISourceContainer)
- */
- public String getMemento(ISourceContainer container) throws CoreException {
- Document document = newDocument();
- Element element = document.createElement("workspace"); //$NON-NLS-1$
- document.appendChild(element);
- return serializeDocument(document);
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerResolver.java
deleted file mode 100644
index b01601c03..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ContainerResolver.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Resolver for the <code>${container_*}</code> variables. Accepts an optional
- * argument that is interpretted as a full path to a container in the workspace.
- * <p>
- * Moved to debug core in 3.5, existed in debug.iu since 3.0.
- * </p>
- * @since 3.5
- */
-public class ContainerResolver extends ResourceResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver#translateSelectedResource(org.eclipse.core.resources.IResource)
- */
- protected IResource translateSelectedResource(IResource resource) {
- return resource.getParent();
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java
deleted file mode 100644
index 739cdb48c..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.debug.internal.core.variables.Messages"; //$NON-NLS-1$
- public static String ResourceResolver_0;
- public static String ResourceResolver_1;
- public static String ResourceResolver_2;
- public static String WorkspaceResolver_0;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.properties b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.properties
deleted file mode 100644
index 9029703b6..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/Messages.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2008, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-ResourceResolver_0=Variable references non-existent resource : {0}
-ResourceResolver_1=Variable references empty selection: {0}
-ResourceResolver_2=Variable not recognized: {0}
-WorkspaceResolver_0=Variable references non-existent resource : {0}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectResolver.java
deleted file mode 100644
index ad7b0a8a0..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ProjectResolver.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import org.eclipse.core.resources.IResource;
-
-/**
- * Resolver for the <code>${project_*}</code> variables. Accepts an optional argument
- * that is interpretted as the name of a project.
- * <p>
- * Moved to debug core in 3.5, existed in debug.iu since 3.0.
- * </p>
- * @since 3.5
- */
-public class ProjectResolver extends ResourceResolver {
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.ui.stringsubstitution.ResourceResolver#translateSelectedResource(org.eclipse.core.resources.IResource)
- */
- protected IResource translateSelectedResource(IResource resource) {
- return resource.getProject();
- }
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceResolver.java
deleted file mode 100644
index 91c9bc45b..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/ResourceResolver.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import java.io.File;
-import java.net.URI;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.variables.IDynamicVariable;
-import org.eclipse.core.variables.IDynamicVariableResolver;
-import org.eclipse.core.variables.IStringVariableManager;
-import org.eclipse.core.variables.VariablesPlugin;
-import org.eclipse.debug.core.DebugPlugin;
-
-import com.ibm.icu.text.MessageFormat;
-
-/**
- * Common function of variable resolvers.
- * Moved to debug core in 3.5, existed in debug.iu since 3.0.
- *
- * @since 3.5
- */
-public class ResourceResolver implements IDynamicVariableResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.debug.internal.core.stringsubstitution.IContextVariableResolver#resolveValue(org.eclipse.debug.internal.core.stringsubstitution.IContextVariable, java.lang.String)
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
- IResource resource = null;
- if (argument == null) {
- resource = getSelectedResource(variable);
- } else {
- resource = getWorkspaceRoot().findMember(new Path(argument));
- }
- if (resource != null && resource.exists()) {
- resource = translateSelectedResource(resource);
- if (resource != null && resource.exists()) {
- return translateToValue(resource, variable);
- }
- }
- abort(MessageFormat.format(Messages.ResourceResolver_0, new String[]{getReferenceExpression(variable, argument)}), null);
- return null;
- }
-
- /**
- * Returns the resource applicable to this resolver, relative to the selected
- * resource. This method is called when no argument is present in a variable
- * expression. For, example, this method might return the project for the
- * selected resource.
- *
- * @param resource selected resource
- * @return resource applicable to this variable resolver
- */
- protected IResource translateSelectedResource(IResource resource) {
- return resource;
- }
-
- /**
- * Returns the workspace root
- *
- * @return workspace root
- */
- protected IWorkspaceRoot getWorkspaceRoot() {
- return ResourcesPlugin.getWorkspace().getRoot();
- }
-
- /**
- * Returns an expression used to reference the given variable and optional argument.
- * For example, <code>${var_name:arg}</code>.
- *
- * @param variable referenced variable
- * @param argument referenced argument or <code>null</code>
- * @return variable reference expression
- */
- protected String getReferenceExpression(IDynamicVariable variable, String argument) {
- StringBuffer reference = new StringBuffer();
- reference.append("${"); //$NON-NLS-1$
- reference.append(variable.getName());
- if (argument != null) {
- reference.append(":"); //$NON-NLS-1$
- reference.append(argument);
- }
- reference.append("}"); //$NON-NLS-1$
- return reference.toString();
- }
-
- /**
- * Throws an exception with the given message and underlying exception.
- *
- * @param message exception message
- * @param exception underlying exception or <code>null</code>
- * @throws CoreException
- */
- protected void abort(String message, Throwable exception) throws CoreException {
- throw new CoreException(new Status(IStatus.ERROR, DebugPlugin.getUniqueIdentifier(), DebugPlugin.INTERNAL_ERROR, message, exception));
- }
-
- /**
- * Returns the selected resource. Uses the ${selected_resource_path} variable
- * to determine the selected resource. This variable is provided by the debug.ui
- * plug-in. Selected resource resolution is only available when the debug.ui
- * plug-in is present.
- *
- * @param variable variable referencing a resource
- * @return selected resource
- * @throws CoreException if there is no selection
- */
- protected IResource getSelectedResource(IDynamicVariable variable) throws CoreException {
- IStringVariableManager manager = VariablesPlugin.getDefault().getStringVariableManager();
- try {
- String pathString = manager.performStringSubstitution("${selected_resource_path}"); //$NON-NLS-1$
- return ResourcesPlugin.getWorkspace().getRoot().findMember(new Path(pathString));
- } catch (CoreException e) {
- // unable to resolve a selection
- }
- abort(MessageFormat.format(Messages.ResourceResolver_1, new String[]{getReferenceExpression(variable, null)}), null);
- return null;
- }
-
- /**
- * Translates the given resource into a value for this variable resolver.
- *
- * @param resource the resource applicable to this resolver's variable
- * @param variable the variable being resolved
- * @return variable value
- * @throws CoreException if the variable name is not recognized
- */
- protected String translateToValue(IResource resource, IDynamicVariable variable) throws CoreException {
- String name = variable.getName();
- IPath path = null;
- URI uri = null;
- if (name.endsWith("_loc")) { //$NON-NLS-1$
- uri = resource.getLocationURI();
- if(uri != null) {
- File file = EFS.getStore(uri).toLocalFile(0, null);
- if(file != null) {
- return file.getAbsolutePath();
- }
- }
- } else if (name.endsWith("_path")) { //$NON-NLS-1$
- path = resource.getFullPath();
- if(path != null) {
- return path.toOSString();
- }
- } else if (name.endsWith("_name")) { //$NON-NLS-1$
- return resource.getName();
- }
- abort(MessageFormat.format(Messages.ResourceResolver_2, new String[]{getReferenceExpression(variable, null)}), null);
- return null;
- }
-
-}
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceResolver.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceResolver.java
deleted file mode 100644
index 86abb50f1..000000000
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/variables/WorkspaceResolver.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.debug.internal.core.variables;
-
-import java.io.File;
-import java.net.URI;
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.variables.*;
-import org.eclipse.osgi.util.NLS;
-
-/**
- * Resolves the <code>${workspace_loc}</code> variable. The variable resolves to the
- * location of the workspace. If an argument is provided, it is interpreted as a
- * workspace relative path to a specific resource.
- */
-public final class WorkspaceResolver implements IDynamicVariableResolver {
-
- /* (non-Javadoc)
- * @see org.eclipse.core.variables.IDynamicVariableResolver#resolveValue(org.eclipse.core.variables.IDynamicVariable, java.lang.String)
- */
- public String resolveValue(IDynamicVariable variable, String argument) throws CoreException {
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IResource resource;
-
- if (argument == null) {
- resource = root;
- } else {
- resource = root.findMember(new Path(argument));
- }
-
- if (resource != null && resource.exists()) {
- URI uri = resource.getLocationURI();
-
- if (uri != null) {
- File file = EFS.getStore(uri).toLocalFile(EFS.NONE, null);
-
- if (file != null) {
- return file.getAbsolutePath();
- }
- }
- }
-
- String expression = VariablesPlugin.getDefault().getStringVariableManager().generateVariableExpression(variable.getName(), argument);
- String message = NLS.bind(Messages.WorkspaceResolver_0, expression);
-
- throw new CoreException(new Status(IStatus.ERROR, ResourcesPlugin.PI_RESOURCES, IResourceStatus.RESOURCE_NOT_FOUND, message, null));
- }
-}
diff --git a/org.eclipse.debug.core/doc/.cvsignore b/org.eclipse.debug.core/doc/.cvsignore
deleted file mode 100644
index af3f463c2..000000000
--- a/org.eclipse.debug.core/doc/.cvsignore
+++ /dev/null
@@ -1,15 +0,0 @@
-book.css
-org_eclipse_debug_core_breakpoints.html
-org_eclipse_debug_core_launchConfigurationComparators.html
-org_eclipse_debug_core_launchConfigurationTypes.html
-org_eclipse_debug_core_launchDelegates.html
-org_eclipse_debug_core_launchers.html
-org_eclipse_debug_core_launchModes.html
-org_eclipse_debug_core_logicalStructureTypes.html
-org_eclipse_debug_core_processFactories.html
-org_eclipse_debug_core_sourceContainerTypes.html
-org_eclipse_debug_core_sourceLocators.html
-org_eclipse_debug_core_sourcePathComputers.html
-org_eclipse_debug_core_statusHandlers.html
-org_eclipse_debug_core_watchExpressionDelegates.html
-schema.css
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
deleted file mode 100644
index 98981aa52..000000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourceContainerTypes.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Container Types</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourceContainerTypes<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>This extension point allows for an extensible set of source container types to be contributed by the debug platform
- source lookup facilities.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourceContainerType">sourceContainerType</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourceContainerType">sourceContainerType</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourceContainerType</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this type</li>
-<li><b>name</b> - The name of this source container type use for presentation purposes.</li>
-<li><b>class</b> - A class that implements ISourceContainerType</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourceContainerType</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
- <a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
- ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
- BORDER=0 height=14 width=324></a>
- </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html b/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
deleted file mode 100644
index 930540395..000000000
--- a/org.eclipse.debug.core/doc/org_eclipse_debug_core_sourcePathComputers.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HEAD><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-<!-- default platform documentation stylesheets -->
-<style>@import url("book.css");</style>
-<!-- default schema documentation stylesheets -->
-<style>@import url("schema.css");</style>
-</HEAD>
-<HTML>
-<BODY>
-<H1><CENTER>Source Path Computers</CENTER></H1>
-<p></p>
-<h6 class=CaptionFigColumn id=header>Identifier: </h6>org.eclipse.debug.core.sourcePathComputers<p></p>
-<h6 class=CaptionFigColumn id=header>Since: </h6>3.0
-<p></p>
-
-<p>
-<h6 class=CaptionFigColumn id=header>Description: </h6>Defines an extension point to register a computer that can describe a default source lookup path for
- a launch configuration. Source path computers are associated with launch configuration types via the
- launchConfigurationTypes extension point. As well, a source path computer can be associated with a
- specific launch configuration via the launch configuration attribute ATTR_SOURCE_PATH_COMPUTER_ID.</p>
-<p><h6 class=CaptionFigColumn id=header>Configuration Markup:</h6></p>
-<p class=code id=dtd>&lt;!ELEMENT <a name="e.extension">extension</a> (<a href="#e.sourcePathComputer">sourcePathComputer</a>*)&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST extension</p>
-<p class=code id=dtdAttlist>point&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #IMPLIED<p class=code id=dtdAttlist>name&nbsp;&nbsp;CDATA #IMPLIED&gt;</p>
-<p></p>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>point</b> - a fully qualified identifier of the target extension point</li>
-<li><b>id</b> - an optional identifier of the extension instance</li>
-<li><b>name</b> - an optional name of the extension instance</li>
-</ul>
-<br><p class=code id=dtd>&lt;!ELEMENT <a name="e.sourcePathComputer">sourcePathComputer</a> EMPTY&gt;</p>
-<p class=code id=dtd>&lt;!ATTLIST sourcePathComputer</p>
-<p class=code id=dtdAttlist>id&nbsp;&nbsp;&nbsp;&nbsp;CDATA #REQUIRED<p class=code id=dtdAttlist>class&nbsp;CDATA #REQUIRED&gt;</p>
-<p></p>
-<p class=ConfigMarkup id=elementDesc>
-Defines an extension point to register a computer that can describe a default source lookup path
- for a launch configuration.</p>
-<br>
-<ul class=ConfigMarkup id=attlistDesc>
-<li><b>id</b> - The unique id used to refer to this computer.</li>
-<li><b>class</b> - A class that implements ISourcePathComputer.</li>
-</ul>
-<br><h6 class=CaptionFigColumn id=header>API Information: </h6>Value of the attribute <b>class</b> must be a fully qualified name of a Java class that implements the interface <b>ISourcePathComputer</b>.
-<p></p>
-
-<br>
-<p class=note id=copyright>
-<p>
- <a href="hglegal.htm">
- <img SRC="ngibmcpy.gif"
- ALT="Copyright (c) 2003 IBM Corporation and others. All Rights Reserved."
- BORDER=0 height=14 width=324></a>
- </p>
-<p></p>
-
-</p>
-</BODY>
-</HTML>
diff --git a/org.eclipse.debug.core/hglegal2003.htm b/org.eclipse.debug.core/hglegal2003.htm
deleted file mode 100644
index 47c8540c8..000000000
--- a/org.eclipse.debug.core/hglegal2003.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <LINK REL="stylesheet" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
- <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.
-</body>
-</html>
diff --git a/org.eclipse.debug.core/ngibmcpy2003.gif b/org.eclipse.debug.core/ngibmcpy2003.gif
deleted file mode 100644
index c786e43e1..000000000
--- a/org.eclipse.debug.core/ngibmcpy2003.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.debug.core/plugin.properties b/org.eclipse.debug.core/plugin.properties
deleted file mode 100644
index 62739c182..000000000
--- a/org.eclipse.debug.core/plugin.properties
+++ /dev/null
@@ -1,68 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-pluginName=Debug Core
-providerName=Eclipse.org
-launcherExtensionPointName=Launcher
-breakpointExtensionPointName=Breakpoint
-launchConfigurationTypeNameExtensionPointName=Launch Configuration Type
-launchConfigurationComparatorsExtensionPointName=Launch Configuration Comparators
-statusHandlerExtensionPointName=Status Handler
-sourceLocatorsExtensionPointName=Source Locator
-launchModesExtensionPointName=Launch Modes
-launchDelegatesExtensionPointName=Launch Delegates
-breakpointImportParticipantsExtensionPoint.name = Breakpoint Import Participant
-watchExpressionDelegatesName= Watch Expression Delegates
-processFactoriesExtensionPointName=Process Factories
-logicalStructureTypesExtensionPointName=Logical Structure Types
-logicalStructureProvidersExtensionPointName=Logical Structure Providers
-sourceContainerTypesName = Source Container Types
-sourcePathComputersName = Source Path Computers
-
-run=&Run
-debug=&Debug
-profile=&Profile
-runAs.label=&Run As
-debugAs.label=&Debug As
-profileAs.label=&Profile As
-
-env_var.description=Returns the value of an environment variable. An environment variable name must be specified as an argument.
-system_var.description=Returns the value of an Eclipse system variable. A variable name must be specified as an argument - one of ARCH, ECLIPSE_HOME, NL, OS, or WS.
-system_property.description=Returns the value of a system property from the Eclipse runtime. A system property name must be specified as an argument.
-
-containerName.archive = Archive
-containerDescription.archive = A jar or zip in the workspace containing source files
-containerName.externalArchive = External Archive
-containerDescription.externalArchive = A jar or zip in the local file system containing source files
-containerName.project = Project
-containerDescription.project = A project in the workspace
-containerName.folder = Workspace Folder
-containerDescription.folder = A folder in the workspace
-containerName.directory = File System Directory
-containerDescription.directory = A directory in the local file system
-containerName.workspace = Workspace
-containerDescription.workspace = All projects in the workspace
-containerName.default = Default
-containerDescription.default = Default source lookup path
-
-workspace_loc.description=Returns the absolute file system path of the workspace root. When an argument is specified, the absolute file system path of the resource identified by a workspace relative path is returned.
-container_loc.description=Returns the absolute file system path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-container_path.description=Returns the workspace relative path of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-container_name.description=Returns the name of a resource's container. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_loc.description=Returns the absolute file system path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_path.description=Returns the workspace relative path of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-project_name.description=Returns the name of a resource's project. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_loc.description=Returns the absolute file system path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_path.description=Returns the workspace relative path of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-resource_name.description=Returns the name of a resource. The target resource is the selected resource when no argument is specified, or the resource identified by a workspace relative path.
-
-LineBreakpoint.name = Line Breakpoint
-Breakpoint.name = Breakpoint
diff --git a/org.eclipse.debug.core/plugin.xml b/org.eclipse.debug.core/plugin.xml
deleted file mode 100644
index 19ba532a6..000000000
--- a/org.eclipse.debug.core/plugin.xml
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<!--
- Copyright (c) 2005, 2010 IBM Corporation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- IBM Corporation - initial API and implementation
- -->
-
-<plugin>
-
-
-<!-- Extension points -->
- <extension-point id="breakpoints" name="%breakpointExtensionPointName" schema="schema/breakpoints.exsd"/>
- <extension-point id="launchConfigurationComparators" name="%launchConfigurationComparatorsExtensionPointName" schema="schema/launchConfigurationComparators.exsd"/>
- <extension-point id="launchConfigurationTypes" name="%launchConfigurationTypeNameExtensionPointName" schema="schema/launchConfigurationTypes.exsd"/>
- <extension-point id="launchModes" name="%launchModesExtensionPointName" schema="schema/launchModes.exsd"/>
- <extension-point id="launchDelegates" name="%launchDelegatesExtensionPointName" schema="schema/launchDelegates.exsd"/>
- <extension-point id="launchers" name="%launcherExtensionPointName" schema="schema/launchers.exsd"/>
- <extension-point id="sourceLocators" name="%sourceLocatorsExtensionPointName" schema="schema/sourceLocators.exsd"/>
- <extension-point id="statusHandlers" name="%statusHandlerExtensionPointName" schema="schema/statusHandlers.exsd"/>
- <extension-point id="watchExpressionDelegates" name="%watchExpressionDelegatesName" schema="schema/watchExpressionDelegates.exsd"/>
- <extension-point id="processFactories" name="%processFactoriesExtensionPointName" schema="schema/processFactories.exsd"/>
- <extension-point id="logicalStructureTypes" name="%logicalStructureTypesExtensionPointName" schema="schema/logicalStructureTypes.exsd"/>
- <extension-point id="sourceContainerTypes" name="%sourceContainerTypesName" schema="schema/sourceContainerTypes.exsd"/>
- <extension-point id="sourcePathComputers" name="%sourcePathComputersName" schema="schema/sourcePathComputers.exsd"/>
- <extension-point id="logicalStructureProviders" name="%logicalStructureProvidersExtensionPointName" schema="schema/logicalStructureProviders.exsd"/>
- <extension-point id="breakpointImportParticipants" name="%breakpointImportParticipantsExtensionPoint.name" schema="schema/breakpointImportParticipants.exsd"/>
-
-<!-- Extensions -->
- <extension
- id="breakpointMarker"
- name="%Breakpoint.name"
- point="org.eclipse.core.resources.markers">
- <super
- type="org.eclipse.core.resources.marker">
- </super>
- <persistent
- value="true">
- </persistent>
- <attribute
- name="org.eclipse.debug.core.modelIdentifier">
- </attribute>
- <attribute
- name="org.eclipse.debug.core.enabled">
- </attribute>
- <attribute
- name="org.eclipse.debug.core.registered">
- </attribute>
- <attribute
- name="org.eclipse.debug.core.persisted">
- </attribute>
- </extension>
- <extension
- id="lineBreakpointMarker"
- name="%LineBreakpoint.name"
- point="org.eclipse.core.resources.markers">
- <super
- type="org.eclipse.debug.core.breakpointMarker">
- </super>
- <super
- type="org.eclipse.core.resources.textmarker">
- </super>
- <persistent
- value="true">
- </persistent>
- </extension>
- <extension
- point="org.eclipse.team.core.fileTypes">
- <fileTypes
- type="text"
- extension="launch">
- </fileTypes>
- </extension>
- <extension
- point="org.eclipse.debug.core.launchModes">
- <launchMode
- label="%run"
- launchAsLabel="%runAs.label"
- mode="run">
- </launchMode>
- <launchMode
- label="%debug"
- launchAsLabel="%debugAs.label"
- mode="debug">
- </launchMode>
- <launchMode
- label="%profile"
- launchAsLabel="%profileAs.label"
- mode="profile">
- </launchMode>
- </extension>
-<!-- Dynamic (String Substitution) Variables -->
- <extension
- point="org.eclipse.core.variables.dynamicVariables">
- <variable
- name="env_var"
- resolver="org.eclipse.debug.internal.core.EnvironmentVariableResolver"
- description="%env_var.description">
- </variable>
- <variable
- name="system"
- resolver="org.eclipse.debug.internal.core.SystemVariableResolver"
- description="%system_var.description">
- </variable>
- <variable
- name="system_property"
- resolver="org.eclipse.debug.internal.core.SystemPropertyResolver"
- description="%system_property.description">
- </variable>
- <variable
- description="%workspace_loc.description"
- name="workspace_loc"
- resolver="org.eclipse.debug.internal.core.variables.WorkspaceResolver">
- </variable>
- <variable
- name="project_loc"
- description="%project_loc.description"
- resolver="org.eclipse.debug.internal.core.variables.ProjectResolver">
- </variable>
- <variable
- name="project_path"
- description="%project_path.description"
- resolver="org.eclipse.debug.internal.core.variables.ProjectResolver">
- </variable>
- <variable
- name="project_name"
- description="%project_name.description"
- resolver="org.eclipse.debug.internal.core.variables.ProjectResolver">
- </variable>
- <variable
- name="resource_loc"
- description="%resource_loc.description"
- resolver="org.eclipse.debug.internal.core.variables.ResourceResolver">
- </variable>
- <variable
- name="resource_path"
- description="%resource_path.description"
- resolver="org.eclipse.debug.internal.core.variables.ResourceResolver">
- </variable>
- <variable
- name="resource_name"
- description="%resource_name.description"
- resolver="org.eclipse.debug.internal.core.variables.ResourceResolver">
- </variable>
- <variable
- name="container_loc"
- description="%container_loc.description"
- resolver="org.eclipse.debug.internal.core.variables.ContainerResolver">
- </variable>
- <variable
- name="container_path"
- description="%container_path.description"
- resolver="org.eclipse.debug.internal.core.variables.ContainerResolver">
- </variable>
- <variable
- name="container_name"
- description="%container_name.description"
- resolver="org.eclipse.debug.internal.core.variables.ContainerResolver">
- </variable>
- </extension>
-
-<!-- ====================== -->
-<!-- source containers -->
-<!-- ====================== -->
- <extension
- point="org.eclipse.debug.core.sourceContainerTypes">
- <sourceContainerType
- name="%containerName.project"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.ProjectSourceContainerType"
- id="org.eclipse.debug.core.containerType.project"
- description="%containerDescription.project">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.folder"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.FolderSourceContainerType"
- id="org.eclipse.debug.core.containerType.folder"
- description="%containerDescription.folder">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.directory"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.DirectorySourceContainerType"
- id="org.eclipse.debug.core.containerType.directory"
- description="%containerDescription.directory">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.workspace"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.WorkspaceSourceContainerType"
- id="org.eclipse.debug.core.containerType.workspace"
- description="%containerDescription.workspace">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.default"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.DefaultSourceContainerType"
- id="org.eclipse.debug.core.containerType.default"
- description="%containerDescription.default">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.archive"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.ArchiveSourceContainerType"
- id="org.eclipse.debug.core.containerType.archive"
- description="%containerDescription.archive">
- </sourceContainerType>
- <sourceContainerType
- name="%containerName.externalArchive"
- class="org.eclipse.debug.internal.core.sourcelookup.containers.ExternalArchiveSourceContainerType"
- id="org.eclipse.debug.core.containerType.externalArchive"
- description="%containerDescription.externalArchive">
- </sourceContainerType>
- </extension>
-
-<!-- ===================================== -->
-<!-- launch configuration comparators -->
-<!-- ===================================== -->
- <extension
- point="org.eclipse.debug.core.launchConfigurationComparators">
- <launchConfigurationComparator
- attribute="org.eclipse.debug.core.source_locator_memento"
- class="org.eclipse.debug.internal.core.sourcelookup.SourceLocatorMementoComparator"
- id="org.eclipse.debug.core.sourceLocatorMementoComparator">
- </launchConfigurationComparator>
- <launchConfigurationComparator
- attribute="org.eclipse.debug.core.ATTR_REFRESH_SCOPE"
- class="org.eclipse.debug.internal.core.RefreshScopeComparator"
- id="org.eclipse.debug.core.comparator.refresh.scope">
- </launchConfigurationComparator>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="org.eclipse.debug.internal.core.DebugPreferenceInitializer">
- </initializer>
- <modifier
- class="org.eclipse.debug.internal.core.PreferredDelegateModifyListener">
- </modifier>
- </extension>
-
-<!-- ===================================== -->
-<!-- property testers -->
-<!-- ===================================== -->
- <extension point="org.eclipse.core.expressions.propertyTesters">
- <propertyTester
- namespace="org.eclipse.debug.core"
- properties="launchable"
- type="java.lang.Object"
- class="org.eclipse.debug.internal.core.LaunchablePropertyTester"
- id="org.eclipse.debug.core.propertyTesters.launchable">
- </propertyTester>
- </extension>
-</plugin>
diff --git a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
deleted file mode 100644
index 90f26fd52..000000000
--- a/org.eclipse.debug.core/r2_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,1102 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
- <title>Platform Debug Release Notes for the 2.0 release</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 20, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20365">20365</a>: Bidi - NPE when closing Eclipse<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 19, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20492">20492</a>: Extra separator in run/debug history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19878">19878</a>: Collapse/expand symbol (+/-) dissappears in inspect window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19998">19998</a>: NullPointerException when launching rsource that has no extension<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20066">20066</a>: TVT2: Hardcoded "None" in debug preferences<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20594">20594</a>: Preference listeners should use equals, not ==<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19928">19928</a>: Run/Debug menu ordering<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17462">17462</a>: IllegalArgumentException when printing long stack to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19375">19375</a>: Duplicate launch config naming problem<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is Runtime<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19740">19740</a>: Content assist is now retargetable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 10, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19613">19613</a>: LaunchConfig marked PRIVATE shows in Console View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19338">19338</a>: Missing copyrights<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 7, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - a spelling mistake was fixed in the name of a method in IPersistableSourceLocator</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18789">18789</a>: Source editor not given focus on suspend<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19170">19170</a>: LaunchConfigurationDialog etc leakage when last launched is<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18772">18772</a>: Launch Configurations: Table is cut off on motif<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19379">19379</a>: Debug remembers selected state of toolbar entry even if it is no longer enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19443">19443</a>: IPersistableSourceLocator has misspelled method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19489">19489</a>: References to IDebugViewAdapter (DOC)<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-June 1, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18209">18209</a>: Unable to run a program on first attempt<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 31, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15671">15671</a>: Strange behavior of the console view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17017">17017</a>: Not always prompted to find source location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18334">18334</a>: Launch view holding onto Objects longer than necessary<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18153">18153</a>: launch last and run/debug buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18385">18385</a>: NPE during launching after removing the launch info<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16946">16946</a>: several Eclipse buttons are too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18474">18474</a>: Empty group in history menus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16764">16764</a>: Debug Perspective leaks actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10383">10383</a>: Help pass for 2.0<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16152">16152</a>: NLS pass<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16379">16379</a>: Launch configs tree is missing label and is not wide enough<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 30, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17087">17087</a>: Launch view, source lookup and closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17029">17029</a>: DCR: Please let me specify a launch history size of 20<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16378">16378</a>: Missing icons in launch config creation tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18156">18156</a>: Debug/Run As cascade menu should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16462">16462</a>: Not all tabs visible in Run-time Workbench config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18154">18154</a>: Launch shortcuts menu labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16685">16685</a>: Internal error changing launch history preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16963">16963</a>: Mneumonic missing on table label for Select Launch Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16975">16975</a>: Up/down button on launch history page not working correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17512">17512</a>: Missing mneumonics in Console Preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18222">18222</a>: All XML written using platform line delimiters/UTF8<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16955">16955</a>: NPE opening java perspective.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17633">17633</a>: ActionDelegateHelper should nullify fTextEditor when it does not need it<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17380">17380</a>: Launch history maintains duplicate entries<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14406">14406</a>: Debug menu items becoming disabled inappropriately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17794">17794</a>: Disabled actions in the context menu of the Launch config dialog viewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17358">17358</a>: Revert button not enabled after changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17116">17116</a>: Launch related walkbacks in .log<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18099">18099</a>: Change provider name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17490">17490</a>: F1 help for launch config tabs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18121">18121</a>: Static menus items should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17649">17649</a>: ObjectCollectedException written to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16838">16838</a>: Over zealous error logging when config has been deleted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17105">17105</a>: Attempt to save shared launch configs in closed projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18122">18122</a>: Scrapbook configs show up in list for Launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16970">16970</a>: ClassCastException out of Launch history preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16492">16492</a>: CommonTab Switch to String<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16956">16956</a>: NPE opening java perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17100">17100</a>: Launch Config name with underscore is truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16638">16638</a>: Missing menmonic on Debug Action Groups page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17072">17072</a>: "Show Supported Breakpoints" has just one calorie, not meaningful enough<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17946">17946</a>: Generalize launch shortcuts/convenience actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 28, 2002
-<h3>
-What's new in this drop</h3>
-<li>New/replaced extension point. The extension point "org.eclipse.debug.ui.launchConfigurationShortcuts" has
- been replaced with "org.eclipse.debug.ui.launchShortcuts". Please see extension point documentation
- for details.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 27, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16757">16757</a>: Launch.removeDebugTarget does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17534">17534</a>: Two huge bugs in Launch class<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17676">17676</a>: Run menu history menus not updated after organize favorites<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17069">17069</a>: NPE deleting project with shared config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16655">16655</a>: Streams are not closed when a java program is finished<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 21, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16185">16185</a>: Show/hide package names button in doesn't work in debug view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15964">15964</a>: Updates to preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16476">16476</a>: TextViewerGotoLineAction$NumberValidator<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 19, 2002
-<h3>
-What's new in this drop</h3>
-<li>API change - deprecated method was removed - ILaunchConfigurationTab.isValid()</li>
-<li>New extension point - org.eclipse.debug.core.launchConfigurationComparator. This
- extension point is for launch configuration attributes that require a custom
- equality implementation. See documentation for extension point.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15704">15704</a>: Default "Maximum launch history size" should be at least 10<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15560">15560</a>: Cancel button on edit Configurations is much smaller than others<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15952">15952</a>: Remove deprecated method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15953">15953</a>: No longer expanding debug target to show threads<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15988">15988</a>: ArrayIndexOutOfBoundsException in config reselection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16107">16107</a>: NPE opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16063">16063</a>: Preference pages now re-size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16060">16060</a>: Re-sizable launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15850">15850</a>: LaunchView changes required from platform ui changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16143">16143</a>: Multiple *.launch filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12032">12032</a>: Debug Constants should include value in javadoc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6485">6485</a>: Extension & Package documentation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16217">16217</a>: launch config "revert" causes flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16325">16325</a>: Content assist action icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16356">16356</a>: NPE out of ConsoleDocumentManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16148">16148</a>: IProcess should support an exit value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14927">14927</a>: Cancel button in progress monitor of launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15775">15775</a>: Deleting launch config should select the next config<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16113">16113</a>: Execution arguments gets lost if starting a class file of a jar library<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 14, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13766">13766</a>: Error recovery on failed launch - need to bring up dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11540">11540</a>: Misc Debugger source lookup dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15506">15506</a>: Switching launch configs should show busy cursor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15618">15618</a>: DebugDropDownAction missing resource string<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15375">15375</a>: ClassCastException trying to resume<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15720">15720</a>: Debug perspective should define place holders for standard views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12316">12316</a>: Message (stack trace) silently written to console when trying to run small java example<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4130">4130</a>: Eclipse Debugger: Setting Breakpoints via keyboard not possilbe (1GITILH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15449">15449</a>: 'show detail pane' toolbar button behaves differently than other buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12904">12904</a>: Creating shard Launch Configuration fails<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15748">15748</a>: Duplicate action in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16848">15848</a>: Change Debug Menu id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15533">15533</a>: DebugAction contains redundant cascade menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14922">14922</a>: Config created by double clicking on launch type; delete not enabled<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-May 08, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9034">9034</a>: Variables view should scroll to display new variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12001">12001</a>: Plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14412">14412</a>: Launch configuration XML should be written to file immediately<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15246">15246</a>: Allow private launch configs to perspective switch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15325">15325</a>: Remove 'Configuration' from debug action labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1636">1636</a>: Copy/paste across console docs (1GF61GB)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13457">13457</a>: Should expose launch history length as user preference<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15024">15024</a>: Launch configuration dialog doesn't display "favorite" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15180">15180</a>: DND.ERROR_CANNOT_SET_CLIPBOARD must be handled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14657">14657</a>: LaunchDropDownAction and coolbar support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14897">14897</a>: many missing '...' on buttons in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15362">15362</a>: Standard out not always hooked to console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15446">15446</a>: first click in the debug/launch history preference page results in exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11894">11894</a>: Mneumonic collision in the debug menu<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 30, 2002
-<h3>
-What's new in this drop</h3>
-<li>Changes in the launch configuration dialog:
- <ul>
- <li>To free up screen real estate for editing launch configurations, the tree of launch
- configurations has been made more narrow by removing the "copy" button from the
- dialog. The "new" button copies a configuration when a configuration is selected, and
- creates a new configuration (based on the workbench selection) when a configuration
- type is selected.</li>
- <li>The "Cancel" button has been replaced with a "Close" button (closing the dialog
- does not cancel changes). You will be prompted to save unsaved changes.</li>
- <li>A "Revert" button has been added to the edit area to revert changes on the
- currently selected launch configuration (under edit).</li>
- </ul>
-</li>
-<li>Changes to launch behavior
- <ul>
- <li>Pressing the run or debug toolbar buttons launches the configuration that was last launched
- (in the workspace), in the appropriate mode (run or debug).</li>
- <li>To create a new launch configuration, use the cascading menu items on the run or debug
- menu. For example "New Configuration -> Local Java Application" - this will create a new
- configuration based on the selection in the workbench (or active editor).</li>
- <li>"Single-click launching" preference has been removed. It was determined that a preference
- which changes the behavior of a toolbar button is disorienting to the user.</li>
- </ul>
-</li>
-<li>Changes to ILaunchManager
- <ul>
- <li>API for setting default launch configuration types has been removed.</li>
- </ul>
-</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13537">13537</a>: DebugActionGroups: Clearer wording in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13909">13909</a>: Inconsistent margins on preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11889">11889</a>: Buttons too small in the Console and Launch Configuration Preference pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13513">13513</a>: Running a debug view in a Java perspective has several problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13536">13536</a>: DebugActionGroups: Collision on ID wipes out both action groups<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13317">13317</a>: New Configuration menu empty<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14560">14560</a>: Deleting breakpoint selects another breakpoint in the wrong direction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14143">14143</a>: Breakpoints View appears with "Go to file" button enabled regardless of breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9834">9834</a>: Views do not remember package visibility filter settings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11904">11904</a>: Debug menu mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14797">14797</a>: NumberFormatException if cancel Go to line in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13440">13440</a>: menu reorganization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14550">14550</a>: Need to be able to make launch configuration type invisible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6388">6388</a>: Variables view's static and field buttons are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14495">14495</a>: clipboards must be disposed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13665">13665</a>: Debug preference page looks cluttered<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14485">14485</a>: Cannot delete a launch config using the Delete key<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14486">14486</a>: Default perspective for Run should not be Debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11697">11697</a>: Debug Preference Page needs group box<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14540">14540</a>: Relaunch action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14556">14556</a>: Enable breakpoint action using old selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14520">14520</a>: Debug plugins should provide consistent unique identifier access<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12577">12577</a>: Launch configurations wizard - usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13555">13555</a>: Edit configuration dialog UI confusing<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12292">12292</a>: Unable to suspend a running thread to see stack frames<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 23, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13836">13836</a>: Missing and duplicated extensions in debug plugin.xml<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12125">12125</a>: NLS debug projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14111">14111</a>: Console terminate button not enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13041">13041</a>: Remove all terminated action incorrectly enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13372">13372</a>: Strange UI feedback when breakpoint hit during evaluation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13430">13430</a>: Open on Type in console can work better; less beep<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12184">12184</a>: IncompatibleThreadStateException on launchAdded<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14190">14190</a>: Stack dumps noticed in log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14125">14125</a>: Debug view "Resume" always jumps to source - menu item does not<br>
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12132">12132</a>: Can't launch debugger if proxy set.<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 18, 2002
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Support for old launchers has been removed (ILauncher, ILauncherDelegate, ILaunchWizard).
- Launch configruations now rule the launching world.</li>
-<li>The extension point "org.eclipse.debug.ui.launchTabs" has been removed and replaced with
- a new extension point "org.eclipse.debug.ui.launchTabGroups".</li>
-<li>The constants IDebugUIConstants.PREF_AUTO_SHOW_DEBUG_VIEW & IDebugUIConstants.PREF_AUTO_SHOW_PROCESS_VIEW
- have been removed. Users can now set a default perspective for each of Run & Debug which may be
- overridden in a launch configuration.</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13385">13385</a>: Showing detail should be disabled when multi-select in var view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12788">12788</a>: Cut, copy, paste actions don't work in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8590">8590</a>: Allow position of "step debug" in step tools<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12982">12982</a>: Need ability to set initial state of debug view based on AbstractDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13554">13554</a>: Incorrect dependencies: result is NPE in DebugActionGroupsManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13714">13714</a>: Pressing Apply makes tabs disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13307">13307</a>: NPE in launch configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12382">12382</a>: Action set part association for the launch view?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13285">13285</a>: Debug/Run With use old launchers when in config mode<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13425">13425</a>: Double click to expand/contract tree in variable and expression views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13864">13864</a>: npe on lanuning (latest after 0412)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12281">12281</a>: Launch configuration tab widgets are private<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13501">13501</a>: hostname cut off when show qualified names is off<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12257">12257</a>: remove single event handling support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12722">12722</a>: Actions for configuration dialogs should appear on Debug menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13324">13324</a>: Change of selection lost in Launch configuration dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11942">11942</a>: Single click launching preference text<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13088">13088</a>: NPE in the log after exiting workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13565">13565</a>: Properties page for process should not contain defaults/apply buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13853">13853</a>: native code error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13613">13613</a>: Delegating presentation and #setAttribute()...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12962">12962</a>: Same target shows up twice in drop-downs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13375">13375</a>: Show Detail Pane in popup menu missing mneumonic<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12785">12785</a>: Select all in the details pane selects all variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13383">13383</a>: Copy variables action not enabled correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13993">13993</a>: Debug and Run buttons have been accidentally swapped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12953">12953</a>: Action "type" constants should be moved from AbstractDebugView to IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14124">14124</a>: Launch configuration classes not in launch configuration package<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 11, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12677">12677</a>: Single click launching and F11, Ctrl-F11<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13214">13214</a>: ArrayOutOfBoundException in launch history pref page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13480">13480</a>: NPE creating Java Project when running Runtime Workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13345">13345</a>: exception in log - after opening/closing projects<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13085">13085</a>: DebugActionGroups cannot handle two actions with same ID in views<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 09, 2002
-<h3>
-What's new in this drop</h3>
-<li>A new extension point exists in the debug ui to control the types of launch configurations that can
- be created from the cascading "New run/debug configuration" menu (off the run/debug dropdown menus).
- A type of configuration can be contributed to mulitple perspectives.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1696">1696</a>: DCR: Perspective specific launcher filtering (1GIYJXH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11733">11733</a>: duplicate shared config after close & restart<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11899">11899</a>: Launch config name collission<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12658">12658</a>: Single click launching doesn't work if the active editor isn't selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12488">12488</a>: Launch config dialog should allow double-click on config type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11710">11710</a>: Deleting a launch configuration leaves no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12598">12598</a>: Launch config - tab group API inconvenience<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11190">11190</a>: cannot set working directory if it includes a japanese character<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12160">12160</a>: Launch creation/lifecycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8772">8772</a>: Infinitely looping stack trace in target pgm locks UI<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12619">12619</a>: Exception during startup.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10282">10282</a>: Rendering of changed variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12310">12310</a>: Need ability to determine if a breakpoint applies to a target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12981">12981</a>: Launcher - listed name does not match given name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9825">9825</a>: Action icon inconsistencies<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12891">12891</a>: Several IOExceptions from .log in StreamsProxy.write(StreamsProxy.java:92)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11906">11906</a>: Useless single click launch for classes with no main<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12276">12276</a>: Index out of bounds exception from launch configuration dialog<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-April 2, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12289">12289</a>: Breakpoint should extend platform object<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12548">12548</a>: Debug event filters should use event sets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12613">12613</a>: Exception when on target workspace when starting eclipse<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11756">11756</a>: Launch config dialog: button sizes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11923">11923</a>: Console preference page needs reworking<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11880">11880</a>: Launch ConfigurationType property page missing accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11925">11925</a>: Up/down buttons for launch history restricted to single select<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11457">11457</a>: Launch Configuration Dialog issues<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11702">11702</a>: Launch configuration defaults are set after widgets are initialized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11330">11330</a>: JavaEnvironmentTab depends on JavaMainTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11053">11053</a>: Launch view too optimistic on source lookup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11982">11982</a>: Logging exceptions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12339">12339</a>: NPE when i switch to debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7609">7609</a>: Attempting to go to a marker that no longer exists<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11326">11326</a>: Restore instead of rebuild launch config index<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11720">11720</a>: Need replacement for #hasChildren<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 26, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breaking API change: IDebugViewAdapter had been renamed to IDebugView</li>
-<li>Launch configurations are the default launch mechanism.</li>
-<li>Debug events are reported in sets. @see IDebugEventSetListener and IDebugEventListener</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11610">11610</a>: Doc: identifier for launch extension points are incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11401">11401</a>: API on ILaunch.getDebugTarget() <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11303">11303</a>: Deadlock on startup processing breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11919">11919</a>: 2 NPEs using Preferences->Debug->Launch Configuration Types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6212">6212</a>: Debug view toolbar/menu pollution<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11849">11849</a>: Duplicate history items showing up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10448">10448</a>: IExpressionManager#hasExpression, IBreakpointManager#hasBreakpoints,etc.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10817">10817</a>: configs in java packages get copied to output folder<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11207">11207</a>: IDebugViewAdapter should be named IDebugView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11612">11612</a>: Agressive clearing of instruction pointer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12025">12025</a>: Invalid thread access out of Launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12229">12229</a>: Set default launching style to configuration based<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9650">9650</a>: Variable change notification bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12157">12157</a>: Debug event sets<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 18, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11197">11197</a>: Feature request: Delete in breakpoints view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11212">11212</a>: Debug UI plugin.xml references jdt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11308">11308</a>: Launch configurations make workspace non-transportable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11346">11346</a>: Registering a launch multiple times is not handled well<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10586">10586</a>: Use new workbench selection service<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11425">11425</a>: ILaunchConfiguration JavaDoc is incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11189">11189</a>: Flicker in the Launch Configurations dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11253">11253</a>: Launch config tab flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11370">11370</a>: Launch view update bug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11462">11462</a>: Launch config metadata change generates parse exception<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10637">10637</a>: "currently active project" should be the "current working directory"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10162">10162</a>: Console View to front on error output only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8937">8937</a>: Feature Request: Select all in the breakpoints view<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 12, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10775">10775</a>: New, delete copy of Launch configurations remain disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10780">10780</a>: Delete and Copy enabled for Launch configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10778">10778</a>: Launch configuration names should be trimmed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6376">6376</a>: Should be possible to remove entries from the "Run list"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10855">10855</a>: Use new workbench API for show perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10610">10610</a>: Null exception when lauchviewer processing events on remove tree items<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8420">8420</a>: Cannot edit ExpressionView detail area until after inspect.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11076">11076</a>: Delete configs reamin in favorite list<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9922">9922</a>: Null pointer in launch configuration type property page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7605">7605</a>: Feature: Doubleclicking in launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11072">11072</a>: History menu update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8294">8294</a>: "Debug History" and "Run History" have empty submenus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11133">11133</a>: NPE in LaunchView.initializeSelection()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11110">11110</a>: NPE in AbstractListenerActionDelegate.pageActivated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10847">10847</a>: API - AbstractLaunchConfiguration tab<br>
-<h3>
-
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch Configuration API has changed. The launch configuration tab lifecycle is now similar
- to that of preference and wizard pages.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9680">9680</a>: Launch config: pressing save returns to first tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9660">9660</a>: Launch Config Flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10524">10524</a>: Provide default label provider API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10506">10506</a>: NPE in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10582">10582</a>: SWT Exception closing a Debug Perspective in JUnit test<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7207">7207</a>: Launch configuration bugs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10652">10652</a>: Remove action enabled when nothing to be removed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7430">7430</a>: Debug perspective not reused<br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 28, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10243">10243</a>: ClassCastException when removing a breakpoint<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 26, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7767">7767</a>: Changing from "Debug View"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 14, 2002
-<h3>
-What's new in this drop</h3>
-<li>As part of the transition to configuration-based launching, early adopters may
-continue to access the launch configuration dialog by Shift-clicking the run and debug
-buttons, but configuration-based launches will NOT appear in the history, and
-CANNOT be relaunched.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9166">9166</a>: NPE in preference page<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9483">9483</a>: NPE in LaunchConfigurationTypePropertyPage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9652">9652</a>: IllegalArgumentException out of Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9704">9704</a>: NPE on shutdown in BreakpointsView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9167">9167</a>: LaunchConfigurationLabelDecorator should not be on by default<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 12, 2002
-<h3>
-What's new in this drop</h3>
-<li>Removed deprecated constant IDebugUIConstants.ID_PROCESS_VIEW</li>
-<li>Basic icons and their support has been removed</li>
-<li>Breakpoint property sheet has been replaced with breakpoint properties dialog.
- Choose "Properties..." from the pop-up menu in the breakpoints view.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8230">8230</a>: Console does not show process as <terminated>; better tracking of changes<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9194">9194</a>: Attempting to modify locked resource tree in BreakpointManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9218">9218</a>: NPE in LaunchConfigurationLabelDecorator.isLaunchConfigFile<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9280">9280</a>: Debug event handlers performing runnables after dispose<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9057">9057</a>: API - CHANGE event should be better specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9111">9111</a>: Invalid thread access running test suite<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6370">6370</a>: Breakpoint Properties Dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9327">9327</a>: JavaDebugOptionsManager startup loading breakpoints during resource changed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9200">9200</a>: Editor not opening for suspended stack frame with modified prefs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9178">9178</a>: Remove All Terminated always disabled?<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9065">9065</a>: WID opening editor for breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8296">8296</a>: Debug With menu items have interesting numbering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9421">9421</a>: NPE out of the LaunchView on shutdown with running target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7301">7301</a>: no way to switch to custom debug perspective on debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5311">5311</a>: Missing debug information should be conveyed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1683">1683</a>: Extra Action delegates (1GIGUK0)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9299">9299</a>: NPE in LaunchView.showMarkerForCurrentSelection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-February 05, 2002
-<h3>
-What's new in this drop</h3>
-<li>Launch configuration infrastructure and UI is available for early adopters.
-Developers that have contributed launchers should migrate to launch configurations. To
-access launch configurations from the workbench, press the run/debug buttons while holding
-the SHIFT key down.</li>
-<li>The debugger indicates variables that have changed since the last suspend. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>.</i>
-<li>The debug action set has been renamed from Debug/Run to Debug. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>.</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8729">8729</a>: Rename Debug action set from "Debug/Run" to "Debug"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8945">8945</a>: Non-Persisted breakpoint can be incorrectly deleted at startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7965">7965</a>: Debug view refresh flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1533">1533</a>: Feature: notification of changing variables (1G5NRPC)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1721">1721</a>: Small Feature: separate disable/enable breakpoints (1GKKEI5)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8245">8245</a>: Launch preferences page problems<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1621">1621</a>: Debugger doesn't come to front when breakpoint is hit (1GEUZEX)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9102">9102</a>: Remove & Terminate walkback<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6807">6807</a>: launch configurations not crash proof<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 29, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7837">7837</a>: Launch configuration page verifier error<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8235">8235</a>: Ctrl-space does not work for code assist in details pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7763">7763</a>: (usability) selecting in variables view with details pane causes un-maximize<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7814">7814</a>: API for char range within a line<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8501">8501</a>: "Disable all" breakpoints action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7864">7864</a>: Need API for selection changes in debug view<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 24, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8059">8059</a>: NPE out of ControlActionDelegate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8005">8005</a>: Terminate & Remove disabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8063">8063</a>: NPE in BreakpointsView when closing workbench<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8318">8318</a>: internal error occured, if open the menu "Debug -> Debug History"<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 22, 2002
-<h3>
-What's new in this drop</h3>
-<li>Breakpoint API has been updated to allow selective persistence of breakpoint
-of the same type</li>
-<li>Breakpoint API now allows for "hidden" breakpoints. @see IBreakpoint.isRegistered()</li>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7578">7578</a>: .metadata launch files not in correct location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7626">7626</a>: Widget is disposed error relaunching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1710">1710</a>: DCR - Launcher should have control over perspective switching (1GJUT9J)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6480">6480</a>: Launch configurations - store with workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7961">7961</a>: updating source twice per suspend event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7507">7507</a>: debugger keyboard shortcuts do not work in 20020109<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=2990">2990</a>: Internal errors when fast clicking in debug stack (1GLDZVH)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7974">7974</a>: Stack overflow pression "remove all" from Expression View<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1563">1563</a>: Fully qualified rendering of launch element name (1GD7U0Z)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7418">7418</a>: Need the Process view back<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7627">7627</a>: Tooltips not working in debug views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7755">7755</a>: The Breakpoints pane should highlight the breakpoint where the debugger stops<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5141">5141</a>: Breakpoint manager can use new marker API<br>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 15, 2002
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6088">6088</a>: Move "qualified name" rendering to java debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7420">7420</a>: "Debug UI.xml" references JDT<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7580">7580</a>: NPE out of AbstractDebugEventHandler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7513">7513</a>: Terminate and remove fails to remove when timeouts occur<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7316">7316</a>: Inconsistent casing for Show detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7370">7370</a>: TimeoutException occurs during stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1714">1714</a>: Confusion of launches from different projects in history (1GJYNLK)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-January 9, 2002
-<h3>
-What's new in this drop</h3>
-<li>The debugger now uses the workbench editor re-use policy.</li>
-<li>There is no longer a Process view. The Debug view shows all debug
-sessions and processes launched. When a workspace is re-started that
-had a Process view open, an error message will appear explaining that
-the Process view could not be created.</li>
-<li>The debug action set has been split into two groups - debug and launch.
-Existing debug and Java perspectives need to be closed and re-opened to obtain
-run and debug buttons in the toolbar. @see bug 1724.</li>
-<li>There is no longer an Inspector view - it has been replaced with an
-Expressions view. When a workspace is re-started that had an Inspector
-view open, an error message will appear explaining the Inspector view
-could not be created.</li>
-<li>A launch can be annotated with client specific data. @see bug 6481.</li>
-<li>A launch can now contain more than one debug target. API has changed
- in ILaunch, ILaunchListener, and ILaunchManager to suppport this.</li>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7120">7120</a>: NPE during shutdown of DebugUIPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6954">6954</a>: Use new workbench API for openning perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6206">6206</a>: Make AbstractDebugView API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7151">7151</a>: Toggling ShowDetailPaneAction sets focus to the launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7164">7164</a>: NPE during shutdown to do with DebugSelectionManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1724">1724</a>: Feature: split debug action set in to debug & launch (1GKCQVZ)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7167">7167</a>: NPE shutting down in abstract debug view 'save state'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6771">6771</a>: DebugEvent constructors changed to take IDebugElement<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1574">1574</a>: Settings in debug views not persisted (1GDTUNW)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6105">6105</a>: Step accelerators should not take focus from editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1671">1671</a>: Option to autoclear terminated processes (1GHSO3L)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6357">6357</a>: Combine Process/Debug Views<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6200">6200</a>: Extensible set of debug elements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7204">7204</a>: Copy variables action needs icon<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7031">7031</a>: Inspector is missing a toString area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6213</a>: Breakpoints view improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6213">6481</a>: Feature: Annotate launch with transaction id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1617">1617</a>: type names not always shown in inspector (1GEULC4)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6484">6484</a>: Ability for "super adaptor"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6783">6783</a>: Console should not steal focus while writing output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7277">7277</a>: Step detail events for into/over/return<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6214">6214</a>: More that one debug target per lanuch<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6482">6482</a>: Ability to group debug targets in one launch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6215">6215</a>: Exception handling in variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1688">1688</a>: Object display options (1GIKMIG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1606">1606</a>: Feature: Source Lookup (1GEPJEN)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1553">1553</a>: Handling of no source is confusing (1GC2TVU)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7166">7166</a>: Remove terminated launches preference does not applied correctly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7169">7169</a>: Debug "F" keys not enabled properly on new editor<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 18, 2001
-<h3>
-What's new in this drop</h3>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5260">5260</a>: TVT: Properties view for debug process is missing substitution variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7003">7003</a>: Debug With menu launches incorrect program (not finding selection)<br>
-
-<h3>
-Problem Reports Closed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1548">1548</a>: Extensible launch modes (1GBEQYO)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1592">1592</a>: DebugPlugin must allow for null elements in updateHistory() (1GEI3C1)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6886">6886</a>: Request: Keep perspective when running application<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1627">1627</a>: Previous editor's unsaved contents are still visible (1GEX5LS)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 11, 2001
-<h3>
-What's new in this drop</h3>
- <ul>
- <li>The "relaunch last" action has been remapped to use F9 instead of F10.
- Please see "<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10" for details.
- </li></ul>
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6387">6387</a>: Can't use F10 <br>
-<h3>
-Problem Reports Closed</h3>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 6, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Variables view stays empty with stack frame selected (1GLE8PW) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6577">6577</a>: NPE in DebugContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6598">6598</a>: Problem using old workspace with new build <br>
-<h3>
-Problem Reports Closed</h3>
-
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-December 4, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6321">6321</a>: Console IOException <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6216">6216</a>: Help for debug views in 1.0 <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6521">6521</a>: Newly added resources cannot be checked out <br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1715">1715</a>: Consider removing state change actions from BreakpointsView (1GKKT90)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1559">1559</a>: Debugger doesn't pop to front when breakpoint hit (1GD7P7D) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1564">1564</a>: README: printf's in native code only show up in console at the end of execution (1GD80QZ) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1588">1588</a>: README: System.exit(0) from Scrapbook (1GE8JU3) <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5485">5485</a>: NPE if missing launcher when using launch history <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1770">1770</a>: Last launch not updated upon deletion (1GLEANH) <br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 27, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Procedural Debug API - new debug element interfaces have been defined to support the notion of registers,
-register groups, memory blocks, and memory block retrieval:
- <ul>
- <li>IRegister - a register in a register group</li>
- <li>IRegisterGroup - register groups are available from each stack frame (that supports registers)</li>
- <li>IMemoryBlock - a contiguos block of bytes from memory allocated by a running program</li>
- <li>IMemoryBlockRetrieval - support to retrieve arbitrary blocks of memory from a running program</li>
- </ul>
-</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1720">1720</A>: Issue: breakpoint manager breaks lazy plug-in load rule (1GK<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6097">6097</A>: The inspector is not refresh<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 20, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>API Change - method addition - @see ILaunch.getLaunchConfiguration(). This does
-not break any clients, as the only implementation of ILaunch is org.eclipse.debug.core.Launch,
-which has been updated.</li>
-<li>API Change - method return value - @see ILaunch.getLauncher(). A launch
-is now allowed to return null for #getLauncher() when it was created by a launch
-configuration rather than a launcher. This does not break any clients, as launch configurations
-are not in use yet. The main client that will have to be updated is the Debug UI.</li>
-<li>New debug preference - "Build (if required) before launch"</li>
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4023">4023</A>: Prompt user for save and build before run (1GGCBO0)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5818">5818</A>: Debugger Source Lookup page claims project is closed<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5895">5895</A>: NPE out of the Console view on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5896">5896</A>: NPE out of LaunchManagerVisitor on shutdown<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1623">1623</A>: StackFrame selected but toolbar actions disable (1GEV0L7)<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5681">5681</A>: Show debug perspective doesn't reuse my perspective<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5909">5909</A>: Should have terminate on Debug menu<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5582">5582</A>: Keyboard shortcut for run/debug<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5789">5789</A>: Console Empty on Hello World Examples<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5951">5951</A>: Console buffer not flushed?<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5946">5946</A>: NPE in LaunchManagerVisitor<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5808">5808</A>: Console output being lost<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5925">5925</A>: DebugView does not survive platform crash<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 13, 2001
-<h3>
-What's new in this drop</h3>
-
-<h3>
-Problem Reports Fixed</h3>
-
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5360">5360</A>: ListenerList#removeAll<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5613">5613</A>: Debugger hangs when it hits breakpoints during self hosting<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4269">4269</A>: Simplifying debugger perspective (1GKRAWI)<br>
-
-
-<h3>
-Problem Reports Closed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5588">5588</A>: General Protection Fault double clicking on breakpoint in th<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5795">5795</A>: Reached Breakpoint, but no stacktrace<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-November 12, 2001
-<h3>
-What's new in this drop</h3>
-<ul>
-<li>Draft definition and infrastructure for launch configurations.</li>
-<li>API Change: Presentation of variable value details allows for long running
-computation. @see IDebugModelPresentation.computeDetail(IValue, IValueDetailListener). @see IValueDetailListener.
-</ul>
-
-<h3>
-Problem Reports Fixed</h3>
-
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5686">5686</A>: Launch/Run actions should be available on menubar<br>
-<A HREF="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5579">5579</A>: Would like option to switch to Debug perspective on breakpoi<br>
-
-<h3>
-Problem Reports Closed</h3>
-
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html b/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
deleted file mode 100644
index 3e0da8ca6..000000000
--- a/org.eclipse.debug.core/r2_1_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,410 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
- <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 25, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35459">35459</a>: "Run As ..." menu disabled<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 24, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35410">35410</a>: VariableView#fExpandedVariables is not always cleaned<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-March 17, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34901">34901</a>: Typos(?)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34899">34899</a>: Typos<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34554">34554</a>: console: locking during 6 second clear request on big contents<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 6, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33767">33767</a>: Step with filters label<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32335">32335</a>: Eclipse M5, launcher, arguments tab truncated<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33993">33993</a>: NPE in launch config getMemento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33996">33996</a>: Making a shared favorite config does not appear in fav's<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-March 4, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32631">32631</a>: Problem with text input from console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32668">32668</a>: Invalid thread access disposing process drop down menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32706">32706</a>: Can re-enable LCD when disabled for run in foreground<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32621">32621</a>: Console Pref page: punctuation and capitalization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33289">33289</a>: Console: ShowProcess tooltip should use book capitilization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29752">29752</a>: Removal of the "launchers" extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31519">31519</a>: action set part associations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33579">33579</a>: NPE in launch view event handler on shutdown<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33613">33613</a>: NPE in console line notifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32722">32722</a>: Attempting two background builds at same time: lose console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33620">33620</a>: NPE attempting to launch from a LCD with no selection area (Run Ant...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33153">33153</a>: Debug As and Run As actions are ignored if there is no selection<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33185">33185</a>: Activate workbench when breakpoint hit should be on by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32775">32775</a>: BadLocationException on file hyperlink from ant build<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 20, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18665">18665</a>: Launch progress message bar is too short<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32191">32191</a>: LaunchManager added too late as resource changed listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31431">31431</a>: Show In...from the Console to the Debug View<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32247">32247</a>: Missing hashCode in org.eclipse.debug.internal.core.LaunchConfigurationInfo<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32176">32176</a>: Hyperlink on wrapped line draws line badly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32275">32275</a>: Debug console selection shows the wrong information<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30513">30513</a>: Step actions should be disabled when debug view closed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31161">31161</a>: Dialogs don't use standard platform spacing for buttons<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31216">31216</a>: Offer Show In...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11991">11991</a>: Renamed config not updated in history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31745">31745</a>: No feedback for navigating links in console using keyboard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30586">30586</a>: NPE opening editor in LaunchView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=32433">32433</a>: ShowProcessAction reference to its process keeps hyperlinks in memory<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 18, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31565">31565</a>: Selecting part of stack trace in console loses focus<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29326">29326</a>: Launch configuration with errors can be launched<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29045">29045</a>: StringIndexOutOfBoundsException from Console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31394">31394</a>: New console UI does not provide a "Clear History" option<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31898">31898</a>: Error in the status bar without any text selected in the console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 13, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30901">30901</a>: Dialog flicker when launching a program<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31500">31500</a>: Double click for create a new launch configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 11, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31321">31321</a>: disable/enable breakpoints does not scale<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31502">31502</a>: Refactor LaunchHistoryPreferenceTab<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Feb 5, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30411">30411</a>: Exceptions deleting Launch Configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28148">28148</a>: Debug and Run toolbar actions missing mneumonics<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30493">30493</a>: No need for the verify key listener in the VariablesView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22815">22815</a>: Support delete key in viewers<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30125">30125</a>: Provide inforpops for launch configuration types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30332">30332</a>: Not enough IDisconnect support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28827">28827</a>: Run Screen Sizing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30167">30167</a>: Would like a way to navigate back from debugger to corresponding launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30333">30333</a>: Problem when multiple debug events occur at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30831">30831</a>: Console View: Terminate and Clear are too close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29503">29503</a>: Debug preference page error messaging<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 28, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29877">29877</a>: Chkpii errors in debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28295">28295</a>: ConcurrentModificationException during "Run Ant..." build<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18306">18306</a>: Use safe runnables for listeners and "untrusted" code<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30037">30037</a>: Use platform support for breakpoint persistence<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29843">29843</a>: tooltip of the debug and run buttons displays "Debu&g" and "Ru&n"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30307">30307</a>: Apparent mispelled catalog reference in Expressions pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30222">30222</a>: External tool builder build command path is fully qualified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30324">30324</a>: NPE restoring shared launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29112">29112</a>: Add key binding to "open link" action in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=30180">30180</a>: Stale launch if runtime-workbench launch is canceled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29028">29028</a>: Stack trace hyperlink does not work after clear<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 21, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24154">24154</a>: Add interfaces to debug core for enhanced debug function...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27782">27782</a>: Improve Debug UI plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29660">29660</a>: Only top stack frame icon correct after long step<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29676">29676</a>: Better error reporting when a launch config goes missing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29720">29720</a>: launch dialog for edit/run of a single config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26157">26157</a>: launch config working sets applied globally<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27989">27989</a>: Provide 'final verification' launch configuration API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29450">29450</a>: LaunchManager.searchForFiles optimization<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24821">24821</a>: [Key Bindings] Provide debug action definitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29153">29153</a>: Migrate extension point schema ownership<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Java Debug</h1>
-Jan 14, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28969">28969</a>: convenience action to open LCD<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27342">27342</a>: No busy cursor when creating new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25569">25569</a>: Checkbox in launch config doesn't keep its value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27164">27164</a>: shared launch configs and "validate edit"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29064">29064</a>: Attached source not recognized<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27830">27830</a>: Use IActionDelegate2<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28033">28033</a>: external tools dialog title shows as "&External Tools"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27403">27403</a>: Should consider using the new font propogation support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27444">27444</a>: [Dialogs] Dialog font should be used by debug components<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22927">22927</a>: Add word-wrap option to Variables display area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28127">28127</a>: NPE if AbstractDebugView handling exception early<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22230">22230</a>: #setButtonLayoutData addition<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24754">24754</a>: Preferences - should offer font choice for variable details pane<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Jan 07, 2003
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28386">28386</a>: Source selection disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28571">28571</a>: Text selection updates on evaluation end<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10016">10016</a>: Flicker of System.err output in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28060">28060</a>: Launch#canTerminate<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24884">24884</a>: Launching progress monitor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28562">28562</a>: details area does not update when BP hit while stepping<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7715">7715</a>: Console does not show output of selected process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28867">28867</a>: [Console] Navigation between output of hosted/debugged apps<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27172">27172</a>: Hang copying variables with cycle<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29052">29052</a>: ConsolePreferencePage problem<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28383">28383</a>: Debug view flashes during stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28245">28245</a>: No launchAdded notification on first relaunch<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28282">28282</a>: Launch view doesn't select stack frame when it is made visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27011">27011</a>: NPE from LaunchConfigurationTabGroupViewer<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28317">28317</a>: NPE exiting workbench<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 13, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28050">28050</a>: Extra separator if no history, only favorites.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27881">27881</a>: Remote Debug Connection Configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28088">28088</a>: Console view caused NPE when "becomesVisible"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27092">27092</a>: Only update variables/expressions when visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28227">28227</a>: NPE painting console document<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=28100">28100</a>: Re-factor "isVisible" debug view function<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25437">25437</a>: Console Performance when output alternates between streams<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 10, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27139">27139</a>: Common tab has duplicate accelerator<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23216">23216</a>: Shared launches marked as favorites do not show up after importing existing project<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23951">23951</a>: Flicker when closing launch config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26333">26333</a>: Improve launch manager startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24715">24715</a>: Launch dialog open return codes are internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26335">26335</a>: Improve debug plug-in startup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27834">27834</a>: LaunchHistory registers unnecessary listener<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27607">27607</a>: Better Ant project names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26503">26503</a>: launch groups/dropdown should support shortcuts<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27877">27877</a>: Don't use a marker for stack frame line highlighting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27816">27816</a>: Re-work launch actions to use launch group framework<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27952">27952</a>: hyperlink region should not be stored in hyperlink<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Dec 03, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27353">27353</a>: ConsoleContentProvider -> ConsoleColorProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27347">27347</a>: Process types<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27200">27200</a>: "Show console when program writes ..." doesn't work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19674">19674</a>: LaunchConfigurationDialog is over 3,000 lines (whew!)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27248">27248</a>: Launch config dialog is grotesquely large<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 26, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18814">18814</a>: Cannot 'save changes' and duplicate a Launch configuration at the same time<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25745">25745</a>: NPE if no tab group specified for a configuration type<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26996">26996</a>: get/setAttributes on ILaunchConfiguration/WorkingCopy<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=26702">26702</a>: Allow single launch config to be edited<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 12, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25701">25701</a>: Instruction pointer disappears<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23477">23477</a>: Most recent launch config lost after each restart<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Nov 05, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1524">1524</a>: Feature: Displaying Instruction pointer (1G3A7CG)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14758">14758</a>: ILaunchConfigurationTab#performApply called twice on hitting the Apply button<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 22, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24738">24738</a>: Launch Config Dialog: Pressing cancel permanently diables 'Apply'<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16817">16817</a>: DebugException: The resource tree is locked for modifications.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 15, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24364">24364</a>: Investigate opening launch config dialog from inside a delegate's launch() method<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 8, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24270">24270</a>: UI hangs when try to debug with 'bad' VM arguments<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Oct 1, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=24100">24100</a>: LaunchConfigurationWorkingSetPage.setSelection should work without container being set<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Sept 17, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23124">23124</a>: Presentation of "no source"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=23266">23266</a>: NPE exception in VariablesViewContentProvider<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22595">22595</a>: No code assist in details pane<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 27, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=22283">22283</a>: ArrayIndexOutOfBoundsException in launch view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19856">19856</a>: Create a new launch configuration should always be an option in launch configuration wizard<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18877">18877</a>: Flicker in VariablesView when rapid stepping<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-August 06, 2002
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21585">21585</a>: Evaluating expression switches editors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9687">9687</a>: Should have busy cursor opening editor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21640">21640</a>: Show types action in Variables view is confused<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18787">18787</a>: Slightly off message in details pane of Expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15847">15847</a>: Disable Run / Debug buttons in toolbar if no contribution is associated with that mode<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 30, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=21504">21504</a>: Both "enable" and "disable" breakpoints actions are enabled when multiple breakpoints are selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20431">20431</a>: Run/debug include in favorites setting ineffective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 16, 2002
-
-<h3>
-Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19099">19099</a>: Console in different window keeps name of terminated and removed debug target<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20504">20504</a>: Launch view accelerator update workaround no longer needed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20602">20602</a>: Potential NPE in AbstractDebugView when subclass does not persist state in memento<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20610">20610</a>: [Console] Terminate button disabled on Clear Console, even when app still running<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20713">20713</a>: 2 requests to change value of variable when enter pressed on invalid value.<br>
-
-</body>
-</html>
diff --git a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html b/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
deleted file mode 100644
index fb29aedf4..000000000
--- a/org.eclipse.debug.core/r3_0_buildnotes_platform-debug.html
+++ /dev/null
@@ -1,994 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.75 [en] (WinNT; U) [Netscape]">
- <title>Platform Debug Release Notes</title>
-</head>
-<body>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC4</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=68181">68181</a>: [doc] Error in IDebugUIConstants javadoc (launchActionSet)<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC3</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61992">61992</a>: Slow selection change in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66586">66586</a>: Debug-related views no longer "come to front" in non-debug perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66990">66990</a>: PopupInformationControl does not specify shell for handler<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66330">66330</a>: Remote Debug Connection not disconnected when JDIDebugModel.newDebugTarget(...) fails<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66443">66443</a>: Review LaunchView call to IEditorReference#getEditor(true)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67522">67522</a>: Views don't open when auto-manage initially activated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67463">67463</a>: Launch Shortcuts schema is incorrect<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67507">67507</a>: Ampersand ('&') in label when adding directory to source lookup path<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67620">67620</a>: Breakpoints should not be shown in the overview ruler<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65051">65051</a>: string_prompt variable prevents other variables from executing<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=67781">67781</a>: color tuning<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>3.0 - RC2</p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64638">64638</a>: Don't use new "Run" icon on Debug objects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45980">45980</a>: Check calls to IWorkspace.run(...)<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65067">65067</a>: switch perspective when breakpoint hit not honored<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57293">57293</a>: [doc] Beef up contextViewBinding schema<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66033">66033</a>: Move isAutoManageViews() to LaunchViewContextListener<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63340">63340</a>: Remove DebugContextManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65814">65814</a>: o.e.debug.core.memoryRenderings extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65581">65581</a>: broken doc link for stringVariablePresentations<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65351">65351</a>: Breakpoint migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64940">64940</a>: Delay on breakpoint rendering when enable/disable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=66187">66187</a>: Polish patch: support view activation via a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65356">65356</a>: source lookup tab migration from 2.1 to 3.0<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65072">65072</a>: workbench not activated when breakpoint hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64984">64984</a>: Inspect doesn't work in Display View<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=65039">65039</a>: Launch view should use IPerspectiveListener2<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64666">64666</a>: Run/Debug prompts to continue before compiling [JUnit]<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52336">52336</a>: [Viewers] Internal error at start of debug session<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>June 1, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56012">56012</a>: Consistency in space at top of launch configuration tabs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64188">64188</a>: Classcast exception when trying to resolve non-stackframe object<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63468">63468</a>: ConsoleView should set it's title using setContentDescription()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64019">64019</a>: IllegalArgumentException when editing ant builder<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63449">63449</a>: Wrong menu path for profile action set.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61117">61117</a>: enable checkbox state after "Show Breakpoints Supported by Selected Target"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62322">62322</a>: Green triangle for Run is confused with the Resume button<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63951">63951</a>: Wrong window activated when new window is opened<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63323">63328</a>: Move "show debug action set" to LaunchView<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63493">63493</a>: LaunchView keeps lots of state from last debug session in memory<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63016">63016</a>: Display view always brought to the top<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=64337">64337</a>: unqualified source lookup fails in external archive<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62803">62803</a>: ExternalArchiveSourceContainer needs to handle multiple root paths<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 21, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63348">63348</a>: NPE from popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63374">63374</a>: NPE in LaunchView.partClosed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63575">63575</a>: Invalid button states in EnvironmentTab of Launch Configuration<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62798">62798</a>: Ok to launch Yes/No should also honor cancel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62960">62960</a>: NullPointerException when restoring default in Source Lookup Tab<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62677">62677</a>: Adding working set to Source Lookup Tabs causes problems in the tab.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63009">63009</a>: Source Lookup Tab does not properly show icons for Jar files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63182">63182</a>: Warning about error in pre-requisite wrong<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63090">63090</a>: Console scroll button has its logic reversed.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63053">63053</a>: View Management view menu drop down has no mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63249">63249</a>: uneccessary error logging<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63029">63029</a>: Show As for logical structure has no mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62564">62564</a>: A runnable may not be run, if the previous one throws an exception<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54407">54407</a>: Make a pass on all the properties files<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62643">62643</a>: [External Tools] Quoted args send quote to process<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63027">63027</a>: View Management "Reset Now" button does not layed out correctly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56042">56042</a>: [Coolbar] [Workbench] Toolbar flash selecting stack frames<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62592">62592</a>: Debug view can fail to close generic debugging views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63050">63050</a>: NPE in VariablesViewContentProvider<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62574">62574</a>: Expose Debug view's "view tracking" behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63293">63293</a>: Pressing "Reset Now/Cancel" does not cancel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=63256">63256</a>: NPE when adding a breakpoint in an external Java file<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62391">62391</a>: View management: Views opened in wrong perspective<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 18, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57519">57519</a>: Console should bold title when new output is available<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53508">53508</a>: Activate debug action set with debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61801">61801</a>: A null String object reference becomes the value "null"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62069">62069</a>: NullPointerException in LaunchViewContextListener#initViewCollection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61940">61940</a>: Customized perspective opens closed views<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61064">61064</a>: improve string variable descriptions<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61116">61116</a>: Common watch expressions don't work for wrapper adapters<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60024">60024</a>: Memory view code could make use of Debug plugin logging support<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61385">61385</a>: Remove debug action group doc<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47295">47295</a>: Hard to pin down a console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62236">62236</a>: Debug color settings should NOT be shown in Workbench>Colors and Fonts<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61938">61938</a>: Add source location dialog always selects Java Classpath Variable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62193">62193</a>: No RunToLine action in context menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62488">62488</a>: Default pref settings<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62490">62490</a>: out-of-box experience<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61412">61412</a>: Source lookup tab causes config to need saving<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61958">61958</a>: dangerous practice of catching Throwable<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60327">60327</a>: Review LaunchViewContextListener multi-window behavior<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56412">56412</a>: Duplicate favorites after rename<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61630">61630</a>: schema for external tools configurationDuplicationMaps ext point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55400">55400</a>: context menu&gt;watch from the variables view doesn't open/activate the expressions view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62258">62258</a>: No vertical scroll bar on inspect results<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61826">61826</a>: Add file extension filtering for run/debug context menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51435">51435</a>: CommonSourceNotFoundEditor#resetEditor<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60016">60016</a>: Accessibility: Run config, Arguments tab: Working directory not read<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61868">61868</a>: Double tree viewer in debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61917">61917</a>: use .exsd for extension pt schemas<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62202">62202</a>: Run context menu does not filter actions based on enabled activities<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=62269">62269</a>: Uneccessary label computation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61928">61928</a>: Launch Views leaking<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 11, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54598">54598</a>: Launch configuration; wizard buttons New/Delete margins<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57637">57637</a>: turn Remove All Terminated Launches on by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60305">60305</a>: Layout problems on the Environment tab<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58384">58384</a>: Profile toolbar launch menu should use "Profile As &gt;"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51916">51916</a>: Add ability to change source lookup of a running launch<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60286">60286</a>: API Request: Ability to open launch configuration properties dialog on a specific tab<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60838">60838</a>: Support matchesContentType property test<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45656">45656</a>: New Annotation Features<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59319">59319</a>: make scroll lock global to all process consoles<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60927">60927</a>: notifyResult(...) in OpenLaunchDialogAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60952">60952</a>: Chkpii errors in I20040504<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60364">60364</a>: debug used deprecated runtime code<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61321">61321</a>: ui.console should not depend on core.resources<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60918">60918</a>: [KeyBindings] Some key bindings not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60974">60974</a>: make org.eclipse.debug.internal.ui.views.console.ProcessConsolePage.getConsoleViewer() method public<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61105">61105</a>: Configure view management per perspective<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60010">60010</a>: Auto manage view action move to view menu<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61221">61221</a>: No progress dialog when prompted to wait for build<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57763">57763</a>: NPE running from scrapbook<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61166">61166</a>: source not found<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61120">61120</a>: Should closed projects be skipped?<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55423">55423</a>: don't schedule build if already building<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=41376">41376</a>: Incorrect english: doesn't account for case where launch config type starts with vowel<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53722">53722</a>: Run As... menu disabled if selection is empty<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61634">61634</a>: Compile errors in workspace message should be more general<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61336">61336</a>: Compile errors prompt should use a warning dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61291">61291</a>: Breakpoint view is displayed when a breakpoint is hit<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57052">57052</a>: [KeyBindings] F11 (Debug Last Launched) Conflict on MacOS X<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=46168">46168</a>: fork() methods should use jobs<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61427">61427</a>: LaunchConfigurationDialog leaked for each use<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54946">54946</a>: Contextual launch contribution should not set adaptable=true<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60051">60051</a>: Launching with Ant buildfile errors <br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61308">61308</a>: Display var/expression shows in unreadable popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57333">57333</a>: Provide API to specify whether a substitution variable supports arguments<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57164">57164</a>: Context view activation should maintain view "stack"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57588">57588</a>: Removing process from launch doesn't remove associated console<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61810">61810</a>: NPE in the log<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>May 4, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60064">60064</a>: Memory preference page is missing mnemonic<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60254">60254</a>: Change required in AbstractMemoryRenderer<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56146">56146</a>: Memory View Contribution to Eclipse<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56827">56827</a>: NPE - ExpressionManager expects a delegate for all debug models<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57862">57862</a>: Ability to configure variables from variable selection dialog<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=54726">54726</a>: Fix schema reference in launch shortcut extension<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51503">51503</a>: Add filter button to Expressions view to show expressions by debug target<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59776">59776</a>: Migrate memory view pref page to view setting<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60203">60203</a>: Launch job waiting forever<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60655">60655</a>: Memory Block is not enabled / disabled by the Memory View properly<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59986">59986</a>: Move from ProgressMonitorDialog to IProgressService.busyCursorWhile()<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57272">57272</a>: AlwaysNeverDialog should have "Eclipse standard" look<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60708">60708</a>: Edit String Substitution Variable dialog does not use the dialog font<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58933">58933</a>: Remove activity filtering in Breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59330">59330</a>: migrate to new search API<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59183">59183</a>: Cancelling foreground launch waits for build to complete<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59535">59535</a>: Opening launch configuration dialog with "profile" mode.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59356">59356</a>: LaunchConfigurationDelegate needs a way to tell it per instance to not put up status prompts.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=60409">60409</a>: Use of deprecated fontDefinition extension point<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59854">59854</a>: Debug keybindings wrong on Mac<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59990">59990</a>: function keys not working<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58528">58528</a>: User prompted to switch to debug when debug perspective is active<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58957">58957</a>: breakpoints : Remove BreakpointManagerListener on dispose<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57305">57305</a>: flashing breakpoints view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57173">57173</a>: Activity filtering not working for debug<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58684">58684</a>: Installed JRE can't be named "."<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=42138">42138</a>: Provide a way to dynamically change the process label shown in the console title and debug view<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=47164">47164</a>: Need to be able to disable go to file action for breakpoints.<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57517">57517</a>: eval popup are initially too small<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57735">57735</a>: When including assert tags in private method, breakpoint can't be set<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59483">59483</a>: Predefine some launch conifiguration variables<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59042">59042</a>: Invalid Launch configurations are never cleaned up<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58725">58725</a>: [Debug] "Switch to assciated perspective when launching" should set to "Prompt" by default<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=39024">39024</a>: Need better icon for object browsers action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57999">57999</a>: Breakpoints added to view while breakpoint manager disabled are not greyed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58516">58516</a>: HandlerSubmission constructor marked as deprecated<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58766">58766</a>: doc/enhance stratum breakpoint<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59002">59002</a>: Do we need marker definitions for instruction pointers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57642">57642</a>: [ViewMgmt] debug tests failures due to missing selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57836">57836</a>: Support to put paths in variable values<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59729">59729</a>: Run-> context menu only enabled for a single selection<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56246">56246</a>: InstructionPointerAnnotation and IDebugEditorPresentation<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58209">58209</a>: Support multi-select for Resume action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58377">58377</a>: 'Esc' out of change variable dialog doesn't cancel action<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58650">58650</a>: replace debugModelActivityBinding with pattern binding<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=59828">59828</a>: Various issues with SelectedResourceManager<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=7552">7552</a>: Keep breakpoints when renaming a resource<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58290">58290</a>: Launch error message spelling<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56850">56850</a>: DebugViewDecoratingLabelProvider.computedText never cleared<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=29890">29890</a>: Debug Platform Source Lookup Facilites<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=45877">45887</a>: When selecting "Build before launching", the build is not specific to the project launched, but the whole workspace<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=58754">58754</a>: Wait for build never and prompt preferences reversed<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55419">55419</a>: Generalize compilation error detection for other launchers<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56191">56191</a>: Skip breakpoints in run-to-line<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57306">57306</a>: Improve progress feedback when user wants to wait on build before a launch<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57790">57790</a>: Support multiple debug-model-to-context extensions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53222">53222</a>: Trigger activities when debug elements selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53640">53640</a>: Registers view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57929">57929</a>: Scope step actions with debuging context<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58052">58052</a>: Launch view can open views in the wrong window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57788">57788</a>: API changes to IHandler causing compile errors<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>April 6, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56235">56235</a>: Organize Favorites dialog could remember size<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56266">56266</a>: Reorder preference choices for Save dirty editors<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56966">56966</a>: Skip All Breakpoints should have a keyboard shortcut<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=30639">30639</a>: Debug preference pages cut of in High Contrast<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=57328">57328</a>: NPE from ResourceResolver<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55685">55685</a>: Get rid of MoveResultToViewerAction<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55808">55808</a>: SelectedResourceManager holds onto selections too long<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56192">56192</a>: Remove unused command for close popup<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=55612">55612</a>: Rename "Run" keybinding category to "Run/Debug"<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56035">56035</a>: Console text font should be moved to Workbench Appearance<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51901">51901</a>: Breakpoint image specification is on jdt.ui instead of debug.ui<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56214">56214</a>: ProjectSourceContainer#getSourceContainers() and referenced projects<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=51084">51084</a>: Launch view should not track view open/close during perspective reset<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=52524">52524</a>: Blocked launch dialog should offer cancel as an option<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56013">56013</a>: Remove the use of the deprecated shared icons<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=56070">56070</a>: New and Delete buttons remained disabled after cancelling search<br>
-<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=53548">53548</a>: Automatically close views that were opened automatically<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 30, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56677">56677</a>: AssertionFailed from LaunchConfigurationView<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56082">56082</a>: no junit test for LaunchConfigurationDelegate.preLaunchCheck()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55309">55309</a>: Leak: RetargetWatchpointAction hangs onto last activated part<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56672">56672</a>: 'Marker id not found' error in breakpoint view during fast create/delete breakpoint actions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 25, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55704">55704</a>: Step into selection leads to too many breakpoints being skipped<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56238">56238</a>: Continue Launch when compile errors preference: Never<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 23, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53677">53677</a>: Remove "debug popup" scope when dialogs support key bindings<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52613">52613</a>: [New Look] Duplicate debugger perspective opened while stopping at brk pt<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55124">55124</a>: Warning reported in the builds<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36495">36495</a>: Debugger support for roles and activities<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55040">55040</a>: Don't provide ILaunchListener2 API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54925">54925</a>: want option to not run programs with errors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54631">54631</a>: debug view opens while prompting for perspective change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6400">6400</a>: DCR - suggestion to improve running vs. debugging<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55183">55183</a>: Preference to switch perspective on suspend is too eager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55442">55442</a>: ClassCastException in LaunchViewEventHandler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55194">55194</a>: "String" problems with the DebugPreferencePage<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=55430">55430</a>: "[KeyBindings] Migrate Popup keybinding support to new EnabledSubmission API<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 16, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50156">50156</a>: Disable "Use Step Filters" toggle for targets that do not support step filters<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54189">54189</a>: Disable "Use ToggleAutoManageViewsActionDelegate is missing required id<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37485">37485</a>: Icons for launch short-cuts should be optional<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44234">44234</a>: Type names always qualified in expressions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53223">53223</a>: Expression popup should also show toString()/details<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54073">54073</a>: Chkpii warnings in plugin.xml files<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10302">10302</a>: 'Run to Line' stops at breakpoints<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52809">52809</a>: Evaluating in debugger should not stop on breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38950">38950</a>: Display offset of cursor in variables detail pane<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10078">10078</a>: Feature: Global enable/disable of breakpoints (and leave breakpoints list untouched)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54182">54182</a>: Two prompts when starting a debug session<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44632">44632</a>: Debug view need to be error-proof<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12746">12746</a>: refactoring support for launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52017">52017</a>: Add createCheckButton API to AbstractLaunchConfigurationTab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=34345">34345</a>: Disabled watch expression label includes "obsolete"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53001">53001</a>: Need a separator between 'Include type inheriting ...' and 'stop in main' in the main Java launch configuration tab<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54859">54859</a>: Breakpoint are not set as non-registered when deleted from the breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54117">54117</a>: Contextual Launch should use XML Expression Language<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52952">52952</a>: show all env vars when replacing environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48933">48933</a>: Move to use the Platform UI color support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50384">50384</a>: Debugger perspective: default layout improvements<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37514">37514</a>: global retargettable breakpoint action<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52450">52450</a>: Don't open Expression View by default<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51402">51402</a>: [Generic console] need showConsoleView() method<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51935">51935</a>: Add UI support for variables when specifying environment variable values<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54065">54065</a>: Tooltip text for profile button in toolbar is wrong<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54901">54901</a>: Better error logging when launch configuration blows up<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51568">51568</a>: Numerated accelerators for launch shorts in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54924">54924</a>: Variable selection dialog needs mneumonic for Variable Desc<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54619">54619</a>: Doc for breakpoint manager enablement<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 9, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14414">14414</a>: Use detail pane for variable value setting<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53636">53636</a>: Label changes after display/inspect popup is visible<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53665">53665</a>: NPE with "double click"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48313">48313</a>: Message console does not support tab size<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52964">52964</a>: Persist size of debug pop-ups (or size better)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53470">53470</a>: launch waiting for build shows up in context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53693">53693</a>: Variables view doesn't show variables.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51787">51787</a>: Stepping in Java Perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53554">53554</a>: Default perspective switching preferences are backwards<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53954">53954</a>: "Change variable value" action.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50886">50886</a>: Update debug markerAnnotationSpecification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44135">44135</a>: ability to prompt for arguments in run/debug profiles<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>March 2, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52607">52607</a>: console: no action when drop down is pressed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51387">51387</a>: API for retreiving console associated with a process<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52867">52867</a>: New look - console no longer has a view title<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53225">53225</a>: Display keybinding for default close action in debug popup<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51386">51386</a>: Variables view does not persist size of details area<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13933">13933</a>: Terminating launch does not send launchChanged event<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53313">53313</a>: StringIndexOutOfBoundsException from LaunchConfiguration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52330">52330</a>: Logical Structure should have a single value<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52974">52974</a>: NPE in launch dialog when creating a new config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53409">53409</a>: Launch view doesn't persist "views to not close"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49877">49887</a>: Expose the exit value of IProcess<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 24, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29953">29953</a>: Launch configuration not found, many stacktraces in the .log<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13449">13449</a>: Better description when launch configuration type is selected<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52397">52397</a>: NPE from AddFavoritesAction and others when rename launch config<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52763">52763</a>: Edit String Substitution Variable dialog clears value on name change<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52170">52170</a>: Improve debug context inheritance<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 17, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51998">51998</a>: Bad label for a menu item<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51465">51465</a>: Variable subranges<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51635">51635</a>: Debug view is not brought to the front when a breakpoint is hit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37942">37942</a>: Launch config dialog should have some way to determine the full location of JARs that are listed on the classpath<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 12, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51803">51803</a>: ClassCastException importing preferences<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 10, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18338">18338</a>: Run/Debug in the context menu<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51388">51388</a>: Show "Selection Not Applicable"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51422">51422</a>: NPE on hitting breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49934">49934</a>: Promote views with debugging contexts<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Feb 3, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50155">50155</a>: New Job#schedule() behavior<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50203">50203</a>: Exception in error log + blank rendered in sessions view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50543">50543</a>: Cannot override PATH environment variable<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 27, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49972">49972</a>: Nothing happens when launching<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49891">49891</a>: Problems launching a program, when using linked resources in CLASSPATH, which are not set<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50407">50407</a>: NPE in selected text resolver<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50223">50223</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 20, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46781">46781</a>: Console buffer size limit<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46869">46869</a>: Message console does not buffer output<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49288">49288</a>: Set Variable dialog not sized properly or resizable.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47601">47601</a>: external tools: add ${selection} as a variable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48320">48320</a>: Adapt to annotation deprecations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49977">49977</a>: Less invasive background labels<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41510">41510</a>: Step with Filters: unify function across languages by allowing filters to be enabled/disabled on the 3 basic step functions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=50232">50232</a>: Missing localizations for extension point names<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Jan 13, 2004 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45603">45603</a>: Cycles in string substitutions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46363">46363</a>: Lazy label provider for variables view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49884">49884</a>: ProcessConsolePage does not deregister hyperlink action<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48608">48608</a>: Handle null for IProcess#getStreamsProxy()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46868">46868</a>: Changing text color via a MessageStream doesn't update colors<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46797">46797</a>: Possible NPE when writing launch configurations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48226">48226</a>: Tooltip text for "External Tools" toolbar button not updated.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47668">47668</a>: Exclude exception location<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37506">37506</a>: RefreshTab makes use of WorkbenchPlugin<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45991">45991</a>: need package.html in "variables" plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47848">47848</a>: IDebugEditorPresentation methods called in different order<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47855">47855</a>: Review VariableViewToggleAction<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48224">48224</a>: Target execution order hidden<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47268">47268</a>: Selected launch configuration incorrect<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48190">48190</a>: Variables context menu actions need eclipses [...]<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40541">40541</a>: NPE in launch configuration dialog<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 9, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37918">37918</a>: Console uses Date format that is not appropriate for Japanese<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47949">47949</a>: Nothing added to launch history<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47924">47924</a>: Thread label flicker<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47834">47834</a>: No feedback that launch got queued/postponed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47377">47377</a>: Console: order of local toolbar items should remain stable<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42272">42272</a>: Resize problem in Launch Config dialog<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41609">41609</a>: invalid tab size (rendering) in console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48315">48315</a>: LaunchView thread timer runs too long<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47389">47389</a>: Use of deprecated API from IActivityManager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38419">38419</a>: Variable "filters" is a misnomer<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Dec 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47478">47478</a>: Switching to use JRE Library container<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47107">47107</a>: Open Resource not available in Debug perspective<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45981">45981</a>: Move debug projects to use PDE dynamic classpath support<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46811">46811</a>: Deadlock saving working copied<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 25, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47248">47248</a>: NPE starting run-time workspace<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38979">38979</a>: Should not be able to remove contributed variables<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47100">47100</a>: TitleAreaDialog image has been disposed<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 20, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47071">47071</a>: Set instruction point layer to 6 in code<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 19, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46858">46858</a>: FileLink needs to resolve an editorId<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 18, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45524">45524</a>: Artwork for array partitions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46728">46728</a>: org.eclipse.ui.console should be tagged as 3.0 plug-in<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44479">44479</a>: Exception when trying to start RuntimeWorkbench while workspace is building<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 11, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36942">36942</a>: [plan item] Present logical view of Java objects in debugger<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45903">45903</a>: Breakpoint incorrectly enabled after activity filtering<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43387">43387</a>: Refresh tab and specific resources<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44566">44566</a>: Refresh tab does not enable "Apply" when changing selection<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Nov 4, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45849">45849</a>: ConcurrentModificationException in Expression manager<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43332">43332</a>: String Substitution Support - org.eclipse.core.variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43952">43952</a>: Improve launch tab interface/notification<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44100">44100</a>: UI blocked removing breakpoints from breakpoints view with other jobs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46152">46152</a>: Revise usage of IWorkspace.run<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=46035">46035</a>: NPE in Run... pages<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45858">45858</a>: User gets prompted multiple times to save the same resources<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 28, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43388">43388</a>: Possible problem with DebugPlugin$AsynchJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=45195">45195</a>: Debug View: Copy Stack only copies <pending...><br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44856">44856</a>: errors in label update<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44723">44723</a>: Redundant launching job message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36735">36735</a>: Would like automatic partitioning of large arrays<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44099">44099</a>: organize favorites...<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44577">44577</a>: Suspended debug target not given "suspended" overlay<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 21, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44934">44934</a>: Remove dependancies on Xerces plugin<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 15, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44660">44660</a>: MessageConsole.appendToDocument(...)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44040">44040</a>: IConsoleLineTrackerExtension and after consoleClosed<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44012">44012</a>: missing closed notification for console line tracker<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Oct 07, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40609">40609</a>: Launch configuration dialog re-initializes all of the tabs on close<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43226">43226</a>: Deadlock using 0916<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=44048">44048</a>: Cannot create New String Substitutions<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 30, 2003 </p>
-<h3>API Changes</h3>
-<ul>
- <li>Support for variables that support string substitution has been changed.
- The previously experimental extension points for simpleLaunchVariables, contextLaunchVariables,
- and refreshLaunchVariables have been replaced with new (and yet experimental)
- extension points valueVariables and contextVariables. The new support is purely
- string based and is currently implemented in internal packages. It is percieved
- that the new support could be moved to a new plug-in such that more clients
- could leverage the support, as the current implementation is not tied to the
- debug plug-in. </li>
- <li>A console line tracker (IConsoleLineTracker) can be notified when its associated
- console is closed (i.e. all of its streams are closed), by implementing the
- new interface IConsoleLineTrackerExtension. The notification indicates that
- no more output will be appended to the console.</li>
-</ul>
-
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=31734">31734</a>: Console line trackers not notified of last line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43608">43608</a>: NPE removing an existing program in the external tools launching configuration<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43477">43477</a>: Console plug-in needs package.html<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43704">43704</a>: LaunchConfiguration.getFile does not handle linked resources: NPE<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41579">41579</a>: Move selection to next suspended thread after resuming<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43197">43197</a>: Race condition between console line tracker and debug terminate event<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 23, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43225">43225</a>: No prompt to save dirty editors <br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43353">43353</a>: Environment variable names all lowercased when appending to native environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43331">43331</a>: Rework Refresh Tab to avoid use of "refresh variables"<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43334">43334</a>: Refresh Tab always needs "apply" when working set specified<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33866">33866</a>: Move to using the PDE generated build.xml for exporting plugins<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37263">37263</a>: Support for generic console<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 16, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42570">42570</a>: Promote RuntimeProcess to API<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42779">42779</a>: Duplicate entry in expression view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42814">42814</a>: Ability of "override" environment<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42877">42877</a>: Clean up Launch in Background / Run in Background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19292">19292</a>: Icons for enable/disable breakpoints very confusing<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37091">37091</a>: Need icon for environment tab and variables<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10668">10668</a>: Variable view - should reselect selected variable name<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42177">42177</a>: Installed JRE's preference page is huge<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40863">40863</a>: Env var usability<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37784">37784</a>: Rename "Debug" preference page to "Run/Debug"<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 09, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42020">42020</a>: Move "Run in background" to builders only<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41866">41866</a>: Reference to IConsoleDocumentContentProvider in error message<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42179">42179</a>: Reevaluate watch expression enabled with no active targets<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41633">41633</a>: ILaunchManager#getLaunchConfigurations returns private configs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41352">41352</a>: Incorrect lineAppended notification from ConsoleLineNotifier<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1562">1562</a>: Suspending on a breakpoint...select that breakpoint (1GD5P0D)<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42184">42184</a>: Edit->Find action for the console is only enabled after some text is selected<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Sep 2, 2003 </p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41758">41758</a>: "Profile Last Launched" menu item is at the bottom, should be at the top<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42218">42218</a>: LAUNCH_CONFIGURATION_DIALOG_LAUNCH_LAST no longer used<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41947">41947</a>: LaunchConfigurationDialog and cancellation<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42064">42064</a>: "New Launch Variable" and "Edit Launch Variable" dialogs do not use dialog font<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42189">42189</a>: NPE during shutdown<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-<p>Aug 27, 2003 </p>
-<h3>New Features in Milestone 3 (release 3.0)</h3>
-<h4>Extensible Watch Expressions</h4>
-<p>In release 3.0, the debug platform provides an implementation of watch expressions.
- Debug models can contribute watch expression delegates if they support watch
- expressions. When a stack frame is selected, the associated delegate is queried
- to provide a value for a watch expression in the given (stack frame) context.
- The debug platform provides persistence, enabling, disabling, entering, and
- editing of watch expressions. See the new extension point <code>org.eclipse.debug.core.watchExpressionDelegates</code>
- for more details.</p>
-<h3>API Changes</h3>
-<h4>Launch Tabs &amp; Tab Groups</h4>
-<p>Launch tab groups and launch tabs are no longer notified when a launch completes.
- The method <code>launched(ILaunch)</code> in the interfaces <code>ILaunchConfigurationTab</code>
- and <code>ILaunchConfigurationTabGroup</code> has been deprecated and is no
- longer called. Relying on this method for launch function was always problematic,
- since tabs only exist when launching is performed from the launch dialog. Also,
- with the introduction of background launching, this method can no longer be
- called, as the launch dialog is be closed before the resulting launch object
- exists.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41675">41675</a>: breakpoints no longer visible in overview ruler<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38842">38842</a>: Make enabling and disabling expressions part of the debug framework.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27493">27493</a>: Re-use "watch list" actions<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41940">41940</a>: watch item not updated when enabled<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41941">41941</a>: API method should be internal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41550">41550</a>: launch in the background<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41977">41977</a>: watch items will not disappear<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42013">42013</a>: Launching should not be UIJob<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=42037">42037</a>: Breakpoint not shown as checked when enabled.<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 19, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41499">41499</a>: Update doc for watchExpressionDelegates extension point<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41448">41448</a>: launch shortcuts should be sorted<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41506">41506</a>: NPE attempting to create watch expression<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=27281">27281</a>: The watch expressions don't persist across workbench invocations<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41575">41575</a>: Can't open breakpoint view<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41585">41585</a>: shared launch configurations are not being encoded with UTF-8<br>
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 12, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41290">41290</a>: Typo: "persepctive" in launch configurations window<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41276">41276</a>: Clarify ILaunchConfiguration#getLocation()<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41384">41384</a>: Chkpii errors in debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-Aug 5, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40964">40964</a>: Got DebugException when stepping and removing a breakpoint<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38365">38365</a>: current instruction pointer annotation only added for ITextEditor<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40961">40961</a>: Refresh tab indicates working set error when no refresh<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40962">40962</a>: Refresh tab revert enabled incorrectly<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19581">19581</a>: Single launch config error logged many time<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 29, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40576">40576</a>: NPE with pinned console<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40844">40844</a>: NPE using debug<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35453">35453</a>: Process output causes switch to wrong console view.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=35573">35573</a>: Console output on new run or debug<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 22, 2003
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40235">40235</a>: preference page 'launch variables' uses borderless table, which looks suboptimal<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=40275">40275</a>: Superfluous semicolons in the generated jdt eval tests<br>
-
-<h1>
-Eclipse Platform Build Notes&nbsp;<br>
-Platform Debug</h1>
-July 15, 2003
-<h3>New Features in Milestone 2 (release 3.0)</h3>
-<h4>Extensible Debug Events</h4>
-<p>The debug platform supports an extensible set of debug events. A debug event
- kind of <code>MODEL_SPECIFIC</code> has been added in the 3.0 release to indicate
- an application specific debug event. When a debug event of kind <code>MODEL_SPECIFIC</code>
- is created, the detail code in the event is client defined. The source of the
- event (debug element that generated the event) identifies the debug model from
- which the event was generated. The debug platform and user interface ignores
- model specific debug events.</p>
-<p>A data field has been added to debug events to allow clients to store application
- specific data in debug events.</p>
-<h4>Extensible Instruction Pointer Images</h4>
-<p>When a stack frame is selected in the debug view, the debugger opens a corresponding
- editor and displays an image in the editor ruler on the line that corresponds
- to the selected stack frame. In releases prior to 3.0, the images were provided
- by the debug plug-in and could not be overridden by a debug model. In release
- 3.0, a debug model presentation (<code>IDebugModelPresentation</code>) can provide
- specialized images by implementing the debug editor presentation interface (<code>IDebugEditorPresentation</code>).</p>
-<h4>Editor Positioning and Custom Decorations</h4>
-<p>In release 3.0, debug model presentations can control the positioning of editors
- opened by the debugger for a stack frame, and may add extra decorations to the
- editor for a stack frame (for example, custom background coloring, etc.). This
- can be acheived by having a debug model presentation implement the new interface
- <code>IDebugEditorPresentation</code>, and implementing the appropriate methods
- - <code>selectAndReveal</code>,<code> decorateEditor</code>, and <code>removeDecorations</code>.</p>
-<h3>Problem Reports Fixed</h3>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=33598">33598</a>: Need to dynamically set icon for current line<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38976">38976</a>: Cancelling on launch var pref page does not work<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=38980">38980</a>: var descriptions not persisted.<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=37793">37793</a>: When moving folders and/or files in the navigator window UI hangs<br>
-<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36147">36147</a>