Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4b215c21407e
Choose a base ref
...
head repository: jruby/jruby
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ba51ba030b63
Choose a head ref
  • 11 commits
  • 48 files changed
  • 1 contributor

Commits on Dec 12, 2016

  1. Copy the full SHA
    d93dcfb View commit details
  2. Copy the full SHA
    9be8ce0 View commit details
  3. Copy the full SHA
    4ffc2a0 View commit details
  4. 1
    Copy the full SHA
    0b25c82 View commit details
  5. Copy the full SHA
    abff681 View commit details
  6. 1
    Copy the full SHA
    4de52ed View commit details
  7. [Truffle] Move Bignum#coerce to Ruby code.

    If Bignum#coerce isn't going to do anything then it might as well not do it in Ruby instead of Java.
    chrisseaton committed Dec 12, 2016
    Copy the full SHA
    47ece4e View commit details
  8. [Truffle] Dead code.

    chrisseaton committed Dec 12, 2016
    Copy the full SHA
    3ede098 View commit details
  9. [Truffle] Make SharedMethodInfo properly immutable by moving the name…

    … parts to another object.
    chrisseaton committed Dec 12, 2016
    4
    Copy the full SHA
    ee95689 View commit details
  10. Copy the full SHA
    bdc98c6 View commit details
  11. [Truffle] Dead code.

    chrisseaton committed Dec 12, 2016
    2
    Copy the full SHA
    ba51ba0 View commit details
Showing with 531 additions and 346 deletions.
  1. +2 −2 spec/ruby/core/random/rand_spec.rb
  2. +0 −1 spec/truffle/tags/core/proc/hash_tags.txt
  3. +0 −1 spec/truffle/tags/core/random/rand_tags.txt
  4. +5 −0 tool/jt.rb
  5. +25 −23 truffle/src/main/java/org/jruby/truffle/builtins/CoreMethodNodeManager.java
  6. +3 −3 truffle/src/main/java/org/jruby/truffle/core/CoreLibrary.java
  7. +1 −1 truffle/src/main/java/org/jruby/truffle/core/fiber/FiberNodes.java
  8. +6 −6 truffle/src/main/java/org/jruby/truffle/core/kernel/KernelNodes.java
  9. +7 −7 truffle/src/main/java/org/jruby/truffle/core/method/MethodNodes.java
  10. +4 −4 truffle/src/main/java/org/jruby/truffle/core/method/UnboundMethodNodes.java
  11. +1 −1 truffle/src/main/java/org/jruby/truffle/core/module/ModuleFields.java
  12. +16 −14 truffle/src/main/java/org/jruby/truffle/core/module/ModuleNodes.java
  13. +1 −1 truffle/src/main/java/org/jruby/truffle/core/module/ModuleOperations.java
  14. +9 −12 truffle/src/main/java/org/jruby/truffle/core/numeric/BignumNodes.java
  15. +3 −3 truffle/src/main/java/org/jruby/truffle/core/proc/ProcLayout.java
  16. +15 −5 truffle/src/main/java/org/jruby/truffle/core/proc/ProcNodes.java
  17. +5 −5 truffle/src/main/java/org/jruby/truffle/core/proc/ProcOperations.java
  18. +96 −0 truffle/src/main/java/org/jruby/truffle/core/rubinius/RandomizerPrimitiveNodes.java
  19. +12 −10 truffle/src/main/java/org/jruby/truffle/core/symbol/SymbolNodes.java
  20. +1 −1 truffle/src/main/java/org/jruby/truffle/core/thread/ThreadBacktraceLocationNodes.java
  21. +1 −1 truffle/src/main/java/org/jruby/truffle/core/thread/ThreadManager.java
  22. +4 −4 truffle/src/main/java/org/jruby/truffle/language/CallStackManager.java
  23. +2 −2 truffle/src/main/java/org/jruby/truffle/language/LazyRubyRootNode.java
  24. +10 −10 truffle/src/main/java/org/jruby/truffle/language/RubyRootNode.java
  25. +4 −4 truffle/src/main/java/org/jruby/truffle/language/dispatch/CachedDispatchNode.java
  26. +1 −1 truffle/src/main/java/org/jruby/truffle/language/dispatch/CachedMethodMissingDispatchNode.java
  27. +3 −5 truffle/src/main/java/org/jruby/truffle/language/globals/GlobalVariables.java
  28. +2 −2 truffle/src/main/java/org/jruby/truffle/language/loader/CodeLoader.java
  29. +4 −4 truffle/src/main/java/org/jruby/truffle/language/methods/BlockDefinitionNode.java
  30. +1 −1 truffle/src/main/java/org/jruby/truffle/language/methods/DeclarationContext.java
  31. +16 −16 truffle/src/main/java/org/jruby/truffle/language/methods/InternalMethod.java
  32. +4 −4 truffle/src/main/java/org/jruby/truffle/language/methods/MethodDefinitionNode.java
  33. +5 −5 truffle/src/main/java/org/jruby/truffle/language/methods/ModuleBodyDefinitionNode.java
  34. +117 −0 truffle/src/main/java/org/jruby/truffle/language/methods/NamedSharedMethodInfo.java
  35. +3 −68 truffle/src/main/java/org/jruby/truffle/language/methods/SharedMethodInfo.java
  36. +1 −1 truffle/src/main/java/org/jruby/truffle/language/objects/LookupForExistingModuleNode.java
  37. +1 −1 truffle/src/main/java/org/jruby/truffle/language/objects/shared/SharedObjects.java
  38. +1 −1 truffle/src/main/java/org/jruby/truffle/language/supercall/SuperCallNode.java
  39. +44 −40 truffle/src/main/java/org/jruby/truffle/parser/BodyTranslator.java
  40. +12 −12 truffle/src/main/java/org/jruby/truffle/parser/MethodTranslator.java
  41. +41 −37 truffle/src/main/java/org/jruby/truffle/parser/TranslatorDriver.java
  42. +11 −11 truffle/src/main/java/org/jruby/truffle/parser/TranslatorEnvironment.java
  43. +7 −7 truffle/src/main/java/org/jruby/truffle/tools/callgraph/CallGraph.java
  44. +4 −4 truffle/src/main/java/org/jruby/truffle/tools/callgraph/Method.java
  45. +2 −2 truffle/src/main/java/org/jruby/truffle/tools/callgraph/SimpleWriter.java
  46. +9 −0 truffle/src/main/ruby/core/bignum.rb
  47. +0 −2 truffle/src/main/ruby/core/proc.rb
  48. +9 −1 truffle/src/main/ruby/core/random.rb
4 changes: 2 additions & 2 deletions spec/ruby/core/random/rand_spec.rb
Original file line number Diff line number Diff line change
@@ -96,9 +96,9 @@
end

describe "Random#rand with Bignum" do
it "typically returns a Bignum" do
it "always returns a Bignum" do
rnd = Random.new(1)
10.times.map{ rnd.rand(bignum_value) }.max.should be_an_instance_of(Bignum)
10.times.map{ rnd.rand(bignum_value) }.min.should be_an_instance_of(Bignum)
end

it "returns a Bignum greater than or equal to 0" do
1 change: 0 additions & 1 deletion spec/truffle/tags/core/proc/hash_tags.txt

This file was deleted.

1 change: 0 additions & 1 deletion spec/truffle/tags/core/random/rand_tags.txt

This file was deleted.

5 changes: 5 additions & 0 deletions tool/jt.rb
Original file line number Diff line number Diff line change
@@ -488,6 +488,7 @@ def help
benchmark bench/mri/bm_vm1_not.rb --cache
jt benchmark bench/mri/bm_vm1_not.rb --use-cache
jt where repos ... find these repositories
jt next tell you what to work on next (give you a random core library spec)
you can also put build or rebuild in front of any command
@@ -1291,6 +1292,10 @@ def where(*args)
end
end
end

def next(*args)
puts `cat spec/truffle/tags/core/**/**.txt | grep 'fails:'`.lines.sample
end

def check_ambiguous_arguments
clean
Original file line number Diff line number Diff line change
@@ -41,6 +41,7 @@
import org.jruby.truffle.language.methods.Arity;
import org.jruby.truffle.language.methods.ExceptionTranslatingNode;
import org.jruby.truffle.language.methods.InternalMethod;
import org.jruby.truffle.language.methods.NamedSharedMethodInfo;
import org.jruby.truffle.language.methods.SharedMethodInfo;
import org.jruby.truffle.language.objects.SingletonClassNode;
import org.jruby.truffle.options.Options;
@@ -139,54 +140,55 @@ private void addCoreMethod(DynamicObject module, MethodDetails methodDetails) {
System.err.println("WARNING: Either onSingleton or constructor for " + methodDetails.getIndicativeName());
}

final SharedMethodInfo sharedMethodInfo = makeSharedMethodInfo(context, module, methodDetails);
final CallTarget callTarget = makeGenericMethod(context, methodDetails, sharedMethodInfo);
final NamedSharedMethodInfo namedSharedMethodInfo = makeSharedMethodInfo(context, module, methodDetails);
final CallTarget callTarget = makeGenericMethod(context, methodDetails, namedSharedMethodInfo);

if (method.isModuleFunction()) {
addMethod(context, module, sharedMethodInfo, callTarget, names, Visibility.PRIVATE);
addMethod(context, getSingletonClass(module), sharedMethodInfo, callTarget, names, Visibility.PUBLIC);
addMethod(context, module, namedSharedMethodInfo, callTarget, names, Visibility.PRIVATE);
addMethod(context, getSingletonClass(module), namedSharedMethodInfo, callTarget, names, Visibility.PUBLIC);
} else if (method.onSingleton() || method.constructor()) {
addMethod(context, getSingletonClass(module), sharedMethodInfo, callTarget, names, visibility);
addMethod(context, getSingletonClass(module), namedSharedMethodInfo, callTarget, names, visibility);
} else {
addMethod(context, module, sharedMethodInfo, callTarget, names, visibility);
addMethod(context, module, namedSharedMethodInfo, callTarget, names, visibility);
}
}

private static void addMethod(RubyContext context, DynamicObject module, SharedMethodInfo sharedMethodInfo, CallTarget callTarget, String[] names, Visibility originalVisibility) {
private static void addMethod(RubyContext context, DynamicObject module, NamedSharedMethodInfo namedSharedMethodInfo, CallTarget callTarget, String[] names, Visibility originalVisibility) {
assert RubyGuards.isRubyModule(module);

for (String name : names) {
Visibility visibility = originalVisibility;
if (ModuleOperations.isMethodPrivateFromName(name)) {
visibility = Visibility.PRIVATE;
}
final InternalMethod method = new InternalMethod(context, sharedMethodInfo, sharedMethodInfo.getLexicalScope(), name, module, visibility, callTarget);
final InternalMethod method = new InternalMethod(context, namedSharedMethodInfo, namedSharedMethodInfo.getLexicalScope(), name, module, visibility, callTarget);

Layouts.MODULE.getFields(module).addMethod(context, null, method);
}
}

private static SharedMethodInfo makeSharedMethodInfo(RubyContext context, DynamicObject module, MethodDetails methodDetails) {
private static NamedSharedMethodInfo makeSharedMethodInfo(RubyContext context, DynamicObject module, MethodDetails methodDetails) {
final CoreMethod method = methodDetails.getMethodAnnotation();
final LexicalScope lexicalScope = new LexicalScope(context.getRootLexicalScope(), module);

return new SharedMethodInfo(
context.getCoreLibrary().getSourceSection(),
lexicalScope,
new Arity(method.required(), method.optional(), method.rest()),
module,
return new NamedSharedMethodInfo(
new SharedMethodInfo(
context.getCoreLibrary().getSourceSection(),
lexicalScope,
new Arity(method.required(), method.optional(), method.rest()),
module,
null,
context.getOptions().CORE_ALWAYS_CLONE,
method.needsCallerFrame() && context.getOptions().INLINE_NEEDS_CALLER_FRAME,
method.needsCallerFrame()),
methodDetails.getPrimaryName(),
"builtin",
null,
context.getOptions().CORE_ALWAYS_CLONE,
method.needsCallerFrame() && context.getOptions().INLINE_NEEDS_CALLER_FRAME,
method.needsCallerFrame());
"builtin");
}

private static CallTarget makeGenericMethod(RubyContext context, MethodDetails methodDetails, SharedMethodInfo sharedMethodInfo) {
private static CallTarget makeGenericMethod(RubyContext context, MethodDetails methodDetails, NamedSharedMethodInfo namedSharedMethodInfo) {
final CoreMethod method = methodDetails.getMethodAnnotation();

final SourceSection sourceSection = sharedMethodInfo.getSourceSection();
final SourceSection sourceSection = namedSharedMethodInfo.getSourceSection();
final RubySourceSection rubySourceSection = new RubySourceSection(sourceSection);

final RubyNode methodNode = createCoreMethodNode(context, sourceSection, methodDetails.getNodeFactory(), method);
@@ -195,7 +197,7 @@ private static CallTarget makeGenericMethod(RubyContext context, MethodDetails m
AmbiguousOptionalArgumentChecker.verifyNoAmbiguousOptionalArguments(methodDetails);
}

final RubyNode checkArity = Translator.createCheckArityNode(context, sourceSection.getSource(), rubySourceSection, sharedMethodInfo.getArity());
final RubyNode checkArity = Translator.createCheckArityNode(context, sourceSection.getSource(), rubySourceSection, namedSharedMethodInfo.getArity());

RubyNode node;
if (!isSafe(context, method.unsafe())) {
@@ -211,7 +213,7 @@ private static CallTarget makeGenericMethod(RubyContext context, MethodDetails m
bodyNode = ChaosNodeGen.create(bodyNode);
}

final RubyRootNode rootNode = new RubyRootNode(context, sourceSection, null, sharedMethodInfo, bodyNode, false);
final RubyRootNode rootNode = new RubyRootNode(context, sourceSection, null, namedSharedMethodInfo, bodyNode, false);

return Truffle.getRuntime().createCallTarget(rootNode);
}
6 changes: 3 additions & 3 deletions truffle/src/main/java/org/jruby/truffle/core/CoreLibrary.java
Original file line number Diff line number Diff line change
@@ -118,7 +118,7 @@
import org.jruby.truffle.language.loader.SourceLoader;
import org.jruby.truffle.language.methods.DeclarationContext;
import org.jruby.truffle.language.methods.InternalMethod;
import org.jruby.truffle.language.methods.SharedMethodInfo;
import org.jruby.truffle.language.methods.NamedSharedMethodInfo;
import org.jruby.truffle.language.objects.FreezeNode;
import org.jruby.truffle.language.objects.FreezeNodeGen;
import org.jruby.truffle.language.objects.SingletonClassNode;
@@ -1522,8 +1522,8 @@ public boolean isSend(InternalMethod method) {
return callTarget == basicObjectSendMethod.getCallTarget();
}

public boolean isTruffleBootMainMethod(SharedMethodInfo info) {
return info == truffleBootMainMethod.getSharedMethodInfo();
public boolean isTruffleBootMainMethod(NamedSharedMethodInfo info) {
return info == truffleBootMainMethod.getNamedSharedMethodInfo();
}

public DynamicObjectFactory getIntRangeFactory() {
Original file line number Diff line number Diff line change
@@ -69,7 +69,7 @@ private static DynamicObject createFiber(RubyContext context, DynamicObject thre
}

public static void initialize(final RubyContext context, final DynamicObject fiber, final DynamicObject block, final Node currentNode) {
final SourceSection sourceSection = Layouts.PROC.getSharedMethodInfo(block).getSourceSection();
final SourceSection sourceSection = Layouts.PROC.getNamedSharedMethodInfo(block).getSourceSection();
final String name = "Ruby Fiber@" + RubyLanguage.fileLine(sourceSection);
final Thread thread = new Thread(() -> handleFiberExceptions(context, fiber, block, currentNode));
thread.setName(name);
Original file line number Diff line number Diff line change
@@ -114,7 +114,7 @@
import org.jruby.truffle.language.methods.InternalMethod;
import org.jruby.truffle.language.methods.LookupMethodNode;
import org.jruby.truffle.language.methods.LookupMethodNodeGen;
import org.jruby.truffle.language.methods.SharedMethodInfo;
import org.jruby.truffle.language.methods.NamedSharedMethodInfo;
import org.jruby.truffle.language.objects.FreezeNode;
import org.jruby.truffle.language.objects.FreezeNodeGen;
import org.jruby.truffle.language.objects.IsANode;
@@ -625,9 +625,9 @@ public Object evalNoBindingCached(

final InternalMethod method = new InternalMethod(
getContext(),
cachedRootNode.getRootNode().getSharedMethodInfo(),
cachedRootNode.getRootNode().getNamedSharedMethodInfo(),
RubyArguments.getMethod(parentFrame).getLexicalScope(),
cachedRootNode.getRootNode().getSharedMethodInfo().getName(),
cachedRootNode.getRootNode().getNamedSharedMethodInfo().getName(),
RubyArguments.getMethod(parentFrame).getDeclaringModule(),
Visibility.PUBLIC,
cachedCallTarget);
@@ -1184,7 +1184,7 @@ public DynamicObject lambda(DynamicObject block) {
return ProcOperations.createRubyProc(
coreLibrary().getProcFactory(),
ProcType.LAMBDA,
Layouts.PROC.getSharedMethodInfo(block),
Layouts.PROC.getNamedSharedMethodInfo(block),
Layouts.PROC.getCallTargetForLambdas(block),
Layouts.PROC.getCallTargetForLambdas(block),
Layouts.PROC.getDeclarationFrame(block),
@@ -1212,7 +1212,7 @@ public abstract static class MethodNameNode extends CoreMethodArrayArgumentsNode
@Specialization
public DynamicObject methodName() {
// the "original/definition name" of the method.
return getSymbol(getContext().getCallStack().getCallingMethodIgnoringSend().getSharedMethodInfo().getName());
return getSymbol(getContext().getCallStack().getCallingMethodIgnoringSend().getNamedSharedMethodInfo().getName());
}

}
@@ -1261,7 +1261,7 @@ public DynamicObject method(VirtualFrame frame, Object self, DynamicObject name,

@TruffleBoundary
private InternalMethod createMissingMethod(Object self, DynamicObject name, String normalizedName, InternalMethod methodMissing) {
final SharedMethodInfo info = methodMissing.getSharedMethodInfo().withName(normalizedName);
final NamedSharedMethodInfo info = methodMissing.getNamedSharedMethodInfo().withName(normalizedName);

final RubyNode newBody = new CallMethodMissingWithStaticName(getContext(), info.getSourceSection(), name);
final RubyRootNode newRootNode = new RubyRootNode(getContext(), info.getSourceSection(), new FrameDescriptor(nil()), info, newBody, false);
Original file line number Diff line number Diff line change
@@ -69,7 +69,7 @@ public abstract static class ArityNode extends CoreMethodArrayArgumentsNode {

@Specialization
public int arity(DynamicObject method) {
return Layouts.METHOD.getMethod(method).getSharedMethodInfo().getArity().getArityNumber();
return Layouts.METHOD.getMethod(method).getNamedSharedMethodInfo().getArity().getArityNumber();
}

}
@@ -110,7 +110,7 @@ public long hash(DynamicObject rubyMethod) {
final InternalMethod method = Layouts.METHOD.getMethod(rubyMethod);
long h = Hashing.start(method.getDeclaringModule().hashCode());
h = Hashing.update(h, Layouts.METHOD.getReceiver(rubyMethod).hashCode());
h = Hashing.update(h, method.getSharedMethodInfo().hashCode());
h = Hashing.update(h, method.getNamedSharedMethodInfo().hashCode());
return Hashing.end(h);
}

@@ -132,7 +132,7 @@ public abstract static class ParametersNode extends CoreMethodArrayArgumentsNode
@TruffleBoundary
@Specialization
public DynamicObject parameters(DynamicObject method) {
final ArgumentDescriptor[] argsDesc = Layouts.METHOD.getMethod(method).getSharedMethodInfo().getArgumentDescriptors();
final ArgumentDescriptor[] argsDesc = Layouts.METHOD.getMethod(method).getNamedSharedMethodInfo().getArgumentDescriptors();

return ArgumentDescriptorUtils.argumentDescriptorsToParameters(getContext(), argsDesc, true);
}
@@ -155,7 +155,7 @@ public abstract static class SourceLocationNode extends CoreMethodArrayArguments
@TruffleBoundary
@Specialization
public Object sourceLocation(DynamicObject method) {
SourceSection sourceSection = Layouts.METHOD.getMethod(method).getSharedMethodInfo().getSourceSection();
SourceSection sourceSection = Layouts.METHOD.getMethod(method).getNamedSharedMethodInfo().getSourceSection();

if (sourceSection.getSource() == null) {
return nil();
@@ -204,7 +204,7 @@ public DynamicObject toProcUncached(DynamicObject methodObject) {
return ProcOperations.createRubyProc(
coreLibrary().getProcFactory(),
ProcType.LAMBDA,
method.getSharedMethodInfo(),
method.getNamedSharedMethodInfo(),
callTarget,
callTarget,
null,
@@ -220,11 +220,11 @@ protected CallTarget method2proc(DynamicObject methodObject) {
// We need to preserve the method receiver and we want to have the same argument list

final InternalMethod method = Layouts.METHOD.getMethod(methodObject);
final SourceSection sourceSection = method.getSharedMethodInfo().getSourceSection();
final SourceSection sourceSection = method.getNamedSharedMethodInfo().getSourceSection();
final RootNode oldRootNode = ((RootCallTarget) method.getCallTarget()).getRootNode();

final SetReceiverNode setReceiverNode = new SetReceiverNode(getContext(), sourceSection, Layouts.METHOD.getReceiver(methodObject), method.getCallTarget());
final RootNode newRootNode = new RubyRootNode(getContext(), sourceSection, oldRootNode.getFrameDescriptor(), method.getSharedMethodInfo(), setReceiverNode, false);
final RootNode newRootNode = new RubyRootNode(getContext(), sourceSection, oldRootNode.getFrameDescriptor(), method.getNamedSharedMethodInfo(), setReceiverNode, false);
return Truffle.getRuntime().createCallTarget(newRootNode);
}

Original file line number Diff line number Diff line change
@@ -58,7 +58,7 @@ public abstract static class ArityNode extends CoreMethodArrayArgumentsNode {

@Specialization
public int arity(DynamicObject method) {
return Layouts.UNBOUND_METHOD.getMethod(method).getSharedMethodInfo().getArity().getArityNumber();
return Layouts.UNBOUND_METHOD.getMethod(method).getNamedSharedMethodInfo().getArity().getArityNumber();
}

}
@@ -110,7 +110,7 @@ public long hash(DynamicObject rubyMethod) {
final InternalMethod method = Layouts.UNBOUND_METHOD.getMethod(rubyMethod);
long h = Hashing.start(method.getDeclaringModule().hashCode());
h = Hashing.update(h, Layouts.UNBOUND_METHOD.getOrigin(rubyMethod).hashCode());
h = Hashing.update(h, method.getSharedMethodInfo().hashCode());
h = Hashing.update(h, method.getNamedSharedMethodInfo().hashCode());
return Hashing.end(h);
}

@@ -153,7 +153,7 @@ public abstract static class ParametersNode extends CoreMethodArrayArgumentsNode
@TruffleBoundary
@Specialization
public DynamicObject parameters(DynamicObject method) {
final ArgumentDescriptor[] argsDesc = Layouts.UNBOUND_METHOD.getMethod(method).getSharedMethodInfo().getArgumentDescriptors();
final ArgumentDescriptor[] argsDesc = Layouts.UNBOUND_METHOD.getMethod(method).getNamedSharedMethodInfo().getArgumentDescriptors();

return ArgumentDescriptorUtils.argumentDescriptorsToParameters(getContext(), argsDesc, true);
}
@@ -166,7 +166,7 @@ public abstract static class SourceLocationNode extends CoreMethodArrayArguments
@TruffleBoundary
@Specialization
public Object sourceLocation(DynamicObject unboundMethod) {
SourceSection sourceSection = Layouts.UNBOUND_METHOD.getMethod(unboundMethod).getSharedMethodInfo().getSourceSection();
SourceSection sourceSection = Layouts.UNBOUND_METHOD.getMethod(unboundMethod).getNamedSharedMethodInfo().getSourceSection();

if (sourceSection.getSource() == null) {
return nil();
Original file line number Diff line number Diff line change
@@ -347,7 +347,7 @@ public void addMethod(RubyContext context, Node currentNode, InternalMethod meth
if (context.getCoreLibrary().isLoadingRubyCore()) {
final InternalMethod currentMethod = methods.get(method.getName());

if (currentMethod != null && currentMethod.getSharedMethodInfo().getSourceSection().getSource() == null) {
if (currentMethod != null && currentMethod.getNamedSharedMethodInfo().getSourceSection().getSource() == null) {
return;
}
}
Loading