Skip to content

Commit

Permalink
Merge branch 'release'
Browse files Browse the repository at this point in the history
  • Loading branch information
vladdu committed Jan 21, 2011
2 parents 5a8637a + cad4040 commit 0bebb98
Show file tree
Hide file tree
Showing 224 changed files with 4,273 additions and 1,846 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Expand Up @@ -7,4 +7,4 @@ hs_err*.log
safe_erlide.log
.metadata
.escabaseline

erlide.log
22 changes: 22 additions & 0 deletions CHANGES
@@ -1,3 +1,25 @@
List of user visible changes between 0.9.4 and 0.9.5 (20110122)

8146742 702 externals: make external reference faster and less memory-hungry
6fd25fb updated lambdaj to 2.3.2
0503ee7 669-dialyzer---add-plt-to-project-settings
290df20 659-navigator--double-click-on-project-should-open-it
36ee402 652-searching--support-record-fields
58fc001 224-variables-from-the--environment--tab-in-launch-config-are-not-set-in-the-started-process
8eacd42 692-project-properties-dialog-doesn-t-work
b02f4ca 571-functions-defined-with-macros-confuses-the-model
b1d3e44 NPE in open when there are macro-defined function names
b40ba63 680-searching--wrong-display-in-result-header
da95208 618-dialyzer--remove-warnings-for-project use command framework
ea799e3 651-navigation--support-record-fields 653-hover--support-record-fields
fd1f9fa 625-debugger---should-present-terminate--continue--restart-when-reloading-code
386-debugger--modifying-code-disables-breakpoints
668 indentation confused by -spec directives
653 hover: support record fields
670 dialyzer: opens external files even if file is present in workspace
683 dialyzer: update plt files
691 internal launch config should not be saved on disk

List of user visible changes between 0.9.3 and 0.9.4 (20101215)

f493b9d 678-navigation--navigating-to-erlide-modules-doesn-t-work
Expand Down
6 changes: 3 additions & 3 deletions org.erlide.core.tests/META-INF/MANIFEST.MF
Expand Up @@ -2,13 +2,13 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: erlide core Tests Fragment
Bundle-SymbolicName: org.erlide.core.tests;singleton:=true
Bundle-Version: 0.6.8.qualifier
Bundle-Version: 0.6.9.qualifier
Bundle-Vendor: erlide.org
Fragment-Host: org.erlide.core;bundle-version="0.6.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.erlide.core;x-internal:=true,
Export-Package: org.erlide.core,
org.erlide.core.bdd,
org.erlide.core.preferences;x-internal:=true,
org.erlide.core.preferences,
org.erlide.testing.erlang;x-internal:=true
Require-Bundle: org.erlide.testing;bundle-version="0.8.8",
org.erlide.testing.libs;bundle-version="0.8.8",
Expand Down
5 changes: 3 additions & 2 deletions org.erlide.core.tests/src/org/erlide/core/ParsingTests.java
Expand Up @@ -53,7 +53,7 @@ private boolean parse(final String s) {
final String scannerModuleName = ErlangToolkit
.createScannerModuleName(module);
ErlideScanner.initialScan(scannerModuleName, "", s, false);
return ErlParser.parse(module, false, "", false);
return ErlParser.parse(module, scannerModuleName, false, "", false);
}

@Test
Expand All @@ -66,7 +66,8 @@ public void parseCompileDirective() throws ErlModelException {
final List<IErlElement> expected = new ArrayList<IErlElement>(1);
expected.add(attribute);
final Collection<IErlElement> actual = module.getChildren();
assertEquals(expected, actual);
// assertEquals(expected, actual);
assertEquals(expected.toString(), actual.toString());
}

}
5 changes: 3 additions & 2 deletions org.erlide.core.tests/src/org/erlide/core/bdd/RpcSteps.java
Expand Up @@ -17,6 +17,7 @@ public class RpcSteps {

private Backend backend;
private OtpErlangObject result = null;
final private TermParser termParser = TermParser.getParser();

@Given("a backend")
public void aBackend() {
Expand All @@ -28,15 +29,15 @@ public void aBackend() {
public void aRpcIsDoneWith(final String m, final String f, final String a)
throws BackendException, ParserException {
System.out.println("WHEN " + m + ":" + f + " " + a);
final OtpErlangObject args = TermParser.parse(a);
final OtpErlangObject args = termParser.parse(a);
final String sig = "x";
result = backend.call(m, f, sig, args);
}

@Then("the result should be $value")
public void theResultShouldBe(final String value) throws ParserException {
System.out.println("THEN " + value + " expect " + value);
final OtpErlangObject v = TermParser.parse(value);
final OtpErlangObject v = termParser.parse(value);
assertThat("ok", result.equals(v));
}

Expand Down
Expand Up @@ -11,7 +11,7 @@
* @author jakob
*/
public final class TestingSupport {
public static IErlElement createErlAttribute(final IErlElement parent,
public static IErlElement createErlAttribute(final IParent parent,
final String name, final OtpErlangObject value, final String extra,
final int sourceRangeOffset, final int sourceRangeLength) {
final ErlAttribute attribute = new ErlAttribute(parent, name, value,
Expand Down
94 changes: 94 additions & 0 deletions org.erlide.core/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,94 @@
#Mon Dec 27 09:26:53 CET 2010
ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
ILLEGAL_EXTEND=Warning
ILLEGAL_IMPLEMENT=Warning
ILLEGAL_INSTANTIATE=Warning
ILLEGAL_OVERRIDE=Warning
ILLEGAL_REFERENCE=Warning
INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Error
INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
INVALID_JAVADOC_TAG=Ignore
INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Warning
LEAK_EXTEND=Warning
LEAK_FIELD_DECL=Warning
LEAK_IMPLEMENT=Warning
LEAK_METHOD_PARAM=Warning
LEAK_METHOD_RETURN_TYPE=Warning
METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
UNUSED_PROBLEM_FILTERS=Warning
automatically_removed_unused_problem_filters=false
eclipse.preferences.version=1
incompatible_api_component_version=Error
incompatible_api_component_version_include_major_without_breaking_change=Disabled
incompatible_api_component_version_include_minor_without_api_change=Disabled
invalid_since_tag_version=Error
malformed_since_tag=Error
missing_since_tag=Error
report_api_breakage_when_major_version_incremented=Disabled
report_resolution_errors_api_component=Warning
2 changes: 1 addition & 1 deletion org.erlide.core/META-INF/MANIFEST.MF
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.erlide.core; singleton:=true
Bundle-Version: 0.9.4.qualifier
Bundle-Version: 0.9.5.qualifier
Bundle-Activator: org.erlide.core.ErlangPlugin
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Expand Down
9 changes: 7 additions & 2 deletions org.erlide.core/plugin.xml
Expand Up @@ -96,8 +96,9 @@
name="%erlangLineBreakpoint.name"/>
</extension>
<extension
id="erlang.lineBreakpoint.marker"
point="org.eclipse.core.resources.markers">
id="erlang.lineBreakpoint.marker"
name="Erlang Line Breakpoint"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.debug.core.breakpointMarker"/>
<persistent value="true"/>
</extension>
Expand All @@ -111,6 +112,10 @@
<persistent
value="true">
</persistent>
point="org.eclipse.debug.core.processFactories">
<processFactory
class="org.erlide.runtime.backend.internal.ErtsProcessFactory"
id="org.erlide.core.backend.ertsprocessfactory"/>
</extension>
<extension
point="org.eclipse.debug.core.launchConfigurationTypes">
Expand Down
15 changes: 11 additions & 4 deletions org.erlide.core/src/erlang/ErlangSearchPattern.java
Expand Up @@ -12,6 +12,7 @@
import org.erlide.core.search.FunctionPattern;
import org.erlide.core.search.IncludePattern;
import org.erlide.core.search.MacroPattern;
import org.erlide.core.search.RecordFieldPattern;
import org.erlide.core.search.RecordPattern;
import org.erlide.core.search.TypeRefPattern;
import org.erlide.jinterface.backend.util.Util;
Expand Down Expand Up @@ -53,10 +54,14 @@ public abstract class ErlangSearchPattern {
"var_def");
protected static final OtpErlangAtom VARIABLE_REF_ATOM = new OtpErlangAtom(
"var_ref");
protected static final OtpErlangAtom RECORD_FIELD_DEF_ATOM = new OtpErlangAtom(
"record_field_def");
protected static final OtpErlangAtom RECORD_FIELD_REF_ATOM = new OtpErlangAtom(
"record_field_ref");

// search for
public enum SearchFor {
FUNCTION, MACRO, RECORD, INCLUDE, TYPE, VARIABLE;
FUNCTION, MACRO, RECORD, INCLUDE, TYPE, VARIABLE, RECORD_FIELD;
};

public EnumSet<SearchFor> allSearchFor = EnumSet.allOf(SearchFor.class);
Expand Down Expand Up @@ -84,6 +89,8 @@ public static ErlangSearchPattern getSearchPattern(
return new RecordPattern(name, limitTo);
case TYPE:
return new TypeRefPattern(module, name, limitTo);
case RECORD_FIELD:
return new RecordFieldPattern(module, name, limitTo);
case VARIABLE:
return null; // FIXME
}
Expand Down Expand Up @@ -210,7 +217,7 @@ public static ErlangSearchPattern getSearchPatternFromErlElementAndLimitTo(
if (element instanceof IErlFunction) {
final IErlFunction function = (IErlFunction) element;
final String withoutExtension = ErlideUtil
.withoutExtension(function.getModule().getName());
.withoutExtension(function.getModuleName());
return new FunctionPattern(withoutExtension,
function.getFunctionName(), function.getArity(), limitTo,
true);
Expand All @@ -224,8 +231,8 @@ public static ErlangSearchPattern getSearchPatternFromErlElementAndLimitTo(
return new RecordPattern(unquoted, limitTo);
} else if (element instanceof IErlFunctionClause) {
final IErlFunctionClause clause = (IErlFunctionClause) element;
return getSearchPatternFromErlElementAndLimitTo(clause.getParent(),
limitTo);
return getSearchPatternFromErlElementAndLimitTo(
(IErlElement) clause.getParent(), limitTo);
} else if (element instanceof IErlAttribute) {
final IErlAttribute a = (IErlAttribute) element;
if (a.getName().startsWith("include")) {
Expand Down
6 changes: 5 additions & 1 deletion org.erlide.core/src/erlang/ErlideBuilder.java
Expand Up @@ -11,6 +11,7 @@
import org.erlide.jinterface.backend.BackendException;
import org.erlide.jinterface.rpc.RpcFuture;
import org.erlide.jinterface.util.ErlLogger;
import org.erlide.runtime.backend.BackendManager;
import org.erlide.runtime.backend.ErlideBackend;

import com.ericsson.otp.erlang.OtpErlangList;
Expand Down Expand Up @@ -55,7 +56,9 @@ public static OtpErlangList getCodeClashes(final Backend b)

public static void loadModule(final IProject project, final String module) {
try {
for (final ErlideBackend b : ErlangCore.getBackendManager()
final BackendManager backendManager = ErlangCore
.getBackendManager();
for (final ErlideBackend b : backendManager
.getExecutionBackends(project)) {
ErlLogger.debug(":: loading %s in %s", module, b.getInfo()
.toString());
Expand All @@ -65,6 +68,7 @@ public static void loadModule(final IProject project, final String module) {
} else {
ErlideUtil.loadModuleViaInput(b, project, module);
}
backendManager.moduleLoaded(b, project, module);
}
} catch (final Exception e) {
ErlLogger.debug(e);
Expand Down
23 changes: 23 additions & 0 deletions org.erlide.core/src/erlang/ErlideDebug.java
@@ -1,5 +1,6 @@
package erlang;

import java.util.ArrayList;
import java.util.List;

import org.eclipse.core.runtime.IStatus;
Expand Down Expand Up @@ -234,6 +235,28 @@ public static OtpErlangTuple getAllStackframes(final Backend backend,
return null;
}

public static List<String> getAllModulesOnStack(final Backend backend,
final OtpErlangPid meta) {
try {
final OtpErlangObject res = backend.call("erlide_debug",
"all_modules_on_stack", "x", meta);
if (res instanceof OtpErlangList) {
final OtpErlangList modules = (OtpErlangList) res;
final List<String> result = new ArrayList<String>(
modules.arity());
for (final OtpErlangObject module : modules) {
final OtpErlangAtom moduleA = (OtpErlangAtom) module;
result.add(moduleA.atomValue());
}
return result;
}
} catch (final BackendException e) {
ErlLogger.warn(e);
e.printStackTrace();
}
return null;
}

@SuppressWarnings("boxing")
public static OtpErlangTuple tracing(final Backend backend,
final boolean trace, final OtpErlangPid meta) {
Expand Down
4 changes: 2 additions & 2 deletions org.erlide.core/src/erlang/ErlideNoparse.java
Expand Up @@ -18,13 +18,13 @@ public class ErlideNoparse {

public static OtpErlangTuple initialParse(final Backend b,
final String scannerModuleName, final String moduleFileName,
final String stateDir, final boolean updateCaches,
final String stateDir, final boolean useCaches,
final boolean updateRefs) {
OtpErlangTuple res = null;
try {
res = (OtpErlangTuple) b.call(200000, ERLIDE_NOPARSE,
"initial_parse", "assoo", scannerModuleName,
moduleFileName, stateDir, updateCaches, updateRefs);
moduleFileName, stateDir, useCaches, updateRefs);
if (res.arity() > 2) {
// ErlLogger.debug("initialParse " + res.elementAt(2));
}
Expand Down

0 comments on commit 0bebb98

Please sign in to comment.